@90soft/parse-server-kit 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/decorators/cloudDecorator.d.ts +7 -0
  2. package/dist/decorators/cloudDecorator.d.ts.map +1 -0
  3. package/dist/decorators/cloudDecorator.js +77 -0
  4. package/dist/decorators/cloudDecorator.js.map +1 -0
  5. package/dist/decorators/cloudRegistry.d.ts +9 -0
  6. package/dist/decorators/cloudRegistry.d.ts.map +1 -0
  7. package/dist/decorators/cloudRegistry.js +26 -0
  8. package/dist/decorators/cloudRegistry.js.map +1 -0
  9. package/dist/decorators/cronDecorator.d.ts +6 -0
  10. package/dist/decorators/cronDecorator.d.ts.map +1 -0
  11. package/dist/decorators/cronDecorator.js +28 -0
  12. package/dist/decorators/cronDecorator.js.map +1 -0
  13. package/dist/decorators/cronRegistry.d.ts +13 -0
  14. package/dist/decorators/cronRegistry.d.ts.map +1 -0
  15. package/dist/decorators/cronRegistry.js +96 -0
  16. package/dist/decorators/cronRegistry.js.map +1 -0
  17. package/dist/decorators/routeDecorator.d.ts +35 -0
  18. package/dist/decorators/routeDecorator.d.ts.map +1 -0
  19. package/dist/decorators/routeDecorator.js +160 -0
  20. package/dist/decorators/routeDecorator.js.map +1 -0
  21. package/dist/decorators/triggerDecorator.d.ts +19 -0
  22. package/dist/decorators/triggerDecorator.d.ts.map +1 -0
  23. package/dist/decorators/triggerDecorator.js +45 -0
  24. package/dist/decorators/triggerDecorator.js.map +1 -0
  25. package/dist/decorators/triggerRegistry.d.ts +10 -0
  26. package/dist/decorators/triggerRegistry.d.ts.map +1 -0
  27. package/dist/decorators/triggerRegistry.js +87 -0
  28. package/dist/decorators/triggerRegistry.js.map +1 -0
  29. package/dist/decorators/types/cloudTypes.d.ts +32 -0
  30. package/dist/decorators/types/cloudTypes.d.ts.map +1 -0
  31. package/dist/decorators/types/cloudTypes.js +3 -0
  32. package/dist/decorators/types/cloudTypes.js.map +1 -0
  33. package/dist/decorators/types/common.d.ts +14 -0
  34. package/dist/decorators/types/common.d.ts.map +1 -0
  35. package/dist/decorators/types/common.js +3 -0
  36. package/dist/decorators/types/common.js.map +1 -0
  37. package/dist/decorators/types/cronTypes.d.ts +32 -0
  38. package/dist/decorators/types/cronTypes.d.ts.map +1 -0
  39. package/dist/decorators/types/cronTypes.js +21 -0
  40. package/dist/decorators/types/cronTypes.js.map +1 -0
  41. package/dist/decorators/types/fieldValidation.d.ts +36 -0
  42. package/dist/decorators/types/fieldValidation.d.ts.map +1 -0
  43. package/dist/decorators/types/fieldValidation.js +135 -0
  44. package/dist/decorators/types/fieldValidation.js.map +1 -0
  45. package/dist/decorators/types/triggerTypes.d.ts +14 -0
  46. package/dist/decorators/types/triggerTypes.d.ts.map +1 -0
  47. package/dist/decorators/types/triggerTypes.js +3 -0
  48. package/dist/decorators/types/triggerTypes.js.map +1 -0
  49. package/dist/index.d.ts +25 -4
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +78 -6
  52. package/dist/index.js.map +1 -1
  53. package/dist/middleware/middleware.d.ts +36 -0
  54. package/dist/middleware/middleware.d.ts.map +1 -0
  55. package/dist/middleware/middleware.js +133 -0
  56. package/dist/middleware/middleware.js.map +1 -0
  57. package/dist/swagger/index.d.ts +9 -0
  58. package/dist/swagger/index.d.ts.map +1 -0
  59. package/dist/swagger/index.js +37 -0
  60. package/dist/swagger/index.js.map +1 -0
  61. package/dist/swagger/swaggerRegistry.d.ts +79 -0
  62. package/dist/swagger/swaggerRegistry.d.ts.map +1 -0
  63. package/dist/swagger/swaggerRegistry.js +115 -0
  64. package/dist/swagger/swaggerRegistry.js.map +1 -0
  65. package/dist/swagger/swaggerSpec.d.ts +69 -0
  66. package/dist/swagger/swaggerSpec.d.ts.map +1 -0
  67. package/dist/swagger/swaggerSpec.js +174 -0
  68. package/dist/swagger/swaggerSpec.js.map +1 -0
  69. package/dist/utils/ACL.d.ts +19 -0
  70. package/dist/utils/ACL.d.ts.map +1 -0
  71. package/dist/utils/ACL.js +35 -0
  72. package/dist/utils/ACL.js.map +1 -0
  73. package/dist/utils/constants.d.ts +13 -0
  74. package/dist/utils/constants.d.ts.map +1 -0
  75. package/dist/utils/constants.js +19 -0
  76. package/dist/utils/constants.js.map +1 -0
  77. package/dist/utils/dynamicImport.d.ts +2 -0
  78. package/dist/utils/dynamicImport.d.ts.map +1 -0
  79. package/dist/utils/dynamicImport.js +21 -0
  80. package/dist/utils/dynamicImport.js.map +1 -0
  81. package/dist/utils/helper.d.ts +15 -0
  82. package/dist/utils/helper.d.ts.map +1 -0
  83. package/dist/utils/helper.js +93 -0
  84. package/dist/utils/helper.js.map +1 -0
  85. package/package.json +21 -5
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TriggerRegistry = void 0;
4
+ class TriggerRegistry {
5
+ static getKey(className, type) {
6
+ return `${className}:${type}`;
7
+ }
8
+ static register(metadata) {
9
+ const key = this.getKey(metadata.className, metadata.type);
10
+ if (this.triggers.has(key)) {
11
+ console.warn(`[Triggers] Warning: Overwriting existing ${metadata.type} trigger for ${metadata.className}`);
12
+ }
13
+ this.triggers.set(key, metadata);
14
+ }
15
+ static getTriggers() {
16
+ return Array.from(this.triggers.values());
17
+ }
18
+ static getTriggersForClass(className) {
19
+ return this.getTriggers().filter(t => t.className === className);
20
+ }
21
+ static initialize() {
22
+ const triggers = this.getTriggers();
23
+ if (triggers.length === 0) {
24
+ console.log('[Triggers] No triggers to register');
25
+ return;
26
+ }
27
+ console.log(`[Triggers] Registering ${triggers.length} trigger(s)...`);
28
+ for (const metadata of triggers) {
29
+ const { type, className, handler, validation } = metadata;
30
+ switch (type) {
31
+ case 'beforeSave':
32
+ Parse.Cloud.beforeSave(className, handler, validation);
33
+ break;
34
+ case 'afterSave':
35
+ Parse.Cloud.afterSave(className, handler, validation);
36
+ break;
37
+ case 'beforeDelete':
38
+ Parse.Cloud.beforeDelete(className, handler, validation);
39
+ break;
40
+ case 'afterDelete':
41
+ Parse.Cloud.afterDelete(className, handler, validation);
42
+ break;
43
+ case 'beforeFind':
44
+ Parse.Cloud.beforeFind(className, handler, validation);
45
+ break;
46
+ case 'afterFind':
47
+ Parse.Cloud.afterFind(className, handler, validation);
48
+ break;
49
+ case 'beforeLogin':
50
+ Parse.Cloud.beforeLogin(handler);
51
+ break;
52
+ case 'afterLogin':
53
+ Parse.Cloud.afterLogin(handler, validation);
54
+ break;
55
+ case 'afterLogout':
56
+ Parse.Cloud.afterLogout(handler, validation);
57
+ break;
58
+ case 'beforeSaveFile':
59
+ Parse.Cloud.beforeSaveFile(handler, validation);
60
+ break;
61
+ case 'afterSaveFile':
62
+ Parse.Cloud.afterSaveFile(handler, validation);
63
+ break;
64
+ case 'beforeDeleteFile':
65
+ Parse.Cloud.beforeDeleteFile(handler, validation);
66
+ break;
67
+ case 'afterDeleteFile':
68
+ Parse.Cloud.afterDeleteFile(handler, validation);
69
+ break;
70
+ case 'beforeConnect':
71
+ Parse.Cloud.beforeConnect(handler, validation);
72
+ break;
73
+ case 'beforeSubscribe':
74
+ Parse.Cloud.beforeSubscribe(className, handler, validation);
75
+ break;
76
+ case 'afterEvent':
77
+ Parse.Cloud.afterLiveQueryEvent(className, handler, validation);
78
+ break;
79
+ }
80
+ console.log(`[Triggers] Registered ${type} for: ${className}`);
81
+ }
82
+ console.log('[Triggers] All triggers registered');
83
+ }
84
+ }
85
+ exports.TriggerRegistry = TriggerRegistry;
86
+ TriggerRegistry.triggers = new Map();
87
+ //# sourceMappingURL=triggerRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggerRegistry.js","sourceRoot":"","sources":["../../src/decorators/triggerRegistry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
2
+ export interface SwaggerDocConfig {
3
+ summary?: string;
4
+ description?: string;
5
+ tags?: string[];
6
+ deprecated?: boolean;
7
+ responses?: Record<string, {
8
+ description: string;
9
+ schema?: any;
10
+ }>;
11
+ }
12
+ export interface RouteConfig {
13
+ methods: HttpMethod[];
14
+ requiresAuth?: boolean;
15
+ rateLimit?: {
16
+ windowMs: number;
17
+ max: number;
18
+ };
19
+ validation?: Parse.Cloud.Validator;
20
+ description?: string;
21
+ requireRoles?: string[];
22
+ requireAllRoles?: boolean;
23
+ customErrorMessage?: string;
24
+ swagger?: SwaggerDocConfig;
25
+ }
26
+ export interface CloudFunctionMetadata {
27
+ name: string;
28
+ config: RouteConfig;
29
+ handler: (request: Parse.Cloud.FunctionRequest) => Promise<any> | any;
30
+ routePrefix?: string;
31
+ }
32
+ //# sourceMappingURL=cloudTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudTypes.d.ts","sourceRoot":"","sources":["../../../src/decorators/types/cloudTypes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;CACnE;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,UAAU,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=cloudTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudTypes.js","sourceRoot":"","sources":["../../../src/decorators/types/cloudTypes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ export interface AuthRole {
2
+ id: string;
3
+ name: string;
4
+ }
5
+ export interface MultiLangs {
6
+ ar?: string;
7
+ en?: string;
8
+ }
9
+ export interface Filter {
10
+ key: string;
11
+ value: string | number | string[];
12
+ type: 'string' | 'min' | 'max' | 'array' | 'text' | 'dropdown';
13
+ }
14
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/decorators/types/common.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;IAClC,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;CAChE"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/decorators/types/common.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ export interface CronJobMetadata {
2
+ name: string;
3
+ schedule: string;
4
+ handler: () => Promise<void> | void;
5
+ description?: string;
6
+ enabled?: boolean;
7
+ timezone?: string;
8
+ }
9
+ export interface CronConfig {
10
+ schedule: string;
11
+ description?: string;
12
+ enabled?: boolean;
13
+ timezone?: string;
14
+ }
15
+ export declare const CronSchedule: {
16
+ readonly EVERY_MINUTE: "* * * * *";
17
+ readonly EVERY_5_MINUTES: "*/5 * * * *";
18
+ readonly EVERY_10_MINUTES: "*/10 * * * *";
19
+ readonly EVERY_15_MINUTES: "*/15 * * * *";
20
+ readonly EVERY_30_MINUTES: "*/30 * * * *";
21
+ readonly EVERY_HOUR: "0 * * * *";
22
+ readonly EVERY_2_HOURS: "0 */2 * * *";
23
+ readonly EVERY_6_HOURS: "0 */6 * * *";
24
+ readonly EVERY_12_HOURS: "0 */12 * * *";
25
+ readonly DAILY_MIDNIGHT: "0 0 * * *";
26
+ readonly DAILY_NOON: "0 12 * * *";
27
+ readonly WEEKLY_SUNDAY: "0 0 * * 0";
28
+ readonly WEEKLY_MONDAY: "0 0 * * 1";
29
+ readonly MONTHLY_FIRST: "0 0 1 * *";
30
+ readonly YEARLY: "0 0 1 1 *";
31
+ };
32
+ //# sourceMappingURL=cronTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cronTypes.d.ts","sourceRoot":"","sources":["../../../src/decorators/types/cronTypes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;CAgBf,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CronSchedule = void 0;
4
+ exports.CronSchedule = {
5
+ EVERY_MINUTE: '* * * * *',
6
+ EVERY_5_MINUTES: '*/5 * * * *',
7
+ EVERY_10_MINUTES: '*/10 * * * *',
8
+ EVERY_15_MINUTES: '*/15 * * * *',
9
+ EVERY_30_MINUTES: '*/30 * * * *',
10
+ EVERY_HOUR: '0 * * * *',
11
+ EVERY_2_HOURS: '0 */2 * * *',
12
+ EVERY_6_HOURS: '0 */6 * * *',
13
+ EVERY_12_HOURS: '0 */12 * * *',
14
+ DAILY_MIDNIGHT: '0 0 * * *',
15
+ DAILY_NOON: '0 12 * * *',
16
+ WEEKLY_SUNDAY: '0 0 * * 0',
17
+ WEEKLY_MONDAY: '0 0 * * 1',
18
+ MONTHLY_FIRST: '0 0 1 * *',
19
+ YEARLY: '0 0 1 1 *',
20
+ };
21
+ //# sourceMappingURL=cronTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cronTypes.js","sourceRoot":"","sources":["../../../src/decorators/types/cronTypes.ts"],"names":[],"mappings":";;;AAgBa,QAAA,YAAY,GAAG;IAC1B,YAAY,EAAE,WAAW;IACzB,eAAe,EAAE,aAAa;IAC9B,gBAAgB,EAAE,cAAc;IAChC,gBAAgB,EAAE,cAAc;IAChC,gBAAgB,EAAE,cAAc;IAChC,UAAU,EAAE,WAAW;IACvB,aAAa,EAAE,aAAa;IAC5B,aAAa,EAAE,aAAa;IAC5B,cAAc,EAAE,cAAc;IAC9B,cAAc,EAAE,WAAW;IAC3B,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,WAAW;IAC1B,aAAa,EAAE,WAAW;IAC1B,aAAa,EAAE,WAAW;IAC1B,MAAM,EAAE,WAAW;CACX,CAAC"}
@@ -0,0 +1,36 @@
1
+ import 'reflect-metadata';
2
+ interface MongoDBValidatorProperty {
3
+ bsonType?: string | string[];
4
+ minimum?: number;
5
+ maximum?: number;
6
+ minLength?: number;
7
+ maxLength?: number;
8
+ enum?: (string | null)[];
9
+ pattern?: string;
10
+ description?: string;
11
+ }
12
+ interface MongoDBValidator {
13
+ $jsonSchema: {
14
+ bsonType: 'object';
15
+ properties: Record<string, MongoDBValidatorProperty>;
16
+ };
17
+ }
18
+ interface ValidationInfo {
19
+ className: string;
20
+ validator: MongoDBValidator;
21
+ }
22
+ interface ValidationError {
23
+ field: string;
24
+ message: string;
25
+ value?: any;
26
+ }
27
+ interface ValidationResult {
28
+ valid: boolean;
29
+ errors: ValidationError[];
30
+ }
31
+ export declare function validateObject(object: Parse.Object): ValidationResult;
32
+ export declare function validateOrThrow(object: Parse.Object): void;
33
+ export declare function getValidators(): ValidationInfo[];
34
+ export declare function applyMongoValidators(parseServerInstance?: any): Promise<void>;
35
+ export {};
36
+ //# sourceMappingURL=fieldValidation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldValidation.d.ts","sourceRoot":"","sources":["../../../src/decorators/types/fieldValidation.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAe1B,UAAU,wBAAwB;IAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,gBAAgB;IACxB,WAAW,EAAE;QACX,QAAQ,EAAE,QAAQ,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;KACtD,CAAC;CACH;AAED,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,gBAAgB,CAAC;CAC7B;AAED,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,gBAAgB,CA+CrE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAM1D;AAoCD,wBAAgB,aAAa,IAAI,cAAc,EAAE,CAOhD;AAED,wBAAsB,oBAAoB,CAAC,mBAAmB,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCnF"}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateObject = validateObject;
4
+ exports.validateOrThrow = validateOrThrow;
5
+ exports.getValidators = getValidators;
6
+ exports.applyMongoValidators = applyMongoValidators;
7
+ require("reflect-metadata");
8
+ const schemaTypes_1 = require("./schemaTypes");
9
+ const helper_1 = require("../../utils/helper");
10
+ function validateObject(object) {
11
+ const className = object.className;
12
+ const classConstructor = Parse.Object.extend(className);
13
+ const fields = Reflect.getMetadata('parse:fields', classConstructor) || {};
14
+ const errors = [];
15
+ for (const [fieldName, meta] of Object.entries(fields)) {
16
+ const value = object.get(fieldName);
17
+ if (value === null || value === undefined) {
18
+ if (meta.required) {
19
+ errors.push({ field: fieldName, message: `Field '${fieldName}' is required` });
20
+ }
21
+ continue;
22
+ }
23
+ if (meta.type === 'Number' && typeof value === 'number') {
24
+ if (meta.min !== undefined && value < meta.min) {
25
+ errors.push({ field: fieldName, message: `Field '${fieldName}' must be at least ${meta.min}, got ${value}`, value });
26
+ }
27
+ if (meta.max !== undefined && value > meta.max) {
28
+ errors.push({ field: fieldName, message: `Field '${fieldName}' must be at most ${meta.max}, got ${value}`, value });
29
+ }
30
+ }
31
+ if (meta.type === 'String' && typeof value === 'string') {
32
+ if (meta.minLength !== undefined && value.length < meta.minLength) {
33
+ errors.push({ field: fieldName, message: `Field '${fieldName}' must have at least ${meta.minLength} characters, got ${value.length}`, value });
34
+ }
35
+ if (meta.maxLength !== undefined && value.length > meta.maxLength) {
36
+ errors.push({ field: fieldName, message: `Field '${fieldName}' must have at most ${meta.maxLength} characters, got ${value.length}`, value });
37
+ }
38
+ if (meta.enum !== undefined && !meta.enum.includes(value)) {
39
+ errors.push({ field: fieldName, message: `Field '${fieldName}' must be one of: ${meta.enum.join(', ')}. Got '${value}'`, value });
40
+ }
41
+ if (meta.pattern !== undefined) {
42
+ const regex = new RegExp(meta.pattern);
43
+ if (!regex.test(value)) {
44
+ errors.push({ field: fieldName, message: `Field '${fieldName}' must match pattern: ${meta.pattern}. Got '${value}'`, value });
45
+ }
46
+ }
47
+ }
48
+ }
49
+ return { valid: errors.length === 0, errors };
50
+ }
51
+ function validateOrThrow(object) {
52
+ const result = validateObject(object);
53
+ if (!result.valid) {
54
+ const messages = result.errors.map(e => e.message).join('; ');
55
+ throw new Parse.Error(Parse.Error.VALIDATION_ERROR, messages);
56
+ }
57
+ }
58
+ function buildValidator(className) {
59
+ const classConstructor = Parse.Object.extend(className);
60
+ const fields = Reflect.getMetadata('parse:fields', classConstructor) || {};
61
+ const properties = {};
62
+ let hasValidation = false;
63
+ for (const [fieldName, meta] of Object.entries(fields)) {
64
+ if (meta.type === 'Number' && (meta.min !== undefined || meta.max !== undefined)) {
65
+ hasValidation = true;
66
+ properties[fieldName] = {
67
+ bsonType: ['int', 'long', 'double', 'decimal', 'null'],
68
+ ...(meta.min !== undefined && { minimum: meta.min }),
69
+ ...(meta.max !== undefined && { maximum: meta.max }),
70
+ };
71
+ }
72
+ if (meta.type === 'String' && (meta.minLength !== undefined || meta.maxLength !== undefined || meta.enum !== undefined || meta.pattern !== undefined)) {
73
+ hasValidation = true;
74
+ properties[fieldName] = {
75
+ bsonType: ['string', 'null'],
76
+ ...(meta.minLength !== undefined && { minLength: meta.minLength }),
77
+ ...(meta.maxLength !== undefined && { maxLength: meta.maxLength }),
78
+ ...(meta.enum !== undefined && { enum: [...meta.enum, null] }),
79
+ ...(meta.pattern !== undefined && { pattern: meta.pattern }),
80
+ };
81
+ }
82
+ }
83
+ if (!hasValidation)
84
+ return null;
85
+ return { $jsonSchema: { bsonType: 'object', properties } };
86
+ }
87
+ function getValidators() {
88
+ const validators = [];
89
+ for (const className of schemaTypes_1.classNames) {
90
+ const validator = buildValidator(className);
91
+ if (validator)
92
+ validators.push({ className, validator });
93
+ }
94
+ return validators;
95
+ }
96
+ async function applyMongoValidators(parseServerInstance) {
97
+ const validators = getValidators();
98
+ if (validators.length === 0) {
99
+ console.log('[Validators] No MongoDB validators to apply');
100
+ return;
101
+ }
102
+ console.log(`[Validators] Applying ${validators.length} MongoDB validator(s)...`);
103
+ try {
104
+ const config = parseServerInstance?.config;
105
+ const adapter = config?.databaseController?.adapter || config?.database?.adapter;
106
+ const db = adapter?.database || adapter?.client?.db() || adapter?.mongoClient?.db();
107
+ if (!db) {
108
+ console.warn('[Validators] Could not access database adapter.');
109
+ return;
110
+ }
111
+ for (const { className, validator } of validators) {
112
+ const [validatorErr] = await (0, helper_1.catchError)(db.command({
113
+ collMod: className,
114
+ validator: validator,
115
+ validationLevel: 'moderate',
116
+ validationAction: 'error',
117
+ }));
118
+ if (validatorErr) {
119
+ if (validatorErr.codeName === 'NamespaceNotFound') {
120
+ console.log(`[Validators] Collection ${className} doesn't exist yet`);
121
+ }
122
+ else {
123
+ console.error(`[Validators] Failed for ${className}:`, validatorErr.message);
124
+ }
125
+ }
126
+ else {
127
+ console.log(`[Validators] Applied validator for: ${className}`);
128
+ }
129
+ }
130
+ }
131
+ catch (error) {
132
+ console.error('[Validators] Error:', error.message);
133
+ }
134
+ }
135
+ //# sourceMappingURL=fieldValidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldValidation.js","sourceRoot":"","sources":["../../../src/decorators/types/fieldValidation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { ClassNameType } from './schemaTypes';
2
+ export type TriggerType = 'beforeSave' | 'afterSave' | 'beforeDelete' | 'afterDelete' | 'beforeFind' | 'afterFind' | 'beforeLogin' | 'afterLogin' | 'afterLogout' | 'beforeSaveFile' | 'afterSaveFile' | 'beforeDeleteFile' | 'afterDeleteFile' | 'beforeConnect' | 'beforeSubscribe' | 'afterEvent';
3
+ export interface TriggerMetadata {
4
+ type: TriggerType;
5
+ className: ClassNameType;
6
+ handler: Function;
7
+ description?: string;
8
+ validation?: Parse.Cloud.Validator;
9
+ }
10
+ export interface TriggerConfig {
11
+ description?: string;
12
+ validation?: Parse.Cloud.Validator;
13
+ }
14
+ //# sourceMappingURL=triggerTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggerTypes.d.ts","sourceRoot":"","sources":["../../../src/decorators/types/triggerTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,WAAW,GACnB,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,aAAa,GAC3D,YAAY,GAAG,WAAW,GAC1B,aAAa,GAAG,YAAY,GAAG,aAAa,GAC5C,gBAAgB,GAAG,eAAe,GAAG,kBAAkB,GAAG,iBAAiB,GAC3E,eAAe,GAAG,iBAAiB,GAAG,YAAY,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,aAAa,CAAC;IACzB,OAAO,EAAE,QAAQ,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;CACpC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=triggerTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggerTypes.js","sourceRoot":"","sources":["../../../src/decorators/types/triggerTypes.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,27 @@
1
- export { ParseClass, ParseField, getSchemaDefinition, onClassRegistered, onFieldRegistered, } from './decorators/parseDecorators';
2
- export type { ParseClassOptions, ParseFieldOptions, AllowedFieldType, } from './decorators/parseDecorators';
3
- export { classNames, } from './decorators/types/schemaTypes';
4
- export type { ClassNameType, CLPParamsOption, classLevelPermissions, ClassAclTemplate, AclTemplatePermissions, ProtectedFields, CompoundIndex, Fields, Indexes, SchemaDefinition, } from './decorators/types/schemaTypes';
1
+ export { ParseClass, ParseField, getSchemaDefinition, onClassRegistered, onFieldRegistered } from './decorators/parseDecorators';
2
+ export type { ParseClassOptions, ParseFieldOptions, AllowedFieldType } from './decorators/parseDecorators';
3
+ export { CloudFunction, ProtectedCloudFunction, onFunctionRegistered } from './decorators/cloudDecorator';
4
+ export { CloudFunctionRegistry } from './decorators/cloudRegistry';
5
+ export { BeforeSave, AfterSave, BeforeDelete, AfterDelete, BeforeFind, AfterFind, BeforeLogin, AfterLogin, AfterLogout, BeforeSaveFile, AfterSaveFile, BeforeDeleteFile, AfterDeleteFile, BeforeConnect, BeforeSubscribe, AfterEvent } from './decorators/triggerDecorator';
6
+ export { TriggerRegistry } from './decorators/triggerRegistry';
7
+ export { Cron, CronSchedule, CronRegistry } from './decorators/cronDecorator';
8
+ export { Route, RouteRegistry } from './decorators/routeDecorator';
9
+ export { classNames } from './decorators/types/schemaTypes';
10
+ export type { ClassNameType, CLPParamsOption, classLevelPermissions, ClassAclTemplate, AclTemplatePermissions, ProtectedFields, CompoundIndex, Fields, Indexes, SchemaDefinition } from './decorators/types/schemaTypes';
11
+ export type { HttpMethod, RouteConfig, CloudFunctionMetadata, SwaggerDocConfig } from './decorators/types/cloudTypes';
12
+ export type { TriggerType, TriggerMetadata, TriggerConfig } from './decorators/types/triggerTypes';
13
+ export type { CronJobMetadata, CronConfig } from './decorators/types/cronTypes';
14
+ export type { AuthRole, MultiLangs, Filter } from './decorators/types/common';
15
+ export { validateObject, validateOrThrow, getValidators, applyMongoValidators } from './decorators/types/fieldValidation';
5
16
  export { BaseModel } from './models/BaseModel';
17
+ export { implementACL } from './utils/ACL';
18
+ export { UserRoles, roleKey, MAX_QUERY_LIMIT } from './utils/constants';
19
+ export type { RoleString } from './utils/constants';
20
+ export { catchError, getUserRoles, getUsersRoles, formatCount, generateRandomPassword, generateRandomInteger, generateRandomString, sleep } from './utils/helper';
21
+ export { importFiles } from './utils/dynamicImport';
22
+ export { validateFunctionRoutes, validateEntityRoutes, restrictRoutes, removeResultMiddleware, conditionalJsonMiddleware } from './middleware/middleware';
23
+ export { SwaggerRegistry } from './swagger/swaggerRegistry';
24
+ export type { SwaggerModelSchema, SwaggerPropertySchema, SwaggerFunctionSchema } from './swagger/swaggerRegistry';
25
+ export { generateSwaggerSpec, getSwaggerJson } from './swagger/swaggerSpec';
26
+ export { setupSwagger } from './swagger/index';
6
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,UAAU,GACX,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,MAAM,EACN,OAAO,EACP,gBAAgB,GACjB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjI,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAE3G,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC1G,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAC9E,WAAW,EAAE,UAAU,EAAE,WAAW,EACpC,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAChE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE9E,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGnE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,qBAAqB,EAAE,gBAAgB,EACnF,sBAAsB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEpI,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtH,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACnG,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAChF,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAG9E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAG1H,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACxE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAC3D,sBAAsB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrG,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,cAAc,EACnE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAGrF,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClH,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -1,19 +1,91 @@
1
1
  "use strict";
2
- // @90soft/parse-server-kit v1.0.0
3
- // Decorators + BaseModel + Schema Types
2
+ // @90soft/parse-server-kit — complete toolkit for Parse Server
4
3
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.BaseModel = exports.classNames = exports.onFieldRegistered = exports.onClassRegistered = exports.getSchemaDefinition = exports.ParseField = exports.ParseClass = void 0;
6
- // Decorators
4
+ exports.importFiles = exports.sleep = exports.generateRandomString = exports.generateRandomInteger = exports.generateRandomPassword = exports.formatCount = exports.getUsersRoles = exports.getUserRoles = exports.catchError = exports.MAX_QUERY_LIMIT = exports.roleKey = exports.UserRoles = exports.implementACL = exports.BaseModel = exports.applyMongoValidators = exports.getValidators = exports.validateOrThrow = exports.validateObject = exports.classNames = exports.RouteRegistry = exports.Route = exports.CronRegistry = exports.CronSchedule = exports.Cron = exports.TriggerRegistry = exports.AfterEvent = exports.BeforeSubscribe = exports.BeforeConnect = exports.AfterDeleteFile = exports.BeforeDeleteFile = exports.AfterSaveFile = exports.BeforeSaveFile = exports.AfterLogout = exports.AfterLogin = exports.BeforeLogin = exports.AfterFind = exports.BeforeFind = exports.AfterDelete = exports.BeforeDelete = exports.AfterSave = exports.BeforeSave = exports.CloudFunctionRegistry = exports.onFunctionRegistered = exports.ProtectedCloudFunction = exports.CloudFunction = exports.onFieldRegistered = exports.onClassRegistered = exports.getSchemaDefinition = exports.ParseField = exports.ParseClass = void 0;
5
+ exports.setupSwagger = exports.getSwaggerJson = exports.generateSwaggerSpec = exports.SwaggerRegistry = exports.conditionalJsonMiddleware = exports.removeResultMiddleware = exports.restrictRoutes = exports.validateEntityRoutes = exports.validateFunctionRoutes = void 0;
6
+ // ── Decorators ──
7
7
  var parseDecorators_1 = require("./decorators/parseDecorators");
8
8
  Object.defineProperty(exports, "ParseClass", { enumerable: true, get: function () { return parseDecorators_1.ParseClass; } });
9
9
  Object.defineProperty(exports, "ParseField", { enumerable: true, get: function () { return parseDecorators_1.ParseField; } });
10
10
  Object.defineProperty(exports, "getSchemaDefinition", { enumerable: true, get: function () { return parseDecorators_1.getSchemaDefinition; } });
11
11
  Object.defineProperty(exports, "onClassRegistered", { enumerable: true, get: function () { return parseDecorators_1.onClassRegistered; } });
12
12
  Object.defineProperty(exports, "onFieldRegistered", { enumerable: true, get: function () { return parseDecorators_1.onFieldRegistered; } });
13
- // Schema Types
13
+ var cloudDecorator_1 = require("./decorators/cloudDecorator");
14
+ Object.defineProperty(exports, "CloudFunction", { enumerable: true, get: function () { return cloudDecorator_1.CloudFunction; } });
15
+ Object.defineProperty(exports, "ProtectedCloudFunction", { enumerable: true, get: function () { return cloudDecorator_1.ProtectedCloudFunction; } });
16
+ Object.defineProperty(exports, "onFunctionRegistered", { enumerable: true, get: function () { return cloudDecorator_1.onFunctionRegistered; } });
17
+ var cloudRegistry_1 = require("./decorators/cloudRegistry");
18
+ Object.defineProperty(exports, "CloudFunctionRegistry", { enumerable: true, get: function () { return cloudRegistry_1.CloudFunctionRegistry; } });
19
+ var triggerDecorator_1 = require("./decorators/triggerDecorator");
20
+ Object.defineProperty(exports, "BeforeSave", { enumerable: true, get: function () { return triggerDecorator_1.BeforeSave; } });
21
+ Object.defineProperty(exports, "AfterSave", { enumerable: true, get: function () { return triggerDecorator_1.AfterSave; } });
22
+ Object.defineProperty(exports, "BeforeDelete", { enumerable: true, get: function () { return triggerDecorator_1.BeforeDelete; } });
23
+ Object.defineProperty(exports, "AfterDelete", { enumerable: true, get: function () { return triggerDecorator_1.AfterDelete; } });
24
+ Object.defineProperty(exports, "BeforeFind", { enumerable: true, get: function () { return triggerDecorator_1.BeforeFind; } });
25
+ Object.defineProperty(exports, "AfterFind", { enumerable: true, get: function () { return triggerDecorator_1.AfterFind; } });
26
+ Object.defineProperty(exports, "BeforeLogin", { enumerable: true, get: function () { return triggerDecorator_1.BeforeLogin; } });
27
+ Object.defineProperty(exports, "AfterLogin", { enumerable: true, get: function () { return triggerDecorator_1.AfterLogin; } });
28
+ Object.defineProperty(exports, "AfterLogout", { enumerable: true, get: function () { return triggerDecorator_1.AfterLogout; } });
29
+ Object.defineProperty(exports, "BeforeSaveFile", { enumerable: true, get: function () { return triggerDecorator_1.BeforeSaveFile; } });
30
+ Object.defineProperty(exports, "AfterSaveFile", { enumerable: true, get: function () { return triggerDecorator_1.AfterSaveFile; } });
31
+ Object.defineProperty(exports, "BeforeDeleteFile", { enumerable: true, get: function () { return triggerDecorator_1.BeforeDeleteFile; } });
32
+ Object.defineProperty(exports, "AfterDeleteFile", { enumerable: true, get: function () { return triggerDecorator_1.AfterDeleteFile; } });
33
+ Object.defineProperty(exports, "BeforeConnect", { enumerable: true, get: function () { return triggerDecorator_1.BeforeConnect; } });
34
+ Object.defineProperty(exports, "BeforeSubscribe", { enumerable: true, get: function () { return triggerDecorator_1.BeforeSubscribe; } });
35
+ Object.defineProperty(exports, "AfterEvent", { enumerable: true, get: function () { return triggerDecorator_1.AfterEvent; } });
36
+ var triggerRegistry_1 = require("./decorators/triggerRegistry");
37
+ Object.defineProperty(exports, "TriggerRegistry", { enumerable: true, get: function () { return triggerRegistry_1.TriggerRegistry; } });
38
+ var cronDecorator_1 = require("./decorators/cronDecorator");
39
+ Object.defineProperty(exports, "Cron", { enumerable: true, get: function () { return cronDecorator_1.Cron; } });
40
+ Object.defineProperty(exports, "CronSchedule", { enumerable: true, get: function () { return cronDecorator_1.CronSchedule; } });
41
+ Object.defineProperty(exports, "CronRegistry", { enumerable: true, get: function () { return cronDecorator_1.CronRegistry; } });
42
+ var routeDecorator_1 = require("./decorators/routeDecorator");
43
+ Object.defineProperty(exports, "Route", { enumerable: true, get: function () { return routeDecorator_1.Route; } });
44
+ Object.defineProperty(exports, "RouteRegistry", { enumerable: true, get: function () { return routeDecorator_1.RouteRegistry; } });
45
+ // ── Types ──
14
46
  var schemaTypes_1 = require("./decorators/types/schemaTypes");
15
47
  Object.defineProperty(exports, "classNames", { enumerable: true, get: function () { return schemaTypes_1.classNames; } });
16
- // Base Model
48
+ // ── Validation ──
49
+ var fieldValidation_1 = require("./decorators/types/fieldValidation");
50
+ Object.defineProperty(exports, "validateObject", { enumerable: true, get: function () { return fieldValidation_1.validateObject; } });
51
+ Object.defineProperty(exports, "validateOrThrow", { enumerable: true, get: function () { return fieldValidation_1.validateOrThrow; } });
52
+ Object.defineProperty(exports, "getValidators", { enumerable: true, get: function () { return fieldValidation_1.getValidators; } });
53
+ Object.defineProperty(exports, "applyMongoValidators", { enumerable: true, get: function () { return fieldValidation_1.applyMongoValidators; } });
54
+ // ── Models ──
17
55
  var BaseModel_1 = require("./models/BaseModel");
18
56
  Object.defineProperty(exports, "BaseModel", { enumerable: true, get: function () { return BaseModel_1.BaseModel; } });
57
+ // ── ACL & Permissions ──
58
+ var ACL_1 = require("./utils/ACL");
59
+ Object.defineProperty(exports, "implementACL", { enumerable: true, get: function () { return ACL_1.implementACL; } });
60
+ var constants_1 = require("./utils/constants");
61
+ Object.defineProperty(exports, "UserRoles", { enumerable: true, get: function () { return constants_1.UserRoles; } });
62
+ Object.defineProperty(exports, "roleKey", { enumerable: true, get: function () { return constants_1.roleKey; } });
63
+ Object.defineProperty(exports, "MAX_QUERY_LIMIT", { enumerable: true, get: function () { return constants_1.MAX_QUERY_LIMIT; } });
64
+ // ── Utilities ──
65
+ var helper_1 = require("./utils/helper");
66
+ Object.defineProperty(exports, "catchError", { enumerable: true, get: function () { return helper_1.catchError; } });
67
+ Object.defineProperty(exports, "getUserRoles", { enumerable: true, get: function () { return helper_1.getUserRoles; } });
68
+ Object.defineProperty(exports, "getUsersRoles", { enumerable: true, get: function () { return helper_1.getUsersRoles; } });
69
+ Object.defineProperty(exports, "formatCount", { enumerable: true, get: function () { return helper_1.formatCount; } });
70
+ Object.defineProperty(exports, "generateRandomPassword", { enumerable: true, get: function () { return helper_1.generateRandomPassword; } });
71
+ Object.defineProperty(exports, "generateRandomInteger", { enumerable: true, get: function () { return helper_1.generateRandomInteger; } });
72
+ Object.defineProperty(exports, "generateRandomString", { enumerable: true, get: function () { return helper_1.generateRandomString; } });
73
+ Object.defineProperty(exports, "sleep", { enumerable: true, get: function () { return helper_1.sleep; } });
74
+ var dynamicImport_1 = require("./utils/dynamicImport");
75
+ Object.defineProperty(exports, "importFiles", { enumerable: true, get: function () { return dynamicImport_1.importFiles; } });
76
+ // ── Middleware ──
77
+ var middleware_1 = require("./middleware/middleware");
78
+ Object.defineProperty(exports, "validateFunctionRoutes", { enumerable: true, get: function () { return middleware_1.validateFunctionRoutes; } });
79
+ Object.defineProperty(exports, "validateEntityRoutes", { enumerable: true, get: function () { return middleware_1.validateEntityRoutes; } });
80
+ Object.defineProperty(exports, "restrictRoutes", { enumerable: true, get: function () { return middleware_1.restrictRoutes; } });
81
+ Object.defineProperty(exports, "removeResultMiddleware", { enumerable: true, get: function () { return middleware_1.removeResultMiddleware; } });
82
+ Object.defineProperty(exports, "conditionalJsonMiddleware", { enumerable: true, get: function () { return middleware_1.conditionalJsonMiddleware; } });
83
+ // ── Swagger ──
84
+ var swaggerRegistry_1 = require("./swagger/swaggerRegistry");
85
+ Object.defineProperty(exports, "SwaggerRegistry", { enumerable: true, get: function () { return swaggerRegistry_1.SwaggerRegistry; } });
86
+ var swaggerSpec_1 = require("./swagger/swaggerSpec");
87
+ Object.defineProperty(exports, "generateSwaggerSpec", { enumerable: true, get: function () { return swaggerSpec_1.generateSwaggerSpec; } });
88
+ Object.defineProperty(exports, "getSwaggerJson", { enumerable: true, get: function () { return swaggerSpec_1.getSwaggerJson; } });
89
+ var index_1 = require("./swagger/index");
90
+ Object.defineProperty(exports, "setupSwagger", { enumerable: true, get: function () { return index_1.setupSwagger; } });
19
91
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,kCAAkC;AAClC,wCAAwC;;;AAExC,aAAa;AACb,gEAMsC;AALpC,6GAAA,UAAU,OAAA;AACV,6GAAA,UAAU,OAAA;AACV,sHAAA,mBAAmB,OAAA;AACnB,oHAAA,iBAAiB,OAAA;AACjB,oHAAA,iBAAiB,OAAA;AAQnB,eAAe;AACf,8DAEwC;AADtC,yGAAA,UAAU,OAAA;AAeZ,aAAa;AACb,gDAA+C;AAAtC,sGAAA,SAAS,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,+DAA+D;;;;AAE/D,mBAAmB;AACnB,gEAAiI;AAAxH,6GAAA,UAAU,OAAA;AAAE,6GAAA,UAAU,OAAA;AAAE,sHAAA,mBAAmB,OAAA;AAAE,oHAAA,iBAAiB,OAAA;AAAE,oHAAA,iBAAiB,OAAA;AAG1F,8DAA0G;AAAjG,+GAAA,aAAa,OAAA;AAAE,wHAAA,sBAAsB,OAAA;AAAE,sHAAA,oBAAoB,OAAA;AACpE,4DAAmE;AAA1D,sHAAA,qBAAqB,OAAA;AAE9B,kEAGoF;AAH3E,8GAAA,UAAU,OAAA;AAAE,6GAAA,SAAS,OAAA;AAAE,gHAAA,YAAY,OAAA;AAAE,+GAAA,WAAW,OAAA;AAAE,8GAAA,UAAU,OAAA;AAAE,6GAAA,SAAS,OAAA;AAC9E,+GAAA,WAAW,OAAA;AAAE,8GAAA,UAAU,OAAA;AAAE,+GAAA,WAAW,OAAA;AACpC,kHAAA,cAAc,OAAA;AAAE,iHAAA,aAAa,OAAA;AAAE,oHAAA,gBAAgB,OAAA;AAAE,mHAAA,eAAe,OAAA;AAChE,iHAAA,aAAa,OAAA;AAAE,mHAAA,eAAe,OAAA;AAAE,8GAAA,UAAU,OAAA;AAC5C,gEAA+D;AAAtD,kHAAA,eAAe,OAAA;AAExB,4DAA8E;AAArE,qGAAA,IAAI,OAAA;AAAE,6GAAA,YAAY,OAAA;AAAE,6GAAA,YAAY,OAAA;AAEzC,8DAAmE;AAA1D,uGAAA,KAAK,OAAA;AAAE,+GAAA,aAAa,OAAA;AAE7B,cAAc;AACd,8DAA4D;AAAnD,yGAAA,UAAU,OAAA;AASnB,mBAAmB;AACnB,sEAA0H;AAAjH,iHAAA,cAAc,OAAA;AAAE,kHAAA,eAAe,OAAA;AAAE,gHAAA,aAAa,OAAA;AAAE,uHAAA,oBAAoB,OAAA;AAE7E,eAAe;AACf,gDAA+C;AAAtC,sGAAA,SAAS,OAAA;AAElB,0BAA0B;AAC1B,mCAA2C;AAAlC,mGAAA,YAAY,OAAA;AACrB,+CAAwE;AAA/D,sGAAA,SAAS,OAAA;AAAE,oGAAA,OAAO,OAAA;AAAE,4GAAA,eAAe,OAAA;AAG5C,kBAAkB;AAClB,yCACqG;AAD5F,oGAAA,UAAU,OAAA;AAAE,sGAAA,YAAY,OAAA;AAAE,uGAAA,aAAa,OAAA;AAAE,qGAAA,WAAW,OAAA;AAC3D,gHAAA,sBAAsB,OAAA;AAAE,+GAAA,qBAAqB,OAAA;AAAE,8GAAA,oBAAoB,OAAA;AAAE,+FAAA,KAAK,OAAA;AAC5E,uDAAoD;AAA3C,4GAAA,WAAW,OAAA;AAEpB,mBAAmB;AACnB,sDACqF;AAD5E,oHAAA,sBAAsB,OAAA;AAAE,kHAAA,oBAAoB,OAAA;AAAE,4GAAA,cAAc,OAAA;AACnE,oHAAA,sBAAsB,OAAA;AAAE,uHAAA,yBAAyB,OAAA;AAEnD,gBAAgB;AAChB,6DAA4D;AAAnD,kHAAA,eAAe,OAAA;AAExB,qDAA4E;AAAnE,kHAAA,mBAAmB,OAAA;AAAE,6GAAA,cAAc,OAAA;AAC5C,yCAA+C;AAAtC,qGAAA,YAAY,OAAA"}