@90soft/parse-server-kit 2.9.0 → 2.11.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 (47) hide show
  1. package/CHANGELOG.md +183 -0
  2. package/CLAUDE.md +734 -698
  3. package/dist/config.d.ts +68 -0
  4. package/dist/config.d.ts.map +1 -0
  5. package/dist/config.js +35 -0
  6. package/dist/config.js.map +1 -0
  7. package/dist/database/indexes.d.ts.map +1 -1
  8. package/dist/database/indexes.js +14 -1
  9. package/dist/database/indexes.js.map +1 -1
  10. package/dist/decorators/cloudDecorator.d.ts.map +1 -1
  11. package/dist/decorators/cloudDecorator.js +19 -0
  12. package/dist/decorators/cloudDecorator.js.map +1 -1
  13. package/dist/decorators/cloudRegistry.d.ts +13 -0
  14. package/dist/decorators/cloudRegistry.d.ts.map +1 -1
  15. package/dist/decorators/cloudRegistry.js +23 -1
  16. package/dist/decorators/cloudRegistry.js.map +1 -1
  17. package/dist/decorators/parseDecorators.d.ts +1 -1
  18. package/dist/decorators/parseDecorators.d.ts.map +1 -1
  19. package/dist/decorators/parseDecorators.js +131 -4
  20. package/dist/decorators/parseDecorators.js.map +1 -1
  21. package/dist/decorators/triggerDecorator.d.ts +14 -0
  22. package/dist/decorators/triggerDecorator.d.ts.map +1 -1
  23. package/dist/decorators/triggerDecorator.js +31 -2
  24. package/dist/decorators/triggerDecorator.js.map +1 -1
  25. package/dist/decorators/triggerRegistry.d.ts +8 -0
  26. package/dist/decorators/triggerRegistry.d.ts.map +1 -1
  27. package/dist/decorators/triggerRegistry.js +18 -0
  28. package/dist/decorators/triggerRegistry.js.map +1 -1
  29. package/dist/decorators/types/cloudTypes.d.ts +23 -0
  30. package/dist/decorators/types/cloudTypes.d.ts.map +1 -1
  31. package/dist/middleware/middleware.d.ts.map +1 -1
  32. package/dist/middleware/middleware.js +66 -5
  33. package/dist/middleware/middleware.js.map +1 -1
  34. package/dist/middleware/rateLimit.d.ts +25 -6
  35. package/dist/middleware/rateLimit.d.ts.map +1 -1
  36. package/dist/middleware/rateLimit.js +59 -13
  37. package/dist/middleware/rateLimit.js.map +1 -1
  38. package/dist/models/BaseModel.d.ts.map +1 -1
  39. package/dist/models/BaseModel.js +5 -2
  40. package/dist/models/BaseModel.js.map +1 -1
  41. package/dist/utils/dynamicImport.d.ts.map +1 -1
  42. package/dist/utils/dynamicImport.js +33 -11
  43. package/dist/utils/dynamicImport.js.map +1 -1
  44. package/dist/utils/roleCache.d.ts.map +1 -1
  45. package/dist/utils/roleCache.js +4 -1
  46. package/dist/utils/roleCache.js.map +1 -1
  47. package/package.json +8 -7
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Settings this library needs but should not assume.
3
+ *
4
+ * These used to be constants, read straight from the environment or hardcoded
5
+ * to one project's conventions — a mount path from `process.env.mountPath`, an
6
+ * admin role called `SuperAdmin`, a pointer class called `IMG`. That works
7
+ * perfectly for the codebase they came from and confuses everyone else, who has
8
+ * different role names, different models, and no reason to know that this
9
+ * particular environment variable is load-bearing.
10
+ *
11
+ * Every default below reproduces the previous behaviour exactly, so an existing
12
+ * project that calls nothing here is unaffected.
13
+ *
14
+ * ```ts
15
+ * configureKit({mountPath: '/api', adminRole: 'Owner'});
16
+ * ```
17
+ *
18
+ * Values are resolved when they are *used*, not when this module loads, so
19
+ * `dotenv` (or anything else that populates the environment after import) still
20
+ * works.
21
+ */
22
+ export interface KitConfig {
23
+ /**
24
+ * Where Parse Server is mounted, e.g. `/parse`.
25
+ *
26
+ * Used to recognise file routes and as the default Swagger server URL.
27
+ * Falls back to `process.env.mountPath` — the variable this library used to
28
+ * read directly — and then to `/parse`, Parse Server's own default.
29
+ */
30
+ mountPath?: string;
31
+ /**
32
+ * The master key, used by `restrictRoutes` to let privileged callers past
33
+ * the route restrictions.
34
+ *
35
+ * Falls back to `process.env.masterKey` — the variable this library used to
36
+ * read directly. **If neither is set, the master key bypass never fires**,
37
+ * and a caller presenting a perfectly valid master key is still refused.
38
+ * That failure is silent, which is why it is worth setting explicitly.
39
+ */
40
+ masterKey?: string;
41
+ /**
42
+ * The role allowed to manage the `_Role` class in a generated schema.
43
+ * Default `SuperAdmin`.
44
+ */
45
+ adminRole?: string;
46
+ /**
47
+ * Pointer target classes that `BaseModel.fromParams()` skips.
48
+ *
49
+ * These are classes whose pointers need handling of their own — an uploaded
50
+ * image that has to be processed before it can be attached, for instance —
51
+ * so blindly building a pointer from request params would be wrong.
52
+ * Default `['IMG', 'File']`.
53
+ *
54
+ * A single model can still override this with a static of the same name.
55
+ */
56
+ excludedPointerClasses?: string[];
57
+ }
58
+ /**
59
+ * Set any of the library's settings. Merges with whatever was set before, so it
60
+ * can be called more than once, and can be called at any point before the
61
+ * values are used.
62
+ */
63
+ export declare function configureKit(config: KitConfig): void;
64
+ /** Everything resolved, in precedence order: explicit → environment → default. */
65
+ export declare function kitConfig(): Required<KitConfig>;
66
+ /** Drop every override and go back to the defaults. Intended for tests. */
67
+ export declare function resetKitConfig(): void;
68
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,SAAS;IACxB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;OASG;IACH,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;CACnC;AAUD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAEpD;AAED,kFAAkF;AAClF,wBAAgB,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,CAW/C;AAED,2EAA2E;AAC3E,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
package/dist/config.js ADDED
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.configureKit = configureKit;
4
+ exports.kitConfig = kitConfig;
5
+ exports.resetKitConfig = resetKitConfig;
6
+ const DEFAULTS = {
7
+ adminRole: 'SuperAdmin',
8
+ excludedPointerClasses: ['IMG', 'File'],
9
+ mountPath: '/parse',
10
+ };
11
+ let overrides = {};
12
+ /**
13
+ * Set any of the library's settings. Merges with whatever was set before, so it
14
+ * can be called more than once, and can be called at any point before the
15
+ * values are used.
16
+ */
17
+ function configureKit(config) {
18
+ overrides = { ...overrides, ...config };
19
+ }
20
+ /** Everything resolved, in precedence order: explicit → environment → default. */
21
+ function kitConfig() {
22
+ return {
23
+ mountPath: overrides.mountPath ?? process.env.mountPath ?? DEFAULTS.mountPath,
24
+ // No default: an absent master key must never match, so a misconfigured
25
+ // server fails closed rather than admitting everyone as master.
26
+ masterKey: overrides.masterKey ?? process.env.masterKey ?? '',
27
+ adminRole: overrides.adminRole ?? DEFAULTS.adminRole,
28
+ excludedPointerClasses: overrides.excludedPointerClasses ?? [...DEFAULTS.excludedPointerClasses],
29
+ };
30
+ }
31
+ /** Drop every override and go back to the defaults. Intended for tests. */
32
+ function resetKitConfig() {
33
+ overrides = {};
34
+ }
35
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;AA0EA,oCAEC;AAGD,8BAWC;AAGD,wCAEC;AAlCD,MAAM,QAAQ,GAAG;IACf,SAAS,EAAE,YAAY;IACvB,sBAAsB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;IACvC,SAAS,EAAE,QAAQ;CACX,CAAC;AAEX,IAAI,SAAS,GAAc,EAAE,CAAC;AAE9B;;;;GAIG;AACH,SAAgB,YAAY,CAAC,MAAiB;IAC5C,SAAS,GAAG,EAAC,GAAG,SAAS,EAAE,GAAG,MAAM,EAAC,CAAC;AACxC,CAAC;AAED,kFAAkF;AAClF,SAAgB,SAAS;IACvB,OAAO;QACL,SAAS,EACP,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS;QACpE,wEAAwE;QACxE,gEAAgE;QAChE,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE;QAC7D,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS;QACpD,sBAAsB,EACpB,SAAS,CAAC,sBAAsB,IAAI,CAAC,GAAG,QAAQ,CAAC,sBAAsB,CAAC;KAC3E,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,SAAgB,cAAc;IAC5B,SAAS,GAAG,EAAE,CAAC;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../../src/database/indexes.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAA4B,cAAc,EAAC,MAAM,iCAAiC,CAAC;AAG1F,UAAU,eAAe;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,iBAAiB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,qCAAqC;IACrC,IAAI,EAAE,WAAW,GAAG,YAAY,GAAG,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;CAC3E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,eAAe,EAAE,CAmBpD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,iBAAiB,EAAE,CA0BxD;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,IAAI,cAAc,EAAE,CAoDlD;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,mBAAmB,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAkH9E;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,wBAAkB,CAAC"}
1
+ {"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../../src/database/indexes.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAA4B,cAAc,EAAC,MAAM,iCAAiC,CAAC;AAG1F,UAAU,eAAe;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,iBAAiB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,qCAAqC;IACrC,IAAI,EAAE,WAAW,GAAG,YAAY,GAAG,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;CAC3E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,eAAe,EAAE,CAmBpD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,iBAAiB,EAAE,CA0BxD;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,IAAI,cAAc,EAAE,CAoDlD;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,mBAAmB,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CA+H9E;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,wBAAkB,CAAC"}
@@ -139,7 +139,20 @@ async function applyAllIndexes(parseServerInstance) {
139
139
  const collection = db.collection(className);
140
140
  const [, existingIndexes] = await (0, helper_1.catchError)(collection.indexes());
141
141
  if (existingIndexes) {
142
- const conflictingIndex = existingIndexes.find((idx) => idx.key[field] && !idx.unique && idx.name !== '_id_');
142
+ const conflictingIndex = existingIndexes.find(
143
+ /*
144
+ * Only a SINGLE-FIELD index conflicts. The check used to be
145
+ * `idx.key[field] && !idx.unique`, which matches any non-unique index
146
+ * merely CONTAINING the field — a compound index included. So
147
+ * `unique: true` on `status` alongside a compound index on
148
+ * ['status', 'createdAt'] dropped the compound one on every boot, and
149
+ * an index created outside this library was dropped for good.
150
+ */
151
+ (idx) => idx.name !== '_id_' &&
152
+ !idx.unique &&
153
+ idx.key &&
154
+ Object.keys(idx.key).length === 1 &&
155
+ idx.key[field] !== undefined);
143
156
  if (conflictingIndex) {
144
157
  console.log(`[Indexes] Dropping non-unique index: ${conflictingIndex.name}`);
145
158
  await (0, helper_1.catchError)(collection.dropIndex(conflictingIndex.name));
@@ -1 +1 @@
1
- {"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../src/database/indexes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../src/database/indexes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cloudDecorator.d.ts","sourceRoot":"","sources":["../../src/decorators/cloudDecorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAOtE,KAAK,oBAAoB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;AAErF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,oBAAoB,QAE9D;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,IAE7C,QAAQ,GAAG,EACX,aAAa,MAAM,EACnB,aAAa,kBAAkB,GAAG,SAAS,wBAsC9C;AAkED,wBAAgB,sBAAsB,CAAC,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,YA1G5D,GAAG,eACE,MAAM,eACN,kBAAkB,GAAG,SAAS,wBA8G9C"}
1
+ {"version":3,"file":"cloudDecorator.d.ts","sourceRoot":"","sources":["../../src/decorators/cloudDecorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAOtE,KAAK,oBAAoB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;AAErF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,oBAAoB,QAE9D;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,IAE7C,QAAQ,GAAG,EACX,aAAa,MAAM,EACnB,aAAa,kBAAkB,GAAG,SAAS,wBA8D9C;AAkED,wBAAgB,sBAAsB,CAAC,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,YAlI5D,GAAG,eACE,MAAM,eACN,kBAAkB,GAAG,SAAS,wBAsI9C"}
@@ -23,6 +23,18 @@ function CloudFunction(config) {
23
23
  // Wrap with role checking
24
24
  descriptor.value = async function (...args) {
25
25
  const request = args[0];
26
+ /*
27
+ * `requiresAuth` used to be read by nothing but the Swagger renderer, so
28
+ * an endpoint declaring it was wide open while the docs drew a padlock on
29
+ * it — one character away from `validation.requireUser`, which did work.
30
+ *
31
+ * The master key is the system, so it passes: a cloud function called
32
+ * with the master key has no `request.user` and is not an anonymous
33
+ * caller.
34
+ */
35
+ if (config.requiresAuth && !request.user && !request.master) {
36
+ throw new Parse.Error(Parse.Error.OBJECT_NOT_FOUND, 'Authentication required');
37
+ }
26
38
  if (config.requireRoles) {
27
39
  await checkUserRoles(request, config);
28
40
  }
@@ -32,6 +44,13 @@ function CloudFunction(config) {
32
44
  name: propertyKey,
33
45
  config,
34
46
  handler: descriptor.value,
47
+ // Recorded so the registry can re-read the method when it registers it,
48
+ // rather than keeping this snapshot. Decorators apply bottom-up, so
49
+ // anything written *above* @CloudFunction has not run yet and is not in
50
+ // `descriptor.value` — @Transactional most notably. Re-reading later
51
+ // picks it up and makes the order of the two irrelevant.
52
+ owner: target,
53
+ propertyKey,
35
54
  };
36
55
  cloudRegistry_1.CloudFunctionRegistry.register(metadata);
37
56
  // Register the endpoint for Swagger — mirrors how @ParseField registers
@@ -1 +1 @@
1
- {"version":3,"file":"cloudDecorator.js","sourceRoot":"","sources":["../../src/decorators/cloudDecorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloudDecorator.js","sourceRoot":"","sources":["../../src/decorators/cloudDecorator.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,19 @@ export declare class CloudFunctionRegistry {
4
4
  static register(metadata: CloudFunctionMetadata): void;
5
5
  static getFunctions(): CloudFunctionMetadata[];
6
6
  static getFunction(name: string): CloudFunctionMetadata | undefined;
7
+ /**
8
+ * The method as it stands now, not as it stood when the decorator ran.
9
+ *
10
+ * `@CloudFunction` sees `descriptor.value` at the moment it is applied, and
11
+ * decorators apply bottom-up — so anything written *above* it, such as
12
+ * `@Transactional()`, has not wrapped the method yet. Registering that early
13
+ * snapshot meant the outer decorator was silently dropped: the endpoint
14
+ * worked, every write succeeded, and nothing was ever atomic.
15
+ *
16
+ * Reading the property back at registration time picks up every wrapper,
17
+ * whichever order they were written in.
18
+ */
19
+ private static resolveHandler;
7
20
  static initialize(): void;
8
21
  }
9
22
  //# sourceMappingURL=cloudRegistry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloudRegistry.d.ts","sourceRoot":"","sources":["../../src/decorators/cloudRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,oBAAoB,CAAC;AAIzD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAiD;IAEzE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB;IAI/C,MAAM,CAAC,YAAY;IAInB,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM;IAI/B,MAAM,CAAC,UAAU;CAclB"}
1
+ {"version":3,"file":"cloudRegistry.d.ts","sourceRoot":"","sources":["../../src/decorators/cloudRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,oBAAoB,CAAC;AAIzD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAiD;IAEzE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB;IAI/C,MAAM,CAAC,YAAY;IAInB,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM;IAI/B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAS7B,MAAM,CAAC,UAAU;CAelB"}
@@ -13,9 +13,31 @@ class CloudFunctionRegistry {
13
13
  static getFunction(name) {
14
14
  return this.functions.get(name);
15
15
  }
16
+ /**
17
+ * The method as it stands now, not as it stood when the decorator ran.
18
+ *
19
+ * `@CloudFunction` sees `descriptor.value` at the moment it is applied, and
20
+ * decorators apply bottom-up — so anything written *above* it, such as
21
+ * `@Transactional()`, has not wrapped the method yet. Registering that early
22
+ * snapshot meant the outer decorator was silently dropped: the endpoint
23
+ * worked, every write succeeded, and nothing was ever atomic.
24
+ *
25
+ * Reading the property back at registration time picks up every wrapper,
26
+ * whichever order they were written in.
27
+ */
28
+ static resolveHandler(metadata) {
29
+ const { owner, propertyKey } = metadata;
30
+ if (owner && propertyKey) {
31
+ const current = owner[propertyKey];
32
+ if (typeof current === 'function')
33
+ return current;
34
+ }
35
+ return metadata.handler;
36
+ }
16
37
  static initialize() {
17
38
  this.functions.forEach(metadata => {
18
- Parse.Cloud.define(metadata.name, metadata.handler, metadata.config.validation);
39
+ const handler = this.resolveHandler(metadata);
40
+ Parse.Cloud.define(metadata.name, handler, metadata.config.validation);
19
41
  console.log(`Registered cloud function: ${metadata.name}`);
20
42
  });
21
43
  // Build entity-based route map after all functions are registered
@@ -1 +1 @@
1
- {"version":3,"file":"cloudRegistry.js","sourceRoot":"","sources":["../../src/decorators/cloudRegistry.ts"],"names":[],"mappings":";;;AACA,qDAA+C;AAC/C,iEAA4D;AAE5D,MAAa,qBAAqB;IAGhC,MAAM,CAAC,QAAQ,CAAC,QAA+B;QAC7C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,YAAY;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,UAAU;QACf,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAChC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAChF,OAAO,CAAC,GAAG,CAAC,8BAA8B,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,kEAAkE;QAClE,8BAAa,CAAC,UAAU,EAAE,CAAC;QAE3B,wEAAwE;QACxE,kEAAkE;QAClE,yDAAyD;QACzD,iCAAe,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;;AA5BH,sDA6BC;AA5BgB,+BAAS,GAAuC,IAAI,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"cloudRegistry.js","sourceRoot":"","sources":["../../src/decorators/cloudRegistry.ts"],"names":[],"mappings":";;;AACA,qDAA+C;AAC/C,iEAA4D;AAE5D,MAAa,qBAAqB;IAGhC,MAAM,CAAC,QAAQ,CAAC,QAA+B;QAC7C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,YAAY;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;OAWG;IACK,MAAM,CAAC,cAAc,CAAC,QAA+B;QAC3D,MAAM,EAAC,KAAK,EAAE,WAAW,EAAC,GAAG,QAAQ,CAAC;QACtC,IAAI,KAAK,IAAI,WAAW,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACnC,IAAI,OAAO,OAAO,KAAK,UAAU;gBAAE,OAAO,OAAO,CAAC;QACpD,CAAC;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,UAAU;QACf,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC9C,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,8BAA8B,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,kEAAkE;QAClE,8BAAa,CAAC,UAAU,EAAE,CAAC;QAE3B,wEAAwE;QACxE,kEAAkE;QAClE,yDAAyD;QACzD,iCAAe,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;;AAlDH,sDAmDC;AAlDgB,+BAAS,GAAuC,IAAI,GAAG,EAAE,CAAC"}
@@ -86,7 +86,7 @@ export interface ParseClassOptions {
86
86
  description?: string;
87
87
  compoundIndexes?: CompoundIndex[];
88
88
  }
89
- export declare function ParseClass(className: ClassNameType, options?: ParseClassOptions): (constructor: Function) => void;
89
+ export declare function ParseClass(className: ClassNameType, options?: ParseClassOptions): <T extends Function>(constructor: T) => T;
90
90
  export declare function getSchemaDefinition<T>(target: new () => T): {
91
91
  compoundIndexes?: CompoundIndex[] | undefined;
92
92
  uniqueFields?: string[] | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"parseDecorators.d.ts","sourceRoot":"","sources":["../../src/decorators/parseDecorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseDecorators.d.ts","sourceRoot":"","sources":["../../src/decorators/parseDecorators.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ require("reflect-metadata");
9
9
  const schemaTypes_1 = require("./types/schemaTypes");
10
10
  const swaggerRegistry_1 = require("../swagger/swaggerRegistry");
11
11
  const triggerRegistry_1 = require("./triggerRegistry");
12
+ const triggerDecorator_1 = require("./triggerDecorator");
12
13
  const classHooks = [];
13
14
  const fieldHooks = [];
14
15
  /** Register a hook that runs when @ParseClass is applied. Used by Swagger, Triggers, etc. */
@@ -96,7 +97,43 @@ function ParseField(options) {
96
97
  }
97
98
  }
98
99
  return function (target, propertyKey) {
99
- const existingFields = Reflect.getMetadata('parse:fields', target.constructor) || {};
100
+ // A standard (TC39) decorator is called as (value, context) where context
101
+ // is an object carrying `kind`. Legacy decorators get (target, key). If we
102
+ // are handed the standard shape, `experimentalDecorators` is off and every
103
+ // decorator in the project is quietly doing the wrong thing.
104
+ if (propertyKey !== null &&
105
+ typeof propertyKey === 'object' &&
106
+ 'kind' in propertyKey) {
107
+ throw new Error('@ParseField received a standard (TC39) decorator context, which means ' +
108
+ '`experimentalDecorators` is not enabled. This library uses legacy ' +
109
+ 'decorators. Set {"compilerOptions": {"experimentalDecorators": true}} ' +
110
+ 'in tsconfig.json — without it no model, trigger or cloud function ' +
111
+ 'registers correctly.');
112
+ }
113
+ /*
114
+ * Clone-on-first-write, because `getMetadata` walks the prototype chain.
115
+ *
116
+ * On a subclass with no field metadata of its own, `getMetadata` returns
117
+ * the PARENT's object — and writing into it makes every class in the tree
118
+ * share one record. An audit base class is enough to trigger it:
119
+ *
120
+ * class Auditable extends BaseModel { @ParseField() declare createdBy }
121
+ * class Product extends Auditable { @ParseField() declare name }
122
+ * class Order extends Auditable { @ParseField() declare total }
123
+ *
124
+ * Shared, Product gains `total`, Order gains `name`, and Auditable gains
125
+ * both — wrong schemas, `fromParams` converting fields the model does not
126
+ * have, `validateObject` demanding foreign required fields, and
127
+ * `applyAllIndexes` indexing columns that do not exist. None reported.
128
+ *
129
+ * `getOwnMetadata` asks only this class. Absent, copy what was inherited so
130
+ * the subclass keeps its parent's fields, then write into the copy.
131
+ *
132
+ * Identical to the old behaviour for a class extending BaseModel directly:
133
+ * BaseModel carries no field metadata, so the copy is of {}.
134
+ */
135
+ const ownFields = Reflect.getOwnMetadata('parse:fields', target.constructor);
136
+ const existingFields = ownFields ?? { ...(Reflect.getMetadata('parse:fields', target.constructor) || {}) };
100
137
  const fieldMeta = {
101
138
  type, required,
102
139
  ...(targetClass && { targetClass }),
@@ -128,6 +165,41 @@ function ParseField(options) {
128
165
  }
129
166
  };
130
167
  }
168
+ // ── Field shadowing repair ──
169
+ /**
170
+ * Undo a class field that is hiding one of our accessors.
171
+ *
172
+ * `@ParseField` installs a getter/setter on the **prototype**, which read and
173
+ * write Parse's attribute store. A field written `title!: string` compiles, at
174
+ * `target: ES2022` and above, to an own property set to `undefined` — and an
175
+ * own property shadows a prototype accessor. Reads then return `undefined`,
176
+ * and writes land on the instance instead of Parse, so `save()` sends nothing.
177
+ * Nothing throws at any point.
178
+ *
179
+ * Deleting the own property makes the accessor reachable again. A value is
180
+ * re-assigned through it afterwards, so anything already set still lands where
181
+ * Parse can see it.
182
+ *
183
+ * **This is a no-op for code that does not have the problem.** Below
184
+ * `target: ES2022` — or with `declare` fields, or `useDefineForClassFields`
185
+ * false — no such own property is ever created, so there is nothing to find
186
+ * and nothing changes.
187
+ */
188
+ function repairShadowedFields(instance, fieldNames) {
189
+ for (const name of fieldNames) {
190
+ const own = Object.getOwnPropertyDescriptor(instance, name);
191
+ // An accessor here is already ours. A non-configurable property cannot be
192
+ // removed, and guessing would be worse than leaving it.
193
+ if (!own || own.get || own.set || !own.configurable)
194
+ continue;
195
+ const value = own.value;
196
+ delete instance[name];
197
+ // Route any value the field carried through the accessor, so it reaches
198
+ // Parse rather than sitting on the instance.
199
+ if (value !== undefined)
200
+ instance[name] = value;
201
+ }
202
+ }
131
203
  function ParseClass(className, options = {}) {
132
204
  return function (constructor) {
133
205
  Reflect.defineMetadata('parse:className', className, constructor);
@@ -140,13 +212,63 @@ function ParseClass(className, options = {}) {
140
212
  Reflect.defineMetadata('parse:compoundIndexes', options.compoundIndexes, constructor);
141
213
  }
142
214
  const isRoleSubclass = constructor.prototype instanceof Parse.Role;
215
+ const fields = Reflect.getMetadata('parse:fields', constructor) || {};
216
+ const fieldNames = Object.keys(fields);
217
+ /**
218
+ * The class that actually gets constructed.
219
+ *
220
+ * A thin subclass whose constructor undoes any class field shadowing one of
221
+ * our accessors — see `repairShadowedFields`. Everything observable is
222
+ * preserved: `name` is copied over (`@Route` reads it), metadata is
223
+ * inherited through the prototype chain, and `instanceof` still holds
224
+ * because this extends the original.
225
+ *
226
+ * Whether repair is needed is decided once, from the first instance, and
227
+ * then remembered. A codebase without the problem pays one boolean check
228
+ * per object and nothing else.
229
+ */
230
+ let needsRepair = undefined;
231
+ const Constructed = fieldNames.length === 0
232
+ ? constructor
233
+ : (() => {
234
+ const Wrapped = class extends constructor {
235
+ constructor(...args) {
236
+ super(...args);
237
+ if (needsRepair === undefined) {
238
+ needsRepair = fieldNames.some(name => {
239
+ const own = Object.getOwnPropertyDescriptor(this, name);
240
+ return Boolean(own && !own.get && !own.set);
241
+ });
242
+ }
243
+ if (needsRepair)
244
+ repairShadowedFields(this, fieldNames);
245
+ }
246
+ };
247
+ // `@Route(Model)` derives its prefix from the class name, so this
248
+ // has to survive the wrapping.
249
+ Object.defineProperty(Wrapped, 'name', {
250
+ value: constructor.name,
251
+ configurable: true,
252
+ });
253
+ return Wrapped;
254
+ })();
143
255
  if (!isRoleSubclass) {
144
- Parse.Object.registerSubclass(className, constructor);
145
- if (!schemaTypes_1.classNames.includes(className)) {
256
+ // A second registration of the same name means the same file was loaded
257
+ // twice — almost always `importFiles` pointed at a tree holding both the
258
+ // compiled and the source copy. Parse accepts it quietly and the last
259
+ // one wins, which makes the resulting behaviour depend on directory
260
+ // order.
261
+ if (schemaTypes_1.classNames.includes(className)) {
262
+ console.warn(`[ParseClass] '${className}' is being registered a second time. ` +
263
+ 'The later registration replaces the first. This usually means ' +
264
+ 'importFiles ran over a directory containing both compiled and ' +
265
+ 'source copies of the same model.');
266
+ }
267
+ else {
146
268
  schemaTypes_1.classNames.push(className);
147
269
  }
270
+ Parse.Object.registerSubclass(className, Constructed);
148
271
  }
149
- const fields = Reflect.getMetadata('parse:fields', constructor) || {};
150
272
  // ── Swagger Registration (built-in) ──
151
273
  const properties = {
152
274
  objectId: { type: 'string', description: 'Unique object identifier' },
@@ -180,11 +302,16 @@ function ParseClass(className, options = {}) {
180
302
  validation: trigger.validation,
181
303
  });
182
304
  }
305
+ // This class's triggers are now real; it is no longer waiting.
306
+ (0, triggerDecorator_1.markTriggersFlushed)(constructor);
183
307
  // Notify additional hooks (for custom integrations)
184
308
  for (const hook of classHooks) {
185
309
  hook(className, constructor, fields, options);
186
310
  }
187
311
  console.log(`Registered Parse class: ${className}`);
312
+ // Returned so `new Model()` in application code is constructed through the
313
+ // repair too, not only objects Parse builds from the database.
314
+ return Constructed;
188
315
  };
189
316
  }
190
317
  // ── Schema Utility ──
@@ -1 +1 @@
1
- {"version":3,"file":"parseDecorators.js","sourceRoot":"","sources":["../../src/decorators/parseDecorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseDecorators.js","sourceRoot":"","sources":["../../src/decorators/parseDecorators.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,19 @@
1
1
  import 'reflect-metadata';
2
2
  import { TriggerConfig } from './types/triggerTypes';
3
+ /**
4
+ * Classes that have parked a trigger but not yet had it flushed.
5
+ *
6
+ * A trigger decorator cannot register anything on its own — it does not know
7
+ * the Parse class name, which only `@ParseClass` supplies. So it parks the
8
+ * handler in metadata and waits. On a class that never gets `@ParseClass`, it
9
+ * waits forever: the trigger is simply never registered, and nothing says so.
10
+ *
11
+ * Recording the constructor here lets `TriggerRegistry.initialize()` name the
12
+ * classes still waiting. Exported for that purpose only.
13
+ */
14
+ export declare const pendingTriggerOwners: Map<Function, string[]>;
15
+ /** Called by `@ParseClass` once it has flushed a class's pending triggers. */
16
+ export declare function markTriggersFlushed(constructor: Function): void;
3
17
  export declare const BeforeSave: (config?: TriggerConfig) => (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
4
18
  export declare const AfterSave: (config?: TriggerConfig) => (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
5
19
  export declare const BeforeDelete: (config?: TriggerConfig) => (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
@@ -1 +1 @@
1
- {"version":3,"file":"triggerDecorator.d.ts","sourceRoot":"","sources":["../../src/decorators/triggerDecorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"triggerDecorator.d.ts","sourceRoot":"","sources":["../../src/decorators/triggerDecorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAC,aAAa,EAAc,MAAM,sBAAsB,CAAC;AAEhE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,yBAAgC,CAAC;AAElE,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,QAAQ,GAAG,IAAI,CAE/D;AAwCD,eAAO,MAAM,UAAU,YArCI,aAAa,MACnB,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,uBAoCvB,CAAC;AAC/D,eAAO,MAAM,SAAS,YAtCK,aAAa,MACnB,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,uBAqCzB,CAAC;AAC7D,eAAO,MAAM,YAAY,YAvCE,aAAa,MACnB,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,uBAsCnB,CAAC;AACnE,eAAO,MAAM,WAAW,YAxCG,aAAa,MACnB,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,uBAuCrB,CAAC;AACjE,eAAO,MAAM,UAAU,YAzCI,aAAa,MACnB,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,uBAwCvB,CAAC;AAC/D,eAAO,MAAM,SAAS,YA1CK,aAAa,MACnB,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,uBAyCzB,CAAC;AAG7D,eAAO,MAAM,WAAW,YA7CG,aAAa,MACnB,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,uBA4CrB,CAAC;AACjE,eAAO,MAAM,UAAU,YA9CI,aAAa,MACnB,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,uBA6CvB,CAAC;AAC/D,eAAO,MAAM,WAAW,YA/CG,aAAa,MACnB,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,uBA8CrB,CAAC;AACjE,qEAAqE;AACrE,eAAO,MAAM,0BAA0B,YAjDZ,aAAa,MACnB,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,uBAgDS,CAAC;AAG/F,eAAO,MAAM,cAAc,YApDA,aAAa,MACnB,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,uBAmDf,CAAC;AACvE,eAAO,MAAM,aAAa,YArDC,aAAa,MACnB,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,uBAoDjB,CAAC;AACrE,eAAO,MAAM,gBAAgB,YAtDF,aAAa,MACnB,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,uBAqDX,CAAC;AAC3E,eAAO,MAAM,eAAe,YAvDD,aAAa,MACnB,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,uBAsDb,CAAC;AACzE,yBAAyB;AACzB,eAAO,MAAM,cAAc,YAzDA,aAAa,MACnB,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,uBAwDf,CAAC;AACvE,yBAAyB;AACzB,eAAO,MAAM,aAAa,YA3DC,aAAa,MACnB,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,uBA0DjB,CAAC;AAGrE,eAAO,MAAM,gBAAgB,YA9DF,aAAa,MACnB,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,uBA6DX,CAAC;AAC3E,eAAO,MAAM,eAAe,YA/DD,aAAa,MACnB,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,uBA8Db,CAAC;AAGzE,eAAO,MAAM,aAAa,YAlEC,aAAa,MACnB,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,uBAiEjB,CAAC;AACrE,eAAO,MAAM,eAAe,YAnED,aAAa,MACnB,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,uBAkEb,CAAC;AACzE,eAAO,MAAM,UAAU,YApEI,aAAa,MACnB,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,uBAmEvB,CAAC"}