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:
@@ -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()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user