feat: add config module with controller and service

- Implemented ConfigController for handling config-related requests.
- Created ConfigService for business logic related to configurations.
- Added CreateConfigDto for validating configuration data.

feat: add good categories module with controller and service

- Implemented GoodCategoriesController for managing good categories.
- Created GoodCategoriesService for business logic related to good categories.
- Added CreateGoodCategoryDto for validating good category data.

feat: add goods module with controller and service

- Implemented GoodsController for managing goods.
- Created GoodsService for business logic related to goods.
- Added CreateGoodDto for validating good data.

feat: add profile module with controller and service

- Implemented ProfileController for managing user profiles.
- Created ProfileService for business logic related to profiles.
- Added CreateProfileDto for profile data structure.

feat: add sales invoice payments module with controller and service

- Implemented SalesInvoicePaymentsController for managing invoice payments.
- Created SalesInvoicePaymentsService for business logic related to payments.
- Added CreateSalesInvoicePaymentDto for validating payment data.

feat: add service categories module with controller and service

- Implemented ServiceCategoriesController for managing service categories.
- Created ServiceCategoriesService for business logic related to service categories.
- Added CreateServiceCategoryDto for validating service category data.

feat: add services module with controller and service

- Implemented ServicesController for managing services.
- Created ServicesService for business logic related to services.
- Added CreateServiceDto for validating service data.

feat: add trigger logs module with controller and service

- Implemented TriggerLogsController for managing trigger logs.
- Created TriggerLogsService for business logic related to trigger logs.
- Added CreateTriggerLogDto for validating trigger log data.

feat: add uploaders module for handling file uploads

- Implemented UploadersController for managing file uploads.
- Created ImageUploaderService for image upload logic.
- Created UploaderService for file handling and storage.
This commit is contained in:
2026-02-12 20:31:04 +03:30
parent de14d531e1
commit a073af76fe
116 changed files with 6108 additions and 3977 deletions
+24 -24
View File
@@ -28,34 +28,34 @@ function makePermissionsFor(moduleName: string) {
}
async function main() {
const srcDir = path.resolve(__dirname, '..', 'src')
const moduleFiles = findModules(srcDir)
const modules = moduleFiles.map(moduleNameFromFile)
// const srcDir = path.resolve(__dirname, '..', 'src')
// const moduleFiles = findModules(srcDir)
// const modules = moduleFiles.map(moduleNameFromFile)
const permsMap: Record<string, boolean> = {}
for (const m of modules) {
for (const p of makePermissionsFor(m)) permsMap[p] = false
}
// const permsMap: Record<string, boolean> = {}
// for (const m of modules) {
// for (const p of makePermissionsFor(m)) permsMap[p] = false
// }
// Upsert roles: ensure admin has full permissions, others get entries added
const roles = await prisma.role.findMany()
for (const r of roles) {
const current: Record<string, any> = (r.permissions as any) || {}
const merged = { ...permsMap, ...current }
// // Upsert roles: ensure admin has full permissions, others get entries added
// const roles = await prisma.role.findMany()
// for (const r of roles) {
// const current: Record<string, any> = (r.permissions as any) || {}
// const merged = { ...permsMap, ...current }
// If role name is admin (case-insensitive), set all permissions to true
if (r.name && r.name.toLowerCase() === 'admin') {
for (const key of Object.keys(merged)) merged[key] = true
} else {
// keep existing truthy values, otherwise false
for (const key of Object.keys(merged)) merged[key] = merged[key] || false
}
// // If role name is admin (case-insensitive), set all permissions to true
// if (r.name && r.name.toLowerCase() === 'admin') {
// for (const key of Object.keys(merged)) merged[key] = true
// } else {
// // keep existing truthy values, otherwise false
// for (const key of Object.keys(merged)) merged[key] = merged[key] || false
// }
await prisma.role.update({ where: { id: r.id }, data: { permissions: merged } })
console.log(
`Updated role ${r.name} (id=${r.id}) with ${Object.keys(merged).length} permissions`,
)
}
// await prisma.role.update({ where: { id: r.id }, data: { permissions: merged } })
// console.log(
// `Updated role ${r.name} (id=${r.id}) with ${Object.keys(merged).length} permissions`,
// )
// }
await prisma.$disconnect()
}