@futdevpro/nts-dynamo 1.15.285 → 1.15.290
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/_collections/operation-rest.util.d.ts +1 -1
- package/build/_collections/operation-rest.util.d.ts.map +1 -1
- package/build/_collections/operation-rest.util.js +6 -3
- package/build/_collections/operation-rest.util.js.map +1 -1
- package/build/_modules/defaults/_collections/default-endpoints.util.d.ts +15 -0
- package/build/_modules/defaults/_collections/default-endpoints.util.d.ts.map +1 -1
- package/build/_modules/defaults/_collections/default-endpoints.util.js +56 -64
- package/build/_modules/defaults/_collections/default-endpoints.util.js.map +1 -1
- package/build/_modules/defaults/_collections/default-operations.util.d.ts +110 -0
- package/build/_modules/defaults/_collections/default-operations.util.d.ts.map +1 -0
- package/build/_modules/defaults/_collections/default-operations.util.js +156 -0
- package/build/_modules/defaults/_collections/default-operations.util.js.map +1 -0
- package/build/_modules/defaults/index.d.ts +1 -0
- package/build/_modules/defaults/index.d.ts.map +1 -1
- package/build/_modules/defaults/index.js +1 -0
- package/build/_modules/defaults/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -12,7 +12,7 @@ export declare const DyNTS_operationWarningsHeader: string;
|
|
|
12
12
|
* - `dryRun`: the `dryRun=true` query parameter or the `X-Dry-Run: true` header;
|
|
13
13
|
* - `requestId`: the `X-Request-Id` header, generated when missing;
|
|
14
14
|
* - inputs: in the declaration order of `operation.inputs`, each from the path params first, then the query;
|
|
15
|
-
* the request body is appended as the last input when the operation declares `bodyParams`.
|
|
15
|
+
* the request body is appended as the last input when the operation declares `bodyParams` or `isBodyUntyped`.
|
|
16
16
|
*
|
|
17
17
|
* @example
|
|
18
18
|
* ```ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-rest.util.d.ts","sourceRoot":"","sources":["../../src/_collections/operation-rest.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EACgC,sBAAsB,EAAE,uBAAuB,EAErF,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"operation-rest.util.d.ts","sourceRoot":"","sources":["../../src/_collections/operation-rest.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EACgC,sBAAsB,EAAE,uBAAuB,EAErF,MAAM,uBAAuB,CAAC;AAW/B,kGAAkG;AAClG,eAAO,MAAM,6BAA6B,EAAE,MAA+B,CAAC;AAE5E;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,wBAAwB;IACnC;;;;;OAKG;WACU,MAAM,CACjB,SAAS,EAAE,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAC/D,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC;IAYhB;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,sBAAsB;IAkBzD;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,EAAE;IA0B5G,+DAA+D;IAC/D,OAAO,CAAC,MAAM,CAAC,MAAM;IAkDrB,kEAAkE;IAClE,OAAO,CAAC,MAAM,CAAC,WAAW;IAM1B,iEAAiE;IACjE,OAAO,CAAC,MAAM,CAAC,UAAU;IAOzB,6CAA6C;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ;IAIvB,sCAAsC;IACtC,OAAO,CAAC,MAAM,CAAC,UAAU;CAU1B"}
|
|
@@ -4,6 +4,8 @@ exports.DyNTS_OperationRest_Util = exports.DyNTS_operationWarningsHeader = void
|
|
|
4
4
|
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
5
5
|
const global_service_1 = require("../_services/core/global.service");
|
|
6
6
|
const global_settings_const_1 = require("./global-settings.const");
|
|
7
|
+
/** A decimal number as written by a caller (sign, digits, fraction, exponent) — no hex/binary/octal, no `Infinity`. */
|
|
8
|
+
const DyNTS_operationDecimalNumber = /^[-+]?(\d+\.?\d*|\.\d+)([eE][-+]?\d+)?$/;
|
|
7
9
|
/** Response header that carries the non-fatal warnings of an operation call (comma separated). */
|
|
8
10
|
exports.DyNTS_operationWarningsHeader = 'X-Operation-Warnings';
|
|
9
11
|
/**
|
|
@@ -16,7 +18,7 @@ exports.DyNTS_operationWarningsHeader = 'X-Operation-Warnings';
|
|
|
16
18
|
* - `dryRun`: the `dryRun=true` query parameter or the `X-Dry-Run: true` header;
|
|
17
19
|
* - `requestId`: the `X-Request-Id` header, generated when missing;
|
|
18
20
|
* - inputs: in the declaration order of `operation.inputs`, each from the path params first, then the query;
|
|
19
|
-
* the request body is appended as the last input when the operation declares `bodyParams`.
|
|
21
|
+
* the request body is appended as the last input when the operation declares `bodyParams` or `isBodyUntyped`.
|
|
20
22
|
*
|
|
21
23
|
* @example
|
|
22
24
|
* ```ts
|
|
@@ -75,7 +77,7 @@ class DyNTS_OperationRest_Util {
|
|
|
75
77
|
}
|
|
76
78
|
return DyNTS_OperationRest_Util.coerce({ operation: operation, name: name, input: input, raw: raw });
|
|
77
79
|
});
|
|
78
|
-
if (operation?.bodyParams) {
|
|
80
|
+
if (operation?.bodyParams || operation?.isBodyUntyped) {
|
|
79
81
|
inputs.push(req?.body);
|
|
80
82
|
}
|
|
81
83
|
return inputs;
|
|
@@ -90,7 +92,8 @@ class DyNTS_OperationRest_Util {
|
|
|
90
92
|
let value = text;
|
|
91
93
|
if (input.type === fsm_dynamo_1.DyFM_BasicProperty_Type.number) {
|
|
92
94
|
value = Number(text);
|
|
93
|
-
|
|
95
|
+
// decimal notation only and finite: `Infinity`, `0x10` or `0b11` must not reach e.g. a paging limit
|
|
96
|
+
if (!DyNTS_operationDecimalNumber.test(text.trim()) || !Number.isFinite(value)) {
|
|
94
97
|
throw DyNTS_OperationRest_Util.inputError('DyNTS-OPR-INT', `operation "${operation.name}": input "${name}" must be a number`, name);
|
|
95
98
|
}
|
|
96
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-rest.util.js","sourceRoot":"","sources":["../../src/_collections/operation-rest.util.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"operation-rest.util.js","sourceRoot":"","sources":["../../src/_collections/operation-rest.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -245,5 +245,20 @@ export declare class DyNTS_DefaultEndpoints_Util {
|
|
|
245
245
|
};
|
|
246
246
|
idParamName?: string;
|
|
247
247
|
}): DyNTS_Endpoint_Params[];
|
|
248
|
+
/**
|
|
249
|
+
* Resolves the path param that carries the id of a delete endpoint (HP-DOPL MP-2.4).
|
|
250
|
+
*
|
|
251
|
+
* The delete check used to be `includesIgnoreCase(path, idParamName)`, which also matches word suffixes
|
|
252
|
+
* (`taskId` → `id`) and so passed for EVERY path with `:userId` — while the task read `req.params[idParamName]`.
|
|
253
|
+
* Measured consequence: `entityName: 'StockItem'` on `/:userId/item/delete/:itemId` read `stockitemId` (undefined).
|
|
254
|
+
*
|
|
255
|
+
* The lenient matching is kept (existing paths keep booting), but the result is now the real param name:
|
|
256
|
+
* exact match (`:userId` included) → case-insensitive match → the single param whose name ends the id name
|
|
257
|
+
* (`stockitemId` → `itemId`); the last two skip `:userId`, the owner guard param.
|
|
258
|
+
* @param endpointPath - the endpoint path
|
|
259
|
+
* @param idParamName - the configured (or default) id param name
|
|
260
|
+
* @throws 406 `DyNTS-DEU-DE0` when no path param (or more than one) can carry the id
|
|
261
|
+
*/
|
|
262
|
+
private static resolveDeleteIdParam;
|
|
248
263
|
}
|
|
249
264
|
//# sourceMappingURL=default-endpoints.util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-endpoints.util.d.ts","sourceRoot":"","sources":["../../../../src/_modules/defaults/_collections/default-endpoints.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAiC,aAAa,
|
|
1
|
+
{"version":3,"file":"default-endpoints.util.d.ts","sourceRoot":"","sources":["../../../../src/_modules/defaults/_collections/default-endpoints.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ exports.DyNTS_DefaultEndpoints_Util = void 0;
|
|
|
4
4
|
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
5
5
|
const endpoint_params_control_model_1 = require("../../../_models/control-models/endpoint-params.control-model");
|
|
6
6
|
const global_settings_const_1 = require("../../../_collections/global-settings.const");
|
|
7
|
+
const default_operations_util_1 = require("./default-operations.util");
|
|
7
8
|
/**
|
|
8
9
|
* Alapértelmezett endpoint-ok létrehozásához használt utility class.
|
|
9
10
|
* Az Organizer Modules mintáját követve generálja a standard CRUD endpoint-okat.
|
|
@@ -56,15 +57,9 @@ class DyNTS_DefaultEndpoints_Util {
|
|
|
56
57
|
type: fsm_dynamo_1.DyFM_HttpCallType.get,
|
|
57
58
|
endpoint: set.endpointPath,
|
|
58
59
|
preProcesses: [set.authService.authenticate_tokenSelf],
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
issuer: issuer,
|
|
63
|
-
});
|
|
64
|
-
const data = await dataService.getDataById(req.params[idParamName]);
|
|
65
|
-
res.send(dataService.getProvidedData(data));
|
|
66
|
-
},
|
|
67
|
-
],
|
|
60
|
+
operation: default_operations_util_1.DyNTS_DefaultOperations_Util.getGetOperation({
|
|
61
|
+
entityName: set.entityName, dataServiceClass: set.dataServiceClass, idParamName: idParamName,
|
|
62
|
+
}),
|
|
68
63
|
});
|
|
69
64
|
}
|
|
70
65
|
static getGetMyEndpoint(set) {
|
|
@@ -81,15 +76,9 @@ class DyNTS_DefaultEndpoints_Util {
|
|
|
81
76
|
type: fsm_dynamo_1.DyFM_HttpCallType.get,
|
|
82
77
|
endpoint: set.endpointPath,
|
|
83
78
|
preProcesses: [set.authService.authenticate_tokenSelf],
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
issuer: issuer,
|
|
88
|
-
});
|
|
89
|
-
const dataList = await dataService.getDataListByDependencyId({ userId: req.params.userId });
|
|
90
|
-
res.send(dataService.getProvidedDataList(dataList));
|
|
91
|
-
},
|
|
92
|
-
],
|
|
79
|
+
operation: default_operations_util_1.DyNTS_DefaultOperations_Util.getGetMyOperation({
|
|
80
|
+
entityName: set.entityName, dataServiceClass: set.dataServiceClass,
|
|
81
|
+
}),
|
|
93
82
|
});
|
|
94
83
|
}
|
|
95
84
|
/**
|
|
@@ -127,16 +116,9 @@ class DyNTS_DefaultEndpoints_Util {
|
|
|
127
116
|
type: fsm_dynamo_1.DyFM_HttpCallType.post,
|
|
128
117
|
endpoint: set.endpointPath,
|
|
129
118
|
preProcesses: [set.authService.authenticate_tokenSelf],
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
issuer: issuer,
|
|
134
|
-
});
|
|
135
|
-
const searchResults = await dataService.searchData(req.body);
|
|
136
|
-
searchResults.results = dataService.getProvidedDataList(searchResults.results);
|
|
137
|
-
res.send(searchResults);
|
|
138
|
-
},
|
|
139
|
-
],
|
|
119
|
+
operation: default_operations_util_1.DyNTS_DefaultOperations_Util.getSearchOperation({
|
|
120
|
+
entityName: set.entityName, dataServiceClass: set.dataServiceClass,
|
|
121
|
+
}),
|
|
140
122
|
});
|
|
141
123
|
}
|
|
142
124
|
/**
|
|
@@ -175,15 +157,9 @@ class DyNTS_DefaultEndpoints_Util {
|
|
|
175
157
|
type: fsm_dynamo_1.DyFM_HttpCallType.post,
|
|
176
158
|
endpoint: set.endpointPath,
|
|
177
159
|
preProcesses: [set.authService.authenticate_tokenSelf],
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
issuer: issuer,
|
|
182
|
-
});
|
|
183
|
-
const data = await dataService.saveData(req.body);
|
|
184
|
-
res.send(dataService.getProvidedData(data));
|
|
185
|
-
},
|
|
186
|
-
],
|
|
160
|
+
operation: default_operations_util_1.DyNTS_DefaultOperations_Util.getModifyOperation({
|
|
161
|
+
entityName: set.entityName, dataServiceClass: set.dataServiceClass,
|
|
162
|
+
}),
|
|
187
163
|
});
|
|
188
164
|
}
|
|
189
165
|
/**
|
|
@@ -210,16 +186,9 @@ class DyNTS_DefaultEndpoints_Util {
|
|
|
210
186
|
* ```
|
|
211
187
|
*/
|
|
212
188
|
static getDeleteEndpoint(set) {
|
|
213
|
-
|
|
189
|
+
// HP-DOPL MP-2.4: the id is resolved to the path param that REALLY carries it (see resolveDeleteIdParam)
|
|
190
|
+
const idParamName = DyNTS_DefaultEndpoints_Util.resolveDeleteIdParam(set.endpointPath, set.idParamName ?? `${set.entityName.toLowerCase()}Id`);
|
|
214
191
|
const endpointName = `delete${set.entityName}`;
|
|
215
|
-
// Ellenőrizzük a casing-ignore módon, hogy az endpoint path tartalmazza-e az ID paramétert
|
|
216
|
-
if (!fsm_dynamo_1.DyFM_StringCase.includesIgnoreCase(set.endpointPath, idParamName)) {
|
|
217
|
-
throw new fsm_dynamo_1.DyFM_Error({
|
|
218
|
-
status: 406,
|
|
219
|
-
errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DEU-DE0`,
|
|
220
|
-
message: `endpoint path does not contain the ID parameter: ${idParamName}`,
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
192
|
if (!set.endpointPath.includes(`:userId`)) {
|
|
224
193
|
throw new fsm_dynamo_1.DyFM_Error({
|
|
225
194
|
status: 406,
|
|
@@ -232,15 +201,9 @@ class DyNTS_DefaultEndpoints_Util {
|
|
|
232
201
|
type: fsm_dynamo_1.DyFM_HttpCallType.delete,
|
|
233
202
|
endpoint: set.endpointPath,
|
|
234
203
|
preProcesses: [set.authService.authenticate_tokenSelf],
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
issuer: issuer,
|
|
239
|
-
});
|
|
240
|
-
await dataService.deleteData(req.params[idParamName]);
|
|
241
|
-
res.send({ result: 'deleted' });
|
|
242
|
-
},
|
|
243
|
-
],
|
|
204
|
+
operation: default_operations_util_1.DyNTS_DefaultOperations_Util.getDeleteOperation({
|
|
205
|
+
entityName: set.entityName, dataServiceClass: set.dataServiceClass, idParamName: idParamName,
|
|
206
|
+
}),
|
|
244
207
|
});
|
|
245
208
|
}
|
|
246
209
|
/**
|
|
@@ -279,15 +242,9 @@ class DyNTS_DefaultEndpoints_Util {
|
|
|
279
242
|
type: fsm_dynamo_1.DyFM_HttpCallType.patch,
|
|
280
243
|
endpoint: set.endpointPath,
|
|
281
244
|
preProcesses: [set.authService.authenticate_tokenSelf],
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
issuer: issuer,
|
|
286
|
-
});
|
|
287
|
-
const data = await dataService.patchData(req.body);
|
|
288
|
-
res.send(dataService.getProvidedData(data));
|
|
289
|
-
},
|
|
290
|
-
],
|
|
245
|
+
operation: default_operations_util_1.DyNTS_DefaultOperations_Util.getPatchOperation({
|
|
246
|
+
entityName: set.entityName, dataServiceClass: set.dataServiceClass,
|
|
247
|
+
}),
|
|
291
248
|
});
|
|
292
249
|
}
|
|
293
250
|
/**
|
|
@@ -382,6 +339,41 @@ class DyNTS_DefaultEndpoints_Util {
|
|
|
382
339
|
}
|
|
383
340
|
return endpoints;
|
|
384
341
|
}
|
|
342
|
+
/**
|
|
343
|
+
* Resolves the path param that carries the id of a delete endpoint (HP-DOPL MP-2.4).
|
|
344
|
+
*
|
|
345
|
+
* The delete check used to be `includesIgnoreCase(path, idParamName)`, which also matches word suffixes
|
|
346
|
+
* (`taskId` → `id`) and so passed for EVERY path with `:userId` — while the task read `req.params[idParamName]`.
|
|
347
|
+
* Measured consequence: `entityName: 'StockItem'` on `/:userId/item/delete/:itemId` read `stockitemId` (undefined).
|
|
348
|
+
*
|
|
349
|
+
* The lenient matching is kept (existing paths keep booting), but the result is now the real param name:
|
|
350
|
+
* exact match (`:userId` included) → case-insensitive match → the single param whose name ends the id name
|
|
351
|
+
* (`stockitemId` → `itemId`); the last two skip `:userId`, the owner guard param.
|
|
352
|
+
* @param endpointPath - the endpoint path
|
|
353
|
+
* @param idParamName - the configured (or default) id param name
|
|
354
|
+
* @throws 406 `DyNTS-DEU-DE0` when no path param (or more than one) can carry the id
|
|
355
|
+
*/
|
|
356
|
+
static resolveDeleteIdParam(endpointPath, idParamName) {
|
|
357
|
+
const allParams = (endpointPath.match(/:[A-Za-z0-9_]+/g) ?? [])
|
|
358
|
+
.map((param) => param.slice(1));
|
|
359
|
+
// `:userId` is the owner guard param — it only carries the id when it is named explicitly (exact match)
|
|
360
|
+
const params = allParams.filter((param) => param !== 'userId');
|
|
361
|
+
const wanted = idParamName.toLowerCase();
|
|
362
|
+
const suffixMatches = params.filter((param) => wanted.endsWith(param.toLowerCase()));
|
|
363
|
+
const resolved = allParams.find((param) => param === idParamName) ??
|
|
364
|
+
params.find((param) => param.toLowerCase() === wanted) ??
|
|
365
|
+
(suffixMatches.length === 1 ? suffixMatches[0] : undefined);
|
|
366
|
+
if (!resolved) {
|
|
367
|
+
throw new fsm_dynamo_1.DyFM_Error({
|
|
368
|
+
status: 406,
|
|
369
|
+
errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DEU-DE0`,
|
|
370
|
+
message: `endpoint path does not contain the ID parameter: ${idParamName} ` +
|
|
371
|
+
`(path params: ${params.join(', ') || 'none'})`,
|
|
372
|
+
additionalContent: { endpointPath: endpointPath, idParamName: idParamName, params: params },
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
return resolved;
|
|
376
|
+
}
|
|
385
377
|
}
|
|
386
378
|
exports.DyNTS_DefaultEndpoints_Util = DyNTS_DefaultEndpoints_Util;
|
|
387
379
|
//# sourceMappingURL=default-endpoints.util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-endpoints.util.js","sourceRoot":"","sources":["../../../../src/_modules/defaults/_collections/default-endpoints.util.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"default-endpoints.util.js","sourceRoot":"","sources":["../../../../src/_modules/defaults/_collections/default-endpoints.util.ts"],"names":[],"mappings":";;;AAEA,sDAAqF;AAGrF,iHAAsG;AACtG,uFAAoF;AAEpF,uEAAyE;AAEzE;;;;;GAKG;AACH,MAAa,2BAA2B;IAEtC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,cAAc,CACnB,GAMC;QAED,MAAM,WAAW,GAAW,GAAG,CAAC,WAAW,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC;QACnF,MAAM,YAAY,GAAW,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QAEpD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,WAAW,EAAE,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,uBAAU,CAAC;gBACnB,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,gBAAgB;gBACvE,OAAO,EAAE,oDAAoD,WAAW,EAAE;aAC3E,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,uBAAU,CAAC;gBACnB,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,iBAAiB;gBACxE,OAAO,EAAE,8DAA8D;aACxE,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,qDAAqB,CAAC;YAC/B,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,8BAAiB,CAAC,GAAG;YAC3B,QAAQ,EAAE,GAAG,CAAC,YAAY;YAC1B,YAAY,EAAE,CAAE,GAAG,CAAC,WAAW,CAAC,sBAAsB,CAAE;YACxD,SAAS,EAAE,sDAA4B,CAAC,eAAe,CAAS;gBAC9D,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,EAAE,WAAW,EAAE,WAAW;aAC7F,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,gBAAgB,CACrB,GAKC;QAED,MAAM,YAAY,GAAW,QAAQ,GAAG,CAAC,UAAU,GAAG,CAAC;QAEvD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,uBAAU,CAAC;gBACnB,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,iBAAiB;gBACxE,OAAO,EAAE,8DAA8D;aACxE,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,qDAAqB,CAAC;YAC/B,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,8BAAiB,CAAC,GAAG;YAC3B,QAAQ,EAAE,GAAG,CAAC,YAAY;YAC1B,YAAY,EAAE,CAAE,GAAG,CAAC,WAAW,CAAC,sBAAsB,CAAE;YACxD,SAAS,EAAE,sDAA4B,CAAC,iBAAiB,CAAS;gBAChE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;aACnE,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,iBAAiB,CACtB,GAKC;QAED,MAAM,YAAY,GAAW,SAAS,GAAG,CAAC,UAAU,GAAG,CAAC;QAExD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,uBAAU,CAAC;gBACnB,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,gBAAgB;gBACvE,OAAO,EAAE,8DAA8D;aACxE,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,qDAAqB,CAAC;YAC/B,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,8BAAiB,CAAC,IAAI;YAC5B,QAAQ,EAAE,GAAG,CAAC,YAAY;YAC1B,YAAY,EAAE,CAAE,GAAG,CAAC,WAAW,CAAC,sBAAsB,CAAE;YACxD,SAAS,EAAE,sDAA4B,CAAC,kBAAkB,CAAS;gBACjE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;aACnE,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,iBAAiB,CACtB,GAKC;QAED,MAAM,YAAY,GAAW,SAAS,GAAG,CAAC,UAAU,EAAE,CAAC;QAEvD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,uBAAU,CAAC;gBACnB,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,gBAAgB;gBACvE,OAAO,EAAE,8DAA8D;aACxE,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,qDAAqB,CAAC;YAC/B,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,8BAAiB,CAAC,IAAI;YAC5B,QAAQ,EAAE,GAAG,CAAC,YAAY;YAC1B,YAAY,EAAE,CAAE,GAAG,CAAC,WAAW,CAAC,sBAAsB,CAAE;YACxD,SAAS,EAAE,sDAA4B,CAAC,kBAAkB,CAAS;gBACjE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;aACnE,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,iBAAiB,CACtB,GAMC;QAED,yGAAyG;QACzG,MAAM,WAAW,GAAW,2BAA2B,CAAC,oBAAoB,CAC1E,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,WAAW,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CACzE,CAAC;QACF,MAAM,YAAY,GAAW,SAAS,GAAG,CAAC,UAAU,EAAE,CAAC;QAEvD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,uBAAU,CAAC;gBACnB,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,gBAAgB;gBACvE,OAAO,EAAE,8DAA8D;aACxE,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,qDAAqB,CAAC;YAC/B,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,8BAAiB,CAAC,MAAM;YAC9B,QAAQ,EAAE,GAAG,CAAC,YAAY;YAC1B,YAAY,EAAE,CAAE,GAAG,CAAC,WAAW,CAAC,sBAAsB,CAAE;YACxD,SAAS,EAAE,sDAA4B,CAAC,kBAAkB,CAAS;gBACjE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,EAAE,WAAW,EAAE,WAAW;aAC7F,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,gBAAgB,CACrB,GAKC;QAED,MAAM,YAAY,GAAW,QAAQ,GAAG,CAAC,UAAU,EAAE,CAAC;QAEtD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,uBAAU,CAAC;gBACnB,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,gBAAgB;gBACvE,OAAO,EAAE,8DAA8D;aACxE,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,qDAAqB,CAAC;YAC/B,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,8BAAiB,CAAC,KAAK;YAC7B,QAAQ,EAAE,GAAG,CAAC,YAAY;YAC1B,YAAY,EAAE,CAAE,GAAG,CAAC,WAAW,CAAC,sBAAsB,CAAE;YACxD,SAAS,EAAE,sDAA4B,CAAC,iBAAiB,CAAS;gBAChE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;aACnE,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,MAAM,CAAC,sBAAsB,CAC3B,GAaC;QAED,MAAM,SAAS,GAA4B,EAAE,CAAC;QAE9C,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACtB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAS;gBACzC,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;gBACtC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG;gBAC/B,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,WAAW,EAAE,GAAG,CAAC,WAAW;aAC7B,CAAC,CAAC,CAAC;QACN,CAAC;QAED,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACxB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAS;gBAC3C,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;gBACtC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK;gBACjC,WAAW,EAAE,GAAG,CAAC,WAAW;aAC7B,CAAC,CAAC,CAAC;QACN,CAAC;QAED,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACzB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAS;gBAC5C,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;gBACtC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,MAAM;gBAClC,WAAW,EAAE,GAAG,CAAC,WAAW;aAC7B,CAAC,CAAC,CAAC;QACN,CAAC;QAED,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACzB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAS;gBAC5C,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;gBACtC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,MAAM;gBAClC,WAAW,EAAE,GAAG,CAAC,WAAW;aAC7B,CAAC,CAAC,CAAC;QACN,CAAC;QAED,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACxB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAS;gBAC3C,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;gBACtC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK;gBACjC,WAAW,EAAE,GAAG,CAAC,WAAW;aAC7B,CAAC,CAAC,CAAC;QACN,CAAC;QAED,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACzB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAS;gBAC5C,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;gBACtC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,MAAM;gBAClC,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,WAAW,EAAE,GAAG,CAAC,WAAW;aAC7B,CAAC,CAAC,CAAC;QACN,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,MAAM,CAAC,oBAAoB,CAAC,YAAoB,EAAE,WAAmB;QAC3E,MAAM,SAAS,GAAa,CAAC,YAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;aACtE,GAAG,CAAC,CAAC,KAAa,EAAU,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,wGAAwG;QACxG,MAAM,MAAM,GAAa,SAAS,CAAC,MAAM,CAAC,CAAC,KAAa,EAAW,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;QAC1F,MAAM,MAAM,GAAW,WAAW,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,aAAa,GAAa,MAAM,CAAC,MAAM,CAAC,CAAC,KAAa,EAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAChH,MAAM,QAAQ,GACZ,SAAS,CAAC,IAAI,CAAC,CAAC,KAAa,EAAW,EAAE,CAAC,KAAK,KAAK,WAAW,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAa,EAAW,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;YACvE,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAE9D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,uBAAU,CAAC;gBACnB,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,gBAAgB;gBACvE,OAAO,EAAE,oDAAoD,WAAW,GAAG;oBACzE,iBAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG;gBACjD,iBAAiB,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;aAC5F,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAvcD,kEAucC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { DyFM_Metadata, DyFM_Operation_Settings, DyFM_SearchQuery, DyFM_SearchResult } from '@futdevpro/fsm-dynamo';
|
|
2
|
+
import { DyNTS_DataService } from '../../../_services/base/data.service';
|
|
3
|
+
/**
|
|
4
|
+
* The standard CRUD operations of an entity (HP-DOPL MP-2.4) — the transport-independent core of the default
|
|
5
|
+
* endpoints: `DyNTS_DefaultEndpoints_Util` builds its REST endpoints on these, so the data service logic exists once.
|
|
6
|
+
*
|
|
7
|
+
* Conventions:
|
|
8
|
+
* - `domain` is the kebab-case entity name (`StockItem` → `stock-item`), `action` is `get` · `get-my` · `search` ·
|
|
9
|
+
* `modify` · `patch` · `delete`;
|
|
10
|
+
* - the data service is created per call with the caller's `issuer` (the accountId, never the userId);
|
|
11
|
+
* - search/modify/patch take the request body WITHOUT a data model (`isBodyUntyped`), because the model belongs to
|
|
12
|
+
* the data service — so every default operation is `expose: { rest: true, mcp: false, cli: false }`.
|
|
13
|
+
* ⚠️ Exposing them on MCP/CLI is a separate, deliberate step: the REST endpoints rely on the
|
|
14
|
+
* `authenticate_tokenSelf` preProcess (the `:userId` path guard), which an MCP/CLI call would not run.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* const getTask: DyFM_Operation_Settings<Task, [string]> = DyNTS_DefaultOperations_Util.getGetOperation({
|
|
19
|
+
* entityName: 'Task', dataServiceClass: Task_DataService,
|
|
20
|
+
* });
|
|
21
|
+
* // getTask.name === 'task.get', getTask.inputs === { taskId: { type: 'string', required: true } }
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare class DyNTS_DefaultOperations_Util {
|
|
25
|
+
/**
|
|
26
|
+
* Gets one entity by its id (input: `idParamName`).
|
|
27
|
+
* @param set.entityName - the entity name (e.g. `Task`)
|
|
28
|
+
* @param set.dataServiceClass - the data service constructor
|
|
29
|
+
* @param set.idParamName - the id input name (default: `${entityName.toLowerCase()}Id`)
|
|
30
|
+
*/
|
|
31
|
+
static getGetOperation<T_Data extends DyFM_Metadata>(set: {
|
|
32
|
+
entityName: string;
|
|
33
|
+
dataServiceClass: new (set: {
|
|
34
|
+
data?: T_Data;
|
|
35
|
+
issuer: string;
|
|
36
|
+
}) => DyNTS_DataService<T_Data>;
|
|
37
|
+
idParamName?: string;
|
|
38
|
+
}): DyFM_Operation_Settings<T_Data, [string]>;
|
|
39
|
+
/**
|
|
40
|
+
* Lists the entities that depend on a user (input: `userId`).
|
|
41
|
+
* @param set.entityName - the entity name (e.g. `Task`)
|
|
42
|
+
* @param set.dataServiceClass - the data service constructor
|
|
43
|
+
*/
|
|
44
|
+
static getGetMyOperation<T_Data extends DyFM_Metadata>(set: {
|
|
45
|
+
entityName: string;
|
|
46
|
+
dataServiceClass: new (set: {
|
|
47
|
+
data?: T_Data;
|
|
48
|
+
issuer: string;
|
|
49
|
+
}) => DyNTS_DataService<T_Data>;
|
|
50
|
+
}): DyFM_Operation_Settings<T_Data[], [string]>;
|
|
51
|
+
/**
|
|
52
|
+
* Searches the entities (body: the search query).
|
|
53
|
+
* @param set.entityName - the entity name (e.g. `Task`)
|
|
54
|
+
* @param set.dataServiceClass - the data service constructor
|
|
55
|
+
*/
|
|
56
|
+
static getSearchOperation<T_Data extends DyFM_Metadata>(set: {
|
|
57
|
+
entityName: string;
|
|
58
|
+
dataServiceClass: new (set: {
|
|
59
|
+
data?: T_Data;
|
|
60
|
+
issuer: string;
|
|
61
|
+
}) => DyNTS_DataService<T_Data>;
|
|
62
|
+
}): DyFM_Operation_Settings<DyFM_SearchResult<T_Data>, [DyFM_SearchQuery<T_Data>]>;
|
|
63
|
+
/**
|
|
64
|
+
* Creates or replaces an entity (body: the entity) — a modify is always a create as well.
|
|
65
|
+
* @param set.entityName - the entity name (e.g. `Task`)
|
|
66
|
+
* @param set.dataServiceClass - the data service constructor
|
|
67
|
+
*/
|
|
68
|
+
static getModifyOperation<T_Data extends DyFM_Metadata>(set: {
|
|
69
|
+
entityName: string;
|
|
70
|
+
dataServiceClass: new (set: {
|
|
71
|
+
data?: T_Data;
|
|
72
|
+
issuer: string;
|
|
73
|
+
}) => DyNTS_DataService<T_Data>;
|
|
74
|
+
}): DyFM_Operation_Settings<T_Data, [T_Data]>;
|
|
75
|
+
/**
|
|
76
|
+
* Partially modifies an entity (body: the changed fields with `_id`).
|
|
77
|
+
* @param set.entityName - the entity name (e.g. `Task`)
|
|
78
|
+
* @param set.dataServiceClass - the data service constructor
|
|
79
|
+
*/
|
|
80
|
+
static getPatchOperation<T_Data extends DyFM_Metadata>(set: {
|
|
81
|
+
entityName: string;
|
|
82
|
+
dataServiceClass: new (set: {
|
|
83
|
+
data?: T_Data;
|
|
84
|
+
issuer: string;
|
|
85
|
+
}) => DyNTS_DataService<T_Data>;
|
|
86
|
+
}): DyFM_Operation_Settings<T_Data, [Partial<T_Data>]>;
|
|
87
|
+
/**
|
|
88
|
+
* Deletes an entity by its id (input: `idParamName`).
|
|
89
|
+
* @param set.entityName - the entity name (e.g. `Task`)
|
|
90
|
+
* @param set.dataServiceClass - the data service constructor
|
|
91
|
+
* @param set.idParamName - the id input name (default: `${entityName.toLowerCase()}Id`)
|
|
92
|
+
*/
|
|
93
|
+
static getDeleteOperation<T_Data extends DyFM_Metadata>(set: {
|
|
94
|
+
entityName: string;
|
|
95
|
+
dataServiceClass: new (set: {
|
|
96
|
+
data?: T_Data;
|
|
97
|
+
issuer: string;
|
|
98
|
+
}) => DyNTS_DataService<T_Data>;
|
|
99
|
+
idParamName?: string;
|
|
100
|
+
}): DyFM_Operation_Settings<{
|
|
101
|
+
result: string;
|
|
102
|
+
}, [string]>;
|
|
103
|
+
/** The operation domain of an entity: its kebab-case name. */
|
|
104
|
+
private static domainOf;
|
|
105
|
+
/** The id input name: the given one, or `${entityName.toLowerCase()}Id` (the default endpoint convention). */
|
|
106
|
+
private static idParamNameOf;
|
|
107
|
+
/** The exposure of every default operation — REST only (see the class documentation). */
|
|
108
|
+
private static restOnly;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=default-operations.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-operations.util.d.ts","sourceRoot":"","sources":["../../../../src/_modules/defaults/_collections/default-operations.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DyNTS_DefaultOperations_Util = void 0;
|
|
4
|
+
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
5
|
+
/**
|
|
6
|
+
* The standard CRUD operations of an entity (HP-DOPL MP-2.4) — the transport-independent core of the default
|
|
7
|
+
* endpoints: `DyNTS_DefaultEndpoints_Util` builds its REST endpoints on these, so the data service logic exists once.
|
|
8
|
+
*
|
|
9
|
+
* Conventions:
|
|
10
|
+
* - `domain` is the kebab-case entity name (`StockItem` → `stock-item`), `action` is `get` · `get-my` · `search` ·
|
|
11
|
+
* `modify` · `patch` · `delete`;
|
|
12
|
+
* - the data service is created per call with the caller's `issuer` (the accountId, never the userId);
|
|
13
|
+
* - search/modify/patch take the request body WITHOUT a data model (`isBodyUntyped`), because the model belongs to
|
|
14
|
+
* the data service — so every default operation is `expose: { rest: true, mcp: false, cli: false }`.
|
|
15
|
+
* ⚠️ Exposing them on MCP/CLI is a separate, deliberate step: the REST endpoints rely on the
|
|
16
|
+
* `authenticate_tokenSelf` preProcess (the `:userId` path guard), which an MCP/CLI call would not run.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* const getTask: DyFM_Operation_Settings<Task, [string]> = DyNTS_DefaultOperations_Util.getGetOperation({
|
|
21
|
+
* entityName: 'Task', dataServiceClass: Task_DataService,
|
|
22
|
+
* });
|
|
23
|
+
* // getTask.name === 'task.get', getTask.inputs === { taskId: { type: 'string', required: true } }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
class DyNTS_DefaultOperations_Util {
|
|
27
|
+
/**
|
|
28
|
+
* Gets one entity by its id (input: `idParamName`).
|
|
29
|
+
* @param set.entityName - the entity name (e.g. `Task`)
|
|
30
|
+
* @param set.dataServiceClass - the data service constructor
|
|
31
|
+
* @param set.idParamName - the id input name (default: `${entityName.toLowerCase()}Id`)
|
|
32
|
+
*/
|
|
33
|
+
static getGetOperation(set) {
|
|
34
|
+
const idParamName = DyNTS_DefaultOperations_Util.idParamNameOf(set);
|
|
35
|
+
return new fsm_dynamo_1.DyFM_Operation_Settings({
|
|
36
|
+
domain: DyNTS_DefaultOperations_Util.domainOf(set.entityName),
|
|
37
|
+
action: 'get',
|
|
38
|
+
description: `Gets a ${set.entityName} by its id`,
|
|
39
|
+
inputs: { [idParamName]: { type: fsm_dynamo_1.DyFM_BasicProperty_Type.string, required: true } },
|
|
40
|
+
expose: DyNTS_DefaultOperations_Util.restOnly(),
|
|
41
|
+
run: async (ctx, id) => {
|
|
42
|
+
const dataService = new set.dataServiceClass({ issuer: ctx.issuer });
|
|
43
|
+
return dataService.getProvidedData(await dataService.getDataById(id));
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Lists the entities that depend on a user (input: `userId`).
|
|
49
|
+
* @param set.entityName - the entity name (e.g. `Task`)
|
|
50
|
+
* @param set.dataServiceClass - the data service constructor
|
|
51
|
+
*/
|
|
52
|
+
static getGetMyOperation(set) {
|
|
53
|
+
return new fsm_dynamo_1.DyFM_Operation_Settings({
|
|
54
|
+
domain: DyNTS_DefaultOperations_Util.domainOf(set.entityName),
|
|
55
|
+
action: 'get-my',
|
|
56
|
+
description: `Lists the ${set.entityName} entities of a user`,
|
|
57
|
+
inputs: { userId: { type: fsm_dynamo_1.DyFM_BasicProperty_Type.string, required: true } },
|
|
58
|
+
expose: DyNTS_DefaultOperations_Util.restOnly(),
|
|
59
|
+
run: async (ctx, userId) => {
|
|
60
|
+
const dataService = new set.dataServiceClass({ issuer: ctx.issuer });
|
|
61
|
+
return dataService.getProvidedDataList(await dataService.getDataListByDependencyId({ userId: userId }));
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Searches the entities (body: the search query).
|
|
67
|
+
* @param set.entityName - the entity name (e.g. `Task`)
|
|
68
|
+
* @param set.dataServiceClass - the data service constructor
|
|
69
|
+
*/
|
|
70
|
+
static getSearchOperation(set) {
|
|
71
|
+
return new fsm_dynamo_1.DyFM_Operation_Settings({
|
|
72
|
+
domain: DyNTS_DefaultOperations_Util.domainOf(set.entityName),
|
|
73
|
+
action: 'search',
|
|
74
|
+
description: `Searches the ${set.entityName} entities`,
|
|
75
|
+
isBodyUntyped: true,
|
|
76
|
+
expose: DyNTS_DefaultOperations_Util.restOnly(),
|
|
77
|
+
run: async (ctx, query) => {
|
|
78
|
+
const dataService = new set.dataServiceClass({ issuer: ctx.issuer });
|
|
79
|
+
const searchResults = await dataService.searchData(query);
|
|
80
|
+
searchResults.results = dataService.getProvidedDataList(searchResults.results);
|
|
81
|
+
return searchResults;
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Creates or replaces an entity (body: the entity) — a modify is always a create as well.
|
|
87
|
+
* @param set.entityName - the entity name (e.g. `Task`)
|
|
88
|
+
* @param set.dataServiceClass - the data service constructor
|
|
89
|
+
*/
|
|
90
|
+
static getModifyOperation(set) {
|
|
91
|
+
return new fsm_dynamo_1.DyFM_Operation_Settings({
|
|
92
|
+
domain: DyNTS_DefaultOperations_Util.domainOf(set.entityName),
|
|
93
|
+
action: 'modify',
|
|
94
|
+
description: `Creates or modifies a ${set.entityName}`,
|
|
95
|
+
isBodyUntyped: true,
|
|
96
|
+
expose: DyNTS_DefaultOperations_Util.restOnly(),
|
|
97
|
+
run: async (ctx, data) => {
|
|
98
|
+
const dataService = new set.dataServiceClass({ issuer: ctx.issuer });
|
|
99
|
+
return dataService.getProvidedData(await dataService.saveData(data));
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Partially modifies an entity (body: the changed fields with `_id`).
|
|
105
|
+
* @param set.entityName - the entity name (e.g. `Task`)
|
|
106
|
+
* @param set.dataServiceClass - the data service constructor
|
|
107
|
+
*/
|
|
108
|
+
static getPatchOperation(set) {
|
|
109
|
+
return new fsm_dynamo_1.DyFM_Operation_Settings({
|
|
110
|
+
domain: DyNTS_DefaultOperations_Util.domainOf(set.entityName),
|
|
111
|
+
action: 'patch',
|
|
112
|
+
description: `Partially modifies a ${set.entityName}`,
|
|
113
|
+
isBodyUntyped: true,
|
|
114
|
+
expose: DyNTS_DefaultOperations_Util.restOnly(),
|
|
115
|
+
run: async (ctx, data) => {
|
|
116
|
+
const dataService = new set.dataServiceClass({ issuer: ctx.issuer });
|
|
117
|
+
return dataService.getProvidedData(await dataService.patchData(data));
|
|
118
|
+
},
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Deletes an entity by its id (input: `idParamName`).
|
|
123
|
+
* @param set.entityName - the entity name (e.g. `Task`)
|
|
124
|
+
* @param set.dataServiceClass - the data service constructor
|
|
125
|
+
* @param set.idParamName - the id input name (default: `${entityName.toLowerCase()}Id`)
|
|
126
|
+
*/
|
|
127
|
+
static getDeleteOperation(set) {
|
|
128
|
+
const idParamName = DyNTS_DefaultOperations_Util.idParamNameOf(set);
|
|
129
|
+
return new fsm_dynamo_1.DyFM_Operation_Settings({
|
|
130
|
+
domain: DyNTS_DefaultOperations_Util.domainOf(set.entityName),
|
|
131
|
+
action: 'delete',
|
|
132
|
+
description: `Deletes a ${set.entityName} by its id`,
|
|
133
|
+
inputs: { [idParamName]: { type: fsm_dynamo_1.DyFM_BasicProperty_Type.string, required: true } },
|
|
134
|
+
expose: DyNTS_DefaultOperations_Util.restOnly(),
|
|
135
|
+
run: async (ctx, id) => {
|
|
136
|
+
const dataService = new set.dataServiceClass({ issuer: ctx.issuer });
|
|
137
|
+
await dataService.deleteData(id);
|
|
138
|
+
return { result: 'deleted' };
|
|
139
|
+
},
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
/** The operation domain of an entity: its kebab-case name. */
|
|
143
|
+
static domainOf(entityName) {
|
|
144
|
+
return fsm_dynamo_1.DyFM_StringCase.toKebabCase(entityName);
|
|
145
|
+
}
|
|
146
|
+
/** The id input name: the given one, or `${entityName.toLowerCase()}Id` (the default endpoint convention). */
|
|
147
|
+
static idParamNameOf(set) {
|
|
148
|
+
return set.idParamName ?? `${set.entityName.toLowerCase()}Id`;
|
|
149
|
+
}
|
|
150
|
+
/** The exposure of every default operation — REST only (see the class documentation). */
|
|
151
|
+
static restOnly() {
|
|
152
|
+
return { rest: true, mcp: false, cli: false };
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
exports.DyNTS_DefaultOperations_Util = DyNTS_DefaultOperations_Util;
|
|
156
|
+
//# sourceMappingURL=default-operations.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-operations.util.js","sourceRoot":"","sources":["../../../../src/_modules/defaults/_collections/default-operations.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './_collections/default-endpoints.util';
|
|
2
|
+
export * from './_collections/default-operations.util';
|
|
2
3
|
export * from './_models/default-user.data-model';
|
|
3
4
|
export * from './_services/default-user.data-service';
|
|
4
5
|
export * from './_services/default-auth.service';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/defaults/index.ts"],"names":[],"mappings":"AAQA,cAAc,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/defaults/index.ts"],"names":[],"mappings":"AAQA,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AAGvD,cAAc,mCAAmC,CAAC;AAGlD,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,2CAA2C,CAAC"}
|
|
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
const tslib_1 = require("tslib");
|
|
10
10
|
// COLLECTIONS
|
|
11
11
|
tslib_1.__exportStar(require("./_collections/default-endpoints.util"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./_collections/default-operations.util"), exports);
|
|
12
13
|
// MODELS
|
|
13
14
|
tslib_1.__exportStar(require("./_models/default-user.data-model"), exports);
|
|
14
15
|
// SERVICES
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/defaults/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,kBAAkB;AAClB,EAAE;AACF,uDAAuD;AACvD,0DAA0D;AAC1D,EAAE;;;AAEF,cAAc;AACd,gFAAsD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/defaults/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,kBAAkB;AAClB,EAAE;AACF,uDAAuD;AACvD,0DAA0D;AAC1D,EAAE;;;AAEF,cAAc;AACd,gFAAsD;AACtD,iFAAuD;AAEvD,SAAS;AACT,4EAAkD;AAElD,WAAW;AACX,gFAAsD;AACtD,2EAAiD;AACjD,oFAA0D"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@futdevpro/nts-dynamo",
|
|
3
|
-
"version": "01.15.
|
|
3
|
+
"version": "01.15.290",
|
|
4
4
|
"description": "Dynamic NodeTS (NodeJS-Typescript), MongoDB Backend System Framework by Future Development Program Ltd.",
|
|
5
5
|
"DyBu_settings": {
|
|
6
6
|
"packageType": "server-package",
|