index.ts 964 B

123456789101112131415161718192021222324252627
  1. import { createCrudRoutes } from '@/server/utils/generic-crud.routes';
  2. import { Hetong } from '@/server/modules/contracts/hetong.entity';
  3. import { HetongSchema, CreateHetongDto, UpdateHetongDto } from '@/server/modules/contracts/hetong.entity';
  4. import { authMiddleware } from '@/server/middleware/auth.middleware';
  5. const hetongRoutes = createCrudRoutes({
  6. entity: Hetong,
  7. createSchema: CreateHetongDto,
  8. updateSchema: UpdateHetongDto,
  9. getSchema: HetongSchema,
  10. listSchema: HetongSchema,
  11. relations: ['client'],
  12. searchFields: ['contractNumber', 'clientId', 'status'],
  13. middleware: [authMiddleware],
  14. permissions: {
  15. create: ['contract:create'],
  16. read: ['contract:view:own', 'contract:view:department', 'contract:view:sub_department', 'contract:view:all'],
  17. update: ['contract:update'],
  18. delete: ['contract:delete']
  19. },
  20. userTracking: {
  21. createdByField: 'createdBy',
  22. updatedByField: 'updatedBy'
  23. }
  24. });
  25. export default hetongRoutes;