velocious 1.0.447 → 1.0.449

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 (69) hide show
  1. package/README.md +1 -1
  2. package/build/configuration-types.js +2 -0
  3. package/build/database/pool/async-tracked-multi-connection.js +123 -8
  4. package/build/database/pool/base.js +14 -1
  5. package/build/database/record/index.js +13 -8
  6. package/build/environment-handlers/node/cli/commands/generate/base-models.js +1 -16
  7. package/build/environment-handlers/node/cli/commands/generate/frontend-models.js +125 -73
  8. package/build/frontend-model-controller.js +9 -0
  9. package/build/frontend-model-resource/base-resource.js +266 -53
  10. package/build/frontend-models/base.js +241 -97
  11. package/build/frontend-models/preloader.js +3 -2
  12. package/build/src/background-jobs/job-record.d.ts +2 -1
  13. package/build/src/background-jobs/job-record.d.ts.map +1 -1
  14. package/build/src/configuration-types.d.ts +10 -0
  15. package/build/src/configuration-types.d.ts.map +1 -1
  16. package/build/src/configuration-types.js +3 -1
  17. package/build/src/database/pool/async-tracked-multi-connection.d.ts +60 -4
  18. package/build/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -1
  19. package/build/src/database/pool/async-tracked-multi-connection.js +113 -9
  20. package/build/src/database/pool/base.d.ts +38 -1
  21. package/build/src/database/pool/base.d.ts.map +1 -1
  22. package/build/src/database/pool/base.js +14 -2
  23. package/build/src/database/query/preloader/belongs-to.d.ts +2 -2
  24. package/build/src/database/query/preloader/belongs-to.d.ts.map +1 -1
  25. package/build/src/database/query/preloader/has-many.d.ts +1 -1
  26. package/build/src/database/query/preloader/has-many.d.ts.map +1 -1
  27. package/build/src/database/query/preloader/has-one.d.ts +2 -2
  28. package/build/src/database/query/preloader/has-one.d.ts.map +1 -1
  29. package/build/src/database/query/preloader.d.ts +1 -1
  30. package/build/src/database/query/preloader.d.ts.map +1 -1
  31. package/build/src/database/record/attachments/handle.d.ts +1 -1
  32. package/build/src/database/record/attachments/handle.d.ts.map +1 -1
  33. package/build/src/database/record/index.d.ts +23 -13
  34. package/build/src/database/record/index.d.ts.map +1 -1
  35. package/build/src/database/record/index.js +14 -9
  36. package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts.map +1 -1
  37. package/build/src/environment-handlers/node/cli/commands/generate/base-models.js +2 -15
  38. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +89 -32
  39. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
  40. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.js +123 -72
  41. package/build/src/frontend-model-controller.d.ts.map +1 -1
  42. package/build/src/frontend-model-controller.js +8 -1
  43. package/build/src/frontend-model-resource/base-resource.d.ts +203 -64
  44. package/build/src/frontend-model-resource/base-resource.d.ts.map +1 -1
  45. package/build/src/frontend-model-resource/base-resource.js +237 -54
  46. package/build/src/frontend-models/base.d.ts +173 -110
  47. package/build/src/frontend-models/base.d.ts.map +1 -1
  48. package/build/src/frontend-models/base.js +218 -102
  49. package/build/src/frontend-models/preloader.d.ts.map +1 -1
  50. package/build/src/frontend-models/preloader.js +4 -3
  51. package/build/src/testing/browser-frontend-model-event-hook-scenarios.js +2 -2
  52. package/build/src/testing/expect.d.ts +6 -0
  53. package/build/src/testing/expect.d.ts.map +1 -1
  54. package/build/src/testing/expect.js +9 -1
  55. package/build/testing/browser-frontend-model-event-hook-scenarios.js +1 -1
  56. package/build/testing/expect.js +9 -0
  57. package/package.json +1 -1
  58. package/src/configuration-types.js +2 -0
  59. package/src/database/pool/async-tracked-multi-connection.js +123 -8
  60. package/src/database/pool/base.js +14 -1
  61. package/src/database/record/index.js +13 -8
  62. package/src/environment-handlers/node/cli/commands/generate/base-models.js +1 -16
  63. package/src/environment-handlers/node/cli/commands/generate/frontend-models.js +125 -73
  64. package/src/frontend-model-controller.js +9 -0
  65. package/src/frontend-model-resource/base-resource.js +266 -53
  66. package/src/frontend-models/base.js +241 -97
  67. package/src/frontend-models/preloader.js +3 -2
  68. package/src/testing/browser-frontend-model-event-hook-scenarios.js +1 -1
  69. package/src/testing/expect.js +9 -0
@@ -1,7 +1,24 @@
1
+ /**
2
+ * Built-in frontend-model resource action.
3
+ * @typedef {"index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"} FrontendModelResourceAction
4
+ */
5
+ /**
6
+ * Frontend-model controller methods used by resources.
7
+ * @typedef {import("../controller.js").default & {
8
+ * currentAbility: () => import("../authorization/ability.js").default | undefined,
9
+ * frontendModelAbilityAction: (action: FrontendModelResourceAction) => string,
10
+ * frontendModelAuthorizedQuery: (action: FrontendModelResourceAction) => import("../database/query/model-class-query.js").default<typeof import("../database/record/index.js").default>,
11
+ * frontendModelIndexQuery: () => import("../database/query/model-class-query.js").default<typeof import("../database/record/index.js").default>,
12
+ * frontendModelParams: () => import("../configuration-types.js").VelociousParams,
13
+ * frontendModelPreload: () => import("../database/query/index.js").NestedPreloadRecord | null,
14
+ * frontendModelResourceConfigurationForModelClass: (modelClass: typeof import("../database/record/index.js").default) => FrontendModelResolvedResourceConfiguration | null,
15
+ * serializeFrontendModel: (model: import("../database/record/index.js").default) => Promise<Record<string, object | string | number | boolean | null>>
16
+ * }} FrontendModelResourceController
17
+ */
1
18
  /**
2
19
  * FrontendModelResourceControllerArgs type.
3
20
  * @typedef {object} FrontendModelResourceControllerArgs
4
- * @property {import("../controller.js").default} controller - Frontend-model controller instance.
21
+ * @property {FrontendModelResourceController} controller - Frontend-model controller instance.
5
22
  * @property {typeof import("../database/record/index.js").default} modelClass - Backing model class.
6
23
  * @property {string} modelName - Model name.
7
24
  * @property {import("../configuration-types.js").VelociousParams} params - Request params.
@@ -26,6 +43,27 @@
26
43
  * @property {import("../configuration-types.js").FrontendModelResourceClassType} resourceClass - Resource class.
27
44
  * @property {import("../configuration-types.js").NormalizedFrontendModelResourceConfiguration} resourceConfiguration - Normalized resource configuration.
28
45
  */
46
+ /**
47
+ * Transport-safe value accepted in frontend-model resource mutation payloads.
48
+ * Nested object/array values are intentionally opaque because TypeScript rejects
49
+ * recursive JSDoc typedefs for this transport payload contract.
50
+ * @typedef {import("../frontend-models/base.js").FrontendModelTransportValue | import("../database/record/index.js").default | Record<string, unknown> | Array<unknown>} FrontendModelResourcePayloadValue
51
+ */
52
+ /**
53
+ * Attribute payload accepted by frontend-model resource mutations.
54
+ * @typedef {Record<string, FrontendModelResourcePayloadValue>} FrontendModelResourceAttributePayload
55
+ */
56
+ /**
57
+ * Options passed while saving frontend-model resource mutations.
58
+ * @typedef {object} FrontendModelResourceSaveOptions
59
+ * @property {FrontendModelResourceAttributePayload | null} [attachments] - Uploaded attachment attributes.
60
+ * @property {FrontendModelResourceController | null} [controller] - Controller handling the mutation.
61
+ * @property {FrontendModelResourceAttributePayload | null} [nestedAttributes] - Nested attributes payload.
62
+ */
63
+ /**
64
+ * Normalized nested attributes entry.
65
+ * @typedef {FrontendModelResourceAttributePayload & {id?: string | number, _destroy?: boolean, attributes?: FrontendModelResourceAttributePayload, attachments?: FrontendModelResourceAttributePayload, nestedAttributes?: FrontendModelResourceAttributePayload}} FrontendModelResourceNestedEntry
66
+ */
29
67
  /**
30
68
  * Base class for backend frontend-model resources.
31
69
  * @template {typeof import("../database/record/index.js").default} [TModelClass=typeof import("../database/record/index.js").default]
@@ -77,30 +115,16 @@ export default class FrontendModelBaseResource<TModelClass extends typeof import
77
115
  * @param {FrontendModelResourceAbilityArgs | FrontendModelResourceControllerArgs} args - Resource args.
78
116
  */
79
117
  constructor(args: FrontendModelResourceAbilityArgs | FrontendModelResourceControllerArgs);
80
- controller: import("../controller.js").default | undefined;
118
+ controller: FrontendModelResourceController | undefined;
81
119
  modelClassValue: typeof import("../database/record/index.js").default | undefined;
82
120
  modelNameValue: string | undefined;
83
121
  paramsValue: import("../configuration-types.js").VelociousParams | undefined;
84
122
  resourceConfigurationValue: import("../configuration-types.js").FrontendModelResourceConfiguration | import("../configuration-types.js").NormalizedFrontendModelResourceConfiguration | undefined;
85
123
  /**
86
124
  * Runs typed controller instance.
87
- * @returns {import("../controller.js").default & {
88
- * frontendModelAuthorizedQuery: (action: "index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url") => import("../database/query/model-class-query.js").default<TModelClass>,
89
- * frontendModelAbilityAction: (action: string) => string,
90
- * currentAbility: () => import("../authorization/ability.js").default | undefined,
91
- * frontendModelIndexQuery: () => import("../database/query/model-class-query.js").default<TModelClass>,
92
- * frontendModelPreload: () => import("../database/query/index.js").NestedPreloadRecord | null,
93
- * serializeFrontendModel: (model: import("../database/record/index.js").default) => Promise<Record<string, unknown>>
94
- * }} - Controller instance with frontend-model helpers.
95
- */
96
- typedControllerInstance(): import("../controller.js").default & {
97
- frontendModelAuthorizedQuery: (action: "index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url") => import("../database/query/model-class-query.js").default<TModelClass>;
98
- frontendModelAbilityAction: (action: string) => string;
99
- currentAbility: () => import("../authorization/ability.js").default | undefined;
100
- frontendModelIndexQuery: () => import("../database/query/model-class-query.js").default<TModelClass>;
101
- frontendModelPreload: () => import("../database/query/index.js").NestedPreloadRecord | null;
102
- serializeFrontendModel: (model: import("../database/record/index.js").default) => Promise<Record<string, unknown>>;
103
- };
125
+ * @returns {FrontendModelResourceController} - Controller instance with frontend-model helpers.
126
+ */
127
+ typedControllerInstance(): FrontendModelResourceController;
104
128
  /**
105
129
  * Runs controller instance.
106
130
  * @returns {import("../controller.js").default} - Controller instance.
@@ -170,6 +194,79 @@ export default class FrontendModelBaseResource<TModelClass extends typeof import
170
194
  ability?: import("../authorization/ability.js").default;
171
195
  locals?: Record<string, unknown>;
172
196
  }): Array<string | Record<string, unknown>>;
197
+ /**
198
+ * Normalizes create attributes before permission filtering and saving.
199
+ * @param {FrontendModelResourceAttributePayload} attributes - Incoming create attributes.
200
+ * @param {FrontendModelResourceSaveOptions} options - Save options.
201
+ * @returns {FrontendModelResourceAttributePayload | Promise<FrontendModelResourceAttributePayload>} - Normalized attributes.
202
+ */
203
+ normalizeCreateAttributes(attributes: FrontendModelResourceAttributePayload, options: FrontendModelResourceSaveOptions): FrontendModelResourceAttributePayload | Promise<FrontendModelResourceAttributePayload>;
204
+ /**
205
+ * Normalizes update attributes before permission filtering and saving.
206
+ * @param {import("../database/record/index.js").default} model - Existing model.
207
+ * @param {FrontendModelResourceAttributePayload} attributes - Incoming update attributes.
208
+ * @param {FrontendModelResourceSaveOptions} options - Save options.
209
+ * @returns {FrontendModelResourceAttributePayload | Promise<FrontendModelResourceAttributePayload>} - Normalized attributes.
210
+ */
211
+ normalizeUpdateAttributes(model: import("../database/record/index.js").default, attributes: FrontendModelResourceAttributePayload, options: FrontendModelResourceSaveOptions): FrontendModelResourceAttributePayload | Promise<FrontendModelResourceAttributePayload>;
212
+ /**
213
+ * Runs before create.
214
+ * @param {import("../database/record/index.js").default} model - New model before assignment/save.
215
+ * @param {FrontendModelResourceAttributePayload} attributes - Normalized create attributes.
216
+ * @param {FrontendModelResourceSaveOptions} options - Save options.
217
+ * @returns {void | Promise<void>} - Resolves when the hook finishes.
218
+ */
219
+ beforeCreate(model: import("../database/record/index.js").default, attributes: FrontendModelResourceAttributePayload, options: FrontendModelResourceSaveOptions): void | Promise<void>;
220
+ /**
221
+ * Runs after create.
222
+ * @param {import("../database/record/index.js").default} model - Created model.
223
+ * @param {FrontendModelResourceAttributePayload} attributes - Normalized create attributes.
224
+ * @param {FrontendModelResourceSaveOptions} options - Save options.
225
+ * @returns {void | Promise<void>} - Resolves when the hook finishes.
226
+ */
227
+ afterCreate(model: import("../database/record/index.js").default, attributes: FrontendModelResourceAttributePayload, options: FrontendModelResourceSaveOptions): void | Promise<void>;
228
+ /**
229
+ * Runs before update.
230
+ * @param {import("../database/record/index.js").default} model - Existing model before assignment/save.
231
+ * @param {FrontendModelResourceAttributePayload} attributes - Normalized update attributes.
232
+ * @param {FrontendModelResourceSaveOptions} options - Save options.
233
+ * @returns {void | Promise<void>} - Resolves when the hook finishes.
234
+ */
235
+ beforeUpdate(model: import("../database/record/index.js").default, attributes: FrontendModelResourceAttributePayload, options: FrontendModelResourceSaveOptions): void | Promise<void>;
236
+ /**
237
+ * Runs after update.
238
+ * @param {import("../database/record/index.js").default} model - Updated model.
239
+ * @param {FrontendModelResourceAttributePayload} attributes - Normalized update attributes.
240
+ * @param {FrontendModelResourceSaveOptions} options - Save options.
241
+ * @returns {void | Promise<void>} - Resolves when the hook finishes.
242
+ */
243
+ afterUpdate(model: import("../database/record/index.js").default, attributes: FrontendModelResourceAttributePayload, options: FrontendModelResourceSaveOptions): void | Promise<void>;
244
+ /**
245
+ * Runs before destroy.
246
+ * @param {import("../database/record/index.js").default} model - Model before destroy.
247
+ * @returns {void | Promise<void>} - Resolves when the hook finishes.
248
+ */
249
+ beforeDestroy(model: import("../database/record/index.js").default): void | Promise<void>;
250
+ /**
251
+ * Runs after destroy.
252
+ * @param {import("../database/record/index.js").default} model - Destroyed model.
253
+ * @returns {void | Promise<void>} - Resolves when the hook finishes.
254
+ */
255
+ afterDestroy(model: import("../database/record/index.js").default): void | Promise<void>;
256
+ /**
257
+ * Wraps create/update/destroy resource mutations.
258
+ * @template Result
259
+ * @param {object} args - Transaction args.
260
+ * @param {"create" | "update" | "destroy"} args.action - Mutation action.
261
+ * @param {import("../database/record/index.js").default} args.model - Mutated model.
262
+ * @param {() => Promise<Result>} args.callback - Mutation callback.
263
+ * @returns {Promise<Result>} - Callback result.
264
+ */
265
+ runMutationTransaction<Result>({ action, model, callback }: {
266
+ action: "create" | "update" | "destroy";
267
+ model: import("../database/record/index.js").default;
268
+ callback: () => Promise<Result>;
269
+ }): Promise<Result>;
173
270
  /**
174
271
  * Runs primary key.
175
272
  * @returns {string} - Primary key.
@@ -177,10 +274,10 @@ export default class FrontendModelBaseResource<TModelClass extends typeof import
177
274
  primaryKey(): string;
178
275
  /**
179
276
  * Runs authorized query.
180
- * @param {"index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"} action - Ability action.
277
+ * @param {FrontendModelResourceAction} action - Ability action.
181
278
  * @returns {import("../database/query/model-class-query.js").default<TModelClass>} - Authorized query.
182
279
  */
183
- authorizedQuery(action: "index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"): import("../database/query/model-class-query.js").default<TModelClass>;
280
+ authorizedQuery(action: FrontendModelResourceAction): import("../database/query/model-class-query.js").default<TModelClass>;
184
281
  /**
185
282
  * Runs supports pluck.
186
283
  * @param {"index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"} action - Action.
@@ -218,15 +315,11 @@ export default class FrontendModelBaseResource<TModelClass extends typeof import
218
315
  find(action: "find" | "update" | "destroy" | "attach" | "download" | "url", id: string | number): Promise<import("../database/record/index.js").default | null>;
219
316
  /**
220
317
  * Runs create.
221
- * @param {Record<string, ?>} attributes - Create attributes.
222
- * @param {{attachments?: Record<string, ?> | null, controller?: ?, nestedAttributes?: Record<string, ?> | null}} [options] - Save options.
318
+ * @param {FrontendModelResourceAttributePayload} attributes - Create attributes.
319
+ * @param {FrontendModelResourceSaveOptions} [options] - Save options.
223
320
  * @returns {Promise<import("../database/record/index.js").default>} - Created model.
224
321
  */
225
- create(attributes: Record<string, unknown>, options?: {
226
- attachments?: Record<string, unknown> | null;
227
- controller?: unknown;
228
- nestedAttributes?: Record<string, unknown> | null;
229
- }): Promise<import("../database/record/index.js").default>;
322
+ create(attributes: FrontendModelResourceAttributePayload, options?: FrontendModelResourceSaveOptions): Promise<import("../database/record/index.js").default>;
230
323
  /**
231
324
  * Runs handle unauthorized created model.
232
325
  * @param {import("../database/record/index.js").default} model - Created model.
@@ -236,28 +329,20 @@ export default class FrontendModelBaseResource<TModelClass extends typeof import
236
329
  /**
237
330
  * Runs update.
238
331
  * @param {import("../database/record/index.js").default} model - Existing model.
239
- * @param {Record<string, ?>} attributes - Update attributes.
240
- * @param {{attachments?: Record<string, ?> | null, controller?: ?, nestedAttributes?: Record<string, ?> | null}} [options] - Save options.
332
+ * @param {FrontendModelResourceAttributePayload} attributes - Update attributes.
333
+ * @param {FrontendModelResourceSaveOptions} [options] - Save options.
241
334
  * @returns {Promise<import("../database/record/index.js").default>} - Updated model.
242
335
  */
243
- update(model: import("../database/record/index.js").default, attributes: Record<string, unknown>, options?: {
244
- attachments?: Record<string, unknown> | null;
245
- controller?: unknown;
246
- nestedAttributes?: Record<string, unknown> | null;
247
- }): Promise<import("../database/record/index.js").default>;
336
+ update(model: import("../database/record/index.js").default, attributes: FrontendModelResourceAttributePayload, options?: FrontendModelResourceSaveOptions): Promise<import("../database/record/index.js").default>;
248
337
  /**
249
338
  * Saves a model and applies nested attributes in one transaction.
250
- * @param {{filtered: Record<string, ?>, model: import("../database/record/index.js").default, options: {attachments?: Record<string, ?> | null, controller?: ?, nestedAttributes?: Record<string, ?> | null}, permit: {attributes: string[], nested: Record<string, ?>}}} args - Save arguments.
339
+ * @param {{filtered: Record<string, ?>, model: import("../database/record/index.js").default, options: FrontendModelResourceSaveOptions, permit: {attributes: string[], nested: Record<string, ?>}}} args - Save arguments.
251
340
  * @returns {Promise<import("../database/record/index.js").default>} - Saved model.
252
341
  */
253
342
  _saveWithNestedAttributes({ filtered, model, options, permit }: {
254
343
  filtered: Record<string, unknown>;
255
344
  model: import("../database/record/index.js").default;
256
- options: {
257
- attachments?: Record<string, unknown> | null;
258
- controller?: unknown;
259
- nestedAttributes?: Record<string, unknown> | null;
260
- };
345
+ options: FrontendModelResourceSaveOptions;
261
346
  permit: {
262
347
  attributes: string[];
263
348
  nested: Record<string, unknown>;
@@ -293,10 +378,10 @@ export default class FrontendModelBaseResource<TModelClass extends typeof import
293
378
  * Sets a translated attribute on a model via the translations relationship.
294
379
  * @param {import("../database/record/index.js").default} model - Model instance.
295
380
  * @param {string} name - Attribute name.
296
- * @param {?} value - Attribute value.
381
+ * @param {FrontendModelResourcePayloadValue} value - Attribute value.
297
382
  * @returns {Promise<void>}
298
383
  */
299
- _setTranslatedAttributeOnModel(model: import("../database/record/index.js").default, name: string, value: unknown): Promise<void>;
384
+ _setTranslatedAttributeOnModel(model: import("../database/record/index.js").default, name: string, value: FrontendModelResourcePayloadValue): Promise<void>;
300
385
  /**
301
386
  * Runs destroy.
302
387
  * @param {import("../database/record/index.js").default} model - Existing model.
@@ -315,72 +400,72 @@ export default class FrontendModelBaseResource<TModelClass extends typeof import
315
400
  * @param {object} args - Nested relationship inputs.
316
401
  * @param {import("../database/record/index.js").default} args.parent - Parent model instance.
317
402
  * @param {string} args.relationshipName - Relationship receiving nested attributes.
318
- * @param {?} args.rawEntries - Raw nested entries from the request payload.
403
+ * @param {FrontendModelResourcePayloadValue} args.rawEntries - Raw nested entries from the request payload.
319
404
  * @param {{attributes: string[], nested: Record<string, ?>}} args.childPermit - Parsed child permit.
320
- * @param {?} args.controller - Controller instance for child resource lookup.
321
- * @returns {{ability: import("../authorization/ability.js").default | undefined, childResource: FrontendModelBaseResource, childResourceConfig: FrontendModelResolvedResourceConfiguration, childWritableAttributes: string[], destroyPermitted: boolean, entries: Array<Record<string, ?>>, relationship: import("../database/record/relationships/base.js").default, targetModelClass: typeof import("../database/record/index.js").default}} Nested relationship context.
405
+ * @param {FrontendModelResourceController | null | undefined} args.controller - Controller instance for child resource lookup.
406
+ * @returns {{ability: import("../authorization/ability.js").default | undefined, childResource: FrontendModelBaseResource, childResourceConfig: FrontendModelResolvedResourceConfiguration, childWritableAttributes: string[], destroyPermitted: boolean, entries: Array<FrontendModelResourceNestedEntry>, relationship: import("../database/record/relationships/base.js").default, targetModelClass: typeof import("../database/record/index.js").default}} Nested relationship context.
322
407
  */
323
408
  _nestedRelationshipContext({ parent, relationshipName, rawEntries, childPermit, controller }: {
324
409
  parent: import("../database/record/index.js").default;
325
410
  relationshipName: string;
326
- rawEntries: unknown;
411
+ rawEntries: FrontendModelResourcePayloadValue;
327
412
  childPermit: {
328
413
  attributes: string[];
329
414
  nested: Record<string, unknown>;
330
415
  };
331
- controller: unknown;
416
+ controller: FrontendModelResourceController | null | undefined;
332
417
  }): {
333
418
  ability: import("../authorization/ability.js").default | undefined;
334
419
  childResource: FrontendModelBaseResource;
335
420
  childResourceConfig: FrontendModelResolvedResourceConfiguration;
336
421
  childWritableAttributes: string[];
337
422
  destroyPermitted: boolean;
338
- entries: Array<Record<string, unknown>>;
423
+ entries: Array<FrontendModelResourceNestedEntry>;
339
424
  relationship: import("../database/record/relationships/base.js").default;
340
425
  targetModelClass: typeof import("../database/record/index.js").default;
341
426
  };
342
427
  /**
343
428
  * Normalizes nested entries for collection and singular relationships.
344
429
  * @param {object} args - Nested entries inputs.
345
- * @param {?} args.rawEntries - Raw nested entries value.
430
+ * @param {FrontendModelResourcePayloadValue} args.rawEntries - Raw nested entries value.
346
431
  * @param {string} args.relationshipName - Relationship name.
347
432
  * @param {string} args.relationshipType - Relationship type.
348
- * @returns {Array<Record<string, ?>>} Normalized nested entry objects.
433
+ * @returns {Array<FrontendModelResourceNestedEntry>} Normalized nested entry objects.
349
434
  */
350
435
  _nestedRelationshipEntries({ rawEntries, relationshipName, relationshipType }: {
351
- rawEntries: unknown;
436
+ rawEntries: FrontendModelResourcePayloadValue;
352
437
  relationshipName: string;
353
438
  relationshipType: string;
354
- }): Array<Record<string, unknown>>;
439
+ }): Array<FrontendModelResourceNestedEntry>;
355
440
  /**
356
441
  * Normalizes one nested entry from either internal transport shape
357
442
  * (`{attributes, attachments, nestedAttributes}`) or direct Rails-style
358
443
  * fields (`{name, file, commentsAttributes}`).
359
444
  * @param {object} args - Normalization inputs.
360
445
  * @param {{attributes: string[], nested: Record<string, ?>}} args.childPermit - Parsed child permit spec.
361
- * @param {Record<string, ?>} args.entry - Raw nested entry.
446
+ * @param {FrontendModelResourceNestedEntry} args.entry - Raw nested entry.
362
447
  * @param {string} args.relationshipName - Relationship name for error messages.
363
448
  * @param {typeof import("../database/record/index.js").default} args.targetModelClass - Child model class.
364
- * @returns {Record<string, ?>} Normalized nested entry.
449
+ * @returns {FrontendModelResourceNestedEntry} Normalized nested entry.
365
450
  */
366
451
  _normalizeNestedRelationshipEntry({ childPermit, entry, relationshipName, targetModelClass }: {
367
452
  childPermit: {
368
453
  attributes: string[];
369
454
  nested: Record<string, unknown>;
370
455
  };
371
- entry: Record<string, unknown>;
456
+ entry: FrontendModelResourceNestedEntry;
372
457
  relationshipName: string;
373
458
  targetModelClass: typeof import("../database/record/index.js").default;
374
- }): Record<string, unknown>;
459
+ }): FrontendModelResourceNestedEntry;
375
460
  /**
376
461
  * Applies belongs-to nested attributes before the parent save so the parent FK can be set.
377
462
  * @param {import("../database/record/index.js").default} parent - Parent model instance.
378
- * @param {Record<string, ?>} nestedAttributes - Nested-attribute payload keyed by relationship name.
379
- * @param {?} controller - Controller instance for resource resolution and authorization.
463
+ * @param {FrontendModelResourceAttributePayload} nestedAttributes - Nested-attribute payload keyed by relationship name.
464
+ * @param {FrontendModelResourceController | null | undefined} controller - Controller instance for resource resolution and authorization.
380
465
  * @param {{attributes: string[], nested: Record<string, ?>} | null} [parentPermit] - Parsed parent permit spec.
381
466
  * @returns {Promise<void>}
382
467
  */
383
- _applyBelongsToNestedAttributes(parent: import("../database/record/index.js").default, nestedAttributes: Record<string, unknown>, controller: unknown, parentPermit?: {
468
+ _applyBelongsToNestedAttributes(parent: import("../database/record/index.js").default, nestedAttributes: FrontendModelResourceAttributePayload, controller: FrontendModelResourceController | null | undefined, parentPermit?: {
384
469
  attributes: string[];
385
470
  nested: Record<string, unknown>;
386
471
  } | null): Promise<void>;
@@ -397,12 +482,12 @@ export default class FrontendModelBaseResource<TModelClass extends typeof import
397
482
  * (allowDestroy, limit, rejectIf) come from the MODEL's
398
483
  * `acceptedNestedAttributesFor(name)` declaration.
399
484
  * @param {import("../database/record/index.js").default} parent - Parent model instance.
400
- * @param {Record<string, ?>} nestedAttributes - Nested-attribute payload keyed by relationship name.
401
- * @param {?} controller - Controller instance for resource resolution and authorization.
485
+ * @param {FrontendModelResourceAttributePayload} nestedAttributes - Nested-attribute payload keyed by relationship name.
486
+ * @param {FrontendModelResourceController | null | undefined} controller - Controller instance for resource resolution and authorization.
402
487
  * @param {{attributes: string[], nested: Record<string, ?>} | null} [parentPermit] - Parsed parent permit spec.
403
488
  * @returns {Promise<void>}
404
489
  */
405
- _applyNestedAttributes(parent: import("../database/record/index.js").default, nestedAttributes: Record<string, unknown>, controller: unknown, parentPermit?: {
490
+ _applyNestedAttributes(parent: import("../database/record/index.js").default, nestedAttributes: FrontendModelResourceAttributePayload, controller: FrontendModelResourceController | null | undefined, parentPermit?: {
406
491
  attributes: string[];
407
492
  nested: Record<string, unknown>;
408
493
  } | null): Promise<void>;
@@ -534,6 +619,23 @@ export default class FrontendModelBaseResource<TModelClass extends typeof import
534
619
  nested: Record<string, unknown>;
535
620
  }): Promise<void>;
536
621
  }
622
+ /**
623
+ * Built-in frontend-model resource action.
624
+ */
625
+ export type FrontendModelResourceAction = "index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url";
626
+ /**
627
+ * Frontend-model controller methods used by resources.
628
+ */
629
+ export type FrontendModelResourceController = import("../controller.js").default & {
630
+ currentAbility: () => import("../authorization/ability.js").default | undefined;
631
+ frontendModelAbilityAction: (action: FrontendModelResourceAction) => string;
632
+ frontendModelAuthorizedQuery: (action: FrontendModelResourceAction) => import("../database/query/model-class-query.js").default<typeof import("../database/record/index.js").default>;
633
+ frontendModelIndexQuery: () => import("../database/query/model-class-query.js").default<typeof import("../database/record/index.js").default>;
634
+ frontendModelParams: () => import("../configuration-types.js").VelociousParams;
635
+ frontendModelPreload: () => import("../database/query/index.js").NestedPreloadRecord | null;
636
+ frontendModelResourceConfigurationForModelClass: (modelClass: typeof import("../database/record/index.js").default) => FrontendModelResolvedResourceConfiguration | null;
637
+ serializeFrontendModel: (model: import("../database/record/index.js").default) => Promise<Record<string, object | string | number | boolean | null>>;
638
+ };
537
639
  /**
538
640
  * FrontendModelResourceControllerArgs type.
539
641
  */
@@ -541,7 +643,7 @@ export type FrontendModelResourceControllerArgs = {
541
643
  /**
542
644
  * - Frontend-model controller instance.
543
645
  */
544
- controller: import("../controller.js").default;
646
+ controller: FrontendModelResourceController;
545
647
  /**
546
648
  * - Backing model class.
547
649
  */
@@ -613,5 +715,42 @@ export type FrontendModelResolvedResourceConfiguration = {
613
715
  */
614
716
  resourceConfiguration: import("../configuration-types.js").NormalizedFrontendModelResourceConfiguration;
615
717
  };
718
+ /**
719
+ * Transport-safe value accepted in frontend-model resource mutation payloads.
720
+ * Nested object/array values are intentionally opaque because TypeScript rejects
721
+ * recursive JSDoc typedefs for this transport payload contract.
722
+ */
723
+ export type FrontendModelResourcePayloadValue = import("../frontend-models/base.js").FrontendModelTransportValue | import("../database/record/index.js").default | Record<string, unknown> | Array<unknown>;
724
+ /**
725
+ * Attribute payload accepted by frontend-model resource mutations.
726
+ */
727
+ export type FrontendModelResourceAttributePayload = Record<string, FrontendModelResourcePayloadValue>;
728
+ /**
729
+ * Options passed while saving frontend-model resource mutations.
730
+ */
731
+ export type FrontendModelResourceSaveOptions = {
732
+ /**
733
+ * - Uploaded attachment attributes.
734
+ */
735
+ attachments?: FrontendModelResourceAttributePayload | null | undefined;
736
+ /**
737
+ * - Controller handling the mutation.
738
+ */
739
+ controller?: FrontendModelResourceController | null | undefined;
740
+ /**
741
+ * - Nested attributes payload.
742
+ */
743
+ nestedAttributes?: FrontendModelResourceAttributePayload | null | undefined;
744
+ };
745
+ /**
746
+ * Normalized nested attributes entry.
747
+ */
748
+ export type FrontendModelResourceNestedEntry = FrontendModelResourceAttributePayload & {
749
+ id?: string | number;
750
+ _destroy?: boolean;
751
+ attributes?: FrontendModelResourceAttributePayload;
752
+ attachments?: FrontendModelResourceAttributePayload;
753
+ nestedAttributes?: FrontendModelResourceAttributePayload;
754
+ };
616
755
  import AuthorizationBaseResource from "../authorization/base-resource.js";
617
756
  //# sourceMappingURL=base-resource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-resource.d.ts","sourceRoot":"","sources":["../../../src/frontend-model-resource/base-resource.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-resource.d.ts","sourceRoot":"","sources":["../../../src/frontend-model-resource/base-resource.js"],"names":[],"mappings":"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"}