velocious 1.0.448 → 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.
- package/build/database/record/index.js +13 -8
- package/build/environment-handlers/node/cli/commands/generate/base-models.js +1 -16
- package/build/environment-handlers/node/cli/commands/generate/frontend-models.js +125 -73
- package/build/frontend-model-controller.js +9 -0
- package/build/frontend-model-resource/base-resource.js +266 -53
- package/build/frontend-models/base.js +241 -97
- package/build/frontend-models/preloader.js +3 -2
- package/build/src/background-jobs/job-record.d.ts +2 -1
- package/build/src/background-jobs/job-record.d.ts.map +1 -1
- package/build/src/database/query/preloader/belongs-to.d.ts +2 -2
- package/build/src/database/query/preloader/belongs-to.d.ts.map +1 -1
- package/build/src/database/query/preloader/has-many.d.ts +1 -1
- package/build/src/database/query/preloader/has-many.d.ts.map +1 -1
- package/build/src/database/query/preloader/has-one.d.ts +2 -2
- package/build/src/database/query/preloader/has-one.d.ts.map +1 -1
- package/build/src/database/query/preloader.d.ts +1 -1
- package/build/src/database/query/preloader.d.ts.map +1 -1
- package/build/src/database/record/attachments/handle.d.ts +1 -1
- package/build/src/database/record/attachments/handle.d.ts.map +1 -1
- package/build/src/database/record/index.d.ts +23 -13
- package/build/src/database/record/index.d.ts.map +1 -1
- package/build/src/database/record/index.js +14 -9
- package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/base-models.js +2 -15
- package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +89 -32
- package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.js +123 -72
- package/build/src/frontend-model-controller.d.ts.map +1 -1
- package/build/src/frontend-model-controller.js +8 -1
- package/build/src/frontend-model-resource/base-resource.d.ts +203 -64
- package/build/src/frontend-model-resource/base-resource.d.ts.map +1 -1
- package/build/src/frontend-model-resource/base-resource.js +237 -54
- package/build/src/frontend-models/base.d.ts +173 -110
- package/build/src/frontend-models/base.d.ts.map +1 -1
- package/build/src/frontend-models/base.js +218 -102
- package/build/src/frontend-models/preloader.d.ts.map +1 -1
- package/build/src/frontend-models/preloader.js +4 -3
- package/build/src/testing/browser-frontend-model-event-hook-scenarios.js +2 -2
- package/build/src/testing/expect.d.ts +6 -0
- package/build/src/testing/expect.d.ts.map +1 -1
- package/build/src/testing/expect.js +9 -1
- package/build/testing/browser-frontend-model-event-hook-scenarios.js +1 -1
- package/build/testing/expect.js +9 -0
- package/package.json +1 -1
- package/src/database/record/index.js +13 -8
- package/src/environment-handlers/node/cli/commands/generate/base-models.js +1 -16
- package/src/environment-handlers/node/cli/commands/generate/frontend-models.js +125 -73
- package/src/frontend-model-controller.js +9 -0
- package/src/frontend-model-resource/base-resource.js +266 -53
- package/src/frontend-models/base.js +241 -97
- package/src/frontend-models/preloader.js +3 -2
- package/src/testing/browser-frontend-model-event-hook-scenarios.js +1 -1
- 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 {
|
|
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:
|
|
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 {
|
|
88
|
-
|
|
89
|
-
|
|
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 {
|
|
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:
|
|
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 {
|
|
222
|
-
* @param {
|
|
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:
|
|
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 {
|
|
240
|
-
* @param {
|
|
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:
|
|
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:
|
|
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 {
|
|
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:
|
|
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 {
|
|
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 {
|
|
321
|
-
* @returns {{ability: import("../authorization/ability.js").default | undefined, childResource: FrontendModelBaseResource, childResourceConfig: FrontendModelResolvedResourceConfiguration, childWritableAttributes: string[], destroyPermitted: boolean, entries: Array<
|
|
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:
|
|
411
|
+
rawEntries: FrontendModelResourcePayloadValue;
|
|
327
412
|
childPermit: {
|
|
328
413
|
attributes: string[];
|
|
329
414
|
nested: Record<string, unknown>;
|
|
330
415
|
};
|
|
331
|
-
controller:
|
|
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<
|
|
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 {
|
|
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<
|
|
433
|
+
* @returns {Array<FrontendModelResourceNestedEntry>} Normalized nested entry objects.
|
|
349
434
|
*/
|
|
350
435
|
_nestedRelationshipEntries({ rawEntries, relationshipName, relationshipType }: {
|
|
351
|
-
rawEntries:
|
|
436
|
+
rawEntries: FrontendModelResourcePayloadValue;
|
|
352
437
|
relationshipName: string;
|
|
353
438
|
relationshipType: string;
|
|
354
|
-
}): Array<
|
|
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 {
|
|
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 {
|
|
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:
|
|
456
|
+
entry: FrontendModelResourceNestedEntry;
|
|
372
457
|
relationshipName: string;
|
|
373
458
|
targetModelClass: typeof import("../database/record/index.js").default;
|
|
374
|
-
}):
|
|
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 {
|
|
379
|
-
* @param {
|
|
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:
|
|
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 {
|
|
401
|
-
* @param {
|
|
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:
|
|
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:
|
|
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":"AAMA;;;;;;;;GAQG;AAEH;;;;;;;;;;GAUG;AAEH;;;;;;;GAOG;AAEH;;;GAGG;AACH,+CAFqE,WAAW,SAAnE,cAAe,6BAA6B,EAAE,OAAQ;IAQjE;;yDAEqD;IACrD,mBADS,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CACpB;IAC7B;;qCAEiC;IACjC,kBADS,MAAM,EAAE,GAAG,SAAS,CACD;IAC5B;;8CAE0C;IAC1C,oBADS,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,GAAG,SAAS,CACR;IAC9B;;qCAEiC;IACjC,2BADS,MAAM,EAAE,GAAG,SAAS,CACQ;IACrC;;qCAEiC;IACjC,kCADS,MAAM,EAAE,GAAG,SAAS,CACe;IAC5C;;qCAEiC;IACjC,uBADS,MAAM,EAAE,GAAG,SAAS,CACI;IACjC;;qCAEiC;IACjC,8BADS,MAAM,EAAE,GAAG,SAAS,CACW;IACxC;;qCAEiC;IACjC,sBADS,MAAM,EAAE,GAAG,SAAS,CACG;IAChC;;qCAEiC;IACjC,6BADS,MAAM,EAAE,GAAG,SAAS,CACU;
|
|
1
|
+
{"version":3,"file":"base-resource.d.ts","sourceRoot":"","sources":["../../../src/frontend-model-resource/base-resource.js"],"names":[],"mappings":"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"}
|