@takeshape/schema 8.97.0 → 8.99.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/es/schema-util.js CHANGED
@@ -42,60 +42,6 @@ export const arraySchemaKeys = [...commonSchemaKeys, 'items', 'additionalItems',
42
42
  export const multipleRelationshipSchemaKeys = [...schemaMetadataKeys, 'maxItems', 'minItems']; // All properties except properties, items, additionalItems
43
43
 
44
44
  export const nonStructuralSchemaKeys = [...scalarSchemaKeys, '@relationship', '@backreference', 'required', 'maxItems', 'minItems', 'uniqueItems'];
45
- const commonProperties = {
46
- _id: {
47
- title: 'Id',
48
- type: 'string'
49
- },
50
- _version: {
51
- title: 'Version',
52
- type: 'integer'
53
- },
54
- _shapeId: {
55
- title: 'Shape Id',
56
- type: 'string'
57
- },
58
- _shapeName: {
59
- title: 'Shape Name',
60
- type: 'string'
61
- },
62
- _createdAt: {
63
- title: 'Created',
64
- type: 'string',
65
- format: 'date-time'
66
- },
67
- _createdBy: {
68
- title: 'Created By',
69
- '@ref': 'local:TSUser',
70
- '@input': {
71
- type: 'string'
72
- },
73
- '@resolver': {
74
- name: 'takeshape:getUser',
75
- service: 'takeshape:local'
76
- }
77
- },
78
- _updatedAt: {
79
- title: 'Updated',
80
- type: 'string',
81
- format: 'date-time'
82
- },
83
- _updatedBy: {
84
- title: 'Updated By',
85
- '@ref': 'local:TSUser',
86
- '@input': {
87
- type: 'string'
88
- },
89
- '@resolver': {
90
- name: 'takeshape:getUser',
91
- service: 'takeshape:local'
92
- }
93
- },
94
- _schemaVersion: {
95
- title: 'Schema Version',
96
- type: 'number'
97
- }
98
- };
99
45
  export function getServiceIdFieldName(serviceFieldName) {
100
46
  return `${serviceFieldName}Id`;
101
47
  }
@@ -289,9 +235,84 @@ export function getShapeQueriesAndMutations(shapeList) {
289
235
  mutations
290
236
  };
291
237
  }
292
- export function getBuiltInProperties(apiVersion = CURRENT_API_VERSION) {
238
+ export function getBuiltinPropertiesSet(context, shape) {
239
+ if (isModelShape(shape)) {
240
+ return 'model';
241
+ }
242
+
243
+ if (isIndexedRemoteShape(context, shape)) {
244
+ return 'indexed';
245
+ }
246
+
247
+ return 'none';
248
+ }
249
+ export function getBuiltinProperties(shapeId, builtinPropertiesSet, apiVersion = CURRENT_API_VERSION) {
250
+ if (builtinPropertiesSet === 'none') {
251
+ return {};
252
+ }
253
+
254
+ const commonFields = {
255
+ _shapeId: {
256
+ type: 'string',
257
+ title: 'Shape Id',
258
+ enum: [shapeId]
259
+ },
260
+ _id: {
261
+ title: 'Id',
262
+ type: 'string'
263
+ }
264
+ };
265
+
266
+ if (builtinPropertiesSet === 'indexed') {
267
+ return commonFields;
268
+ }
269
+
293
270
  const showV1Deprecation = apiVersion !== '1';
294
- return { ...commonProperties,
271
+ return { ...commonFields,
272
+ _version: {
273
+ title: 'Version',
274
+ type: 'integer'
275
+ },
276
+ _shapeName: {
277
+ title: 'Shape Name',
278
+ type: 'string'
279
+ },
280
+ _createdAt: {
281
+ title: 'Created',
282
+ type: 'string',
283
+ format: 'date-time'
284
+ },
285
+ _createdBy: {
286
+ title: 'Created By',
287
+ '@ref': 'local:TSUser',
288
+ '@input': {
289
+ type: 'string'
290
+ },
291
+ '@resolver': {
292
+ name: 'takeshape:getUser',
293
+ service: 'takeshape:local'
294
+ }
295
+ },
296
+ _updatedAt: {
297
+ title: 'Updated',
298
+ type: 'string',
299
+ format: 'date-time'
300
+ },
301
+ _updatedBy: {
302
+ title: 'Updated By',
303
+ '@ref': 'local:TSUser',
304
+ '@input': {
305
+ type: 'string'
306
+ },
307
+ '@resolver': {
308
+ name: 'takeshape:getUser',
309
+ service: 'takeshape:local'
310
+ }
311
+ },
312
+ _schemaVersion: {
313
+ title: 'Schema Version',
314
+ type: 'number'
315
+ },
295
316
  _enabled: {
296
317
  title: 'Enabled',
297
318
  type: 'boolean',
@@ -309,13 +330,19 @@ export function getBuiltInProperties(apiVersion = CURRENT_API_VERSION) {
309
330
  * Return all the built in property names,
310
331
  */
311
332
 
312
- export const getBuiltInPropertyNames = (apiVersion = CURRENT_API_VERSION) => new Set([...Object.keys(getBuiltInProperties()), workflowsEnabled(apiVersion) ? '_status' : undefined].filter(isDefined));
333
+ export const getBuiltinPropertyNames = (builtinPropertiesSet, apiVersion = CURRENT_API_VERSION) => new Set([...Object.keys(getBuiltinProperties('shape-id', builtinPropertiesSet, apiVersion)), workflowsEnabled(apiVersion) ? '_status' : undefined].filter(isDefined));
313
334
  export function applyBuiltinPropertiesToShape(projectSchema, shape) {
335
+ const builtinSet = getBuiltinPropertiesSet(projectSchema, shape);
336
+
337
+ if (builtinSet === 'none') {
338
+ return shape;
339
+ }
340
+
314
341
  return { ...shape,
315
342
  schema: { ...shape.schema,
316
- properties: { ...omitBy(dereferenceObjectSchema(projectSchema, shape.schema).properties, (_, name) => name.startsWith('_')),
317
- ...getBuiltInProperties(projectSchema.apiVersion),
318
- ...(workflowsEnabled(projectSchema.apiVersion) && {
343
+ properties: { ...omitBy(dereferenceObjectSchema(projectSchema, shape.schema, ['shapes', shape.name]).properties, (_, name) => name.startsWith('_')),
344
+ ...getBuiltinProperties(shape.id, builtinSet, projectSchema.apiVersion),
345
+ ...(builtinSet === 'model' && workflowsEnabled(projectSchema.apiVersion) && {
319
346
  _status: getStatusField(projectSchema.workflows, shape)
320
347
  })
321
348
  }
@@ -368,7 +395,7 @@ export function applyDefaultsToSchema(projectSchema) {
368
395
  };
369
396
  }
370
397
 
371
- return isModelShape(shape) ? applyBuiltinPropertiesToShape(projectSchema, shape) : shape;
398
+ return applyBuiltinPropertiesToShape(projectSchema, shape);
372
399
  }),
373
400
  forms: mapValues({ ...builtInForms,
374
401
  ...projectSchema.forms
@@ -23,11 +23,13 @@ export declare function getShapeQueriesAndMutations(shapeList: Array<Shape | Sha
23
23
  queries: QueryMap;
24
24
  mutations: QueryMap;
25
25
  };
26
- export declare function getBuiltInProperties(apiVersion?: string): Record<string, PropertySchema>;
26
+ export declare type BuiltinPropertiesSet = 'model' | 'indexed' | 'none';
27
+ export declare function getBuiltinPropertiesSet(context: Pick<ProjectSchema, 'indexedShapes'>, shape: Shape): BuiltinPropertiesSet;
28
+ export declare function getBuiltinProperties(shapeId: string, builtinPropertiesSet: BuiltinPropertiesSet, apiVersion?: string): Record<string, PropertySchema>;
27
29
  /**
28
30
  * Return all the built in property names,
29
31
  */
30
- export declare const getBuiltInPropertyNames: (apiVersion?: string) => Set<string>;
32
+ export declare const getBuiltinPropertyNames: (builtinPropertiesSet: BuiltinPropertiesSet, apiVersion?: string) => Set<string>;
31
33
  export declare function applyBuiltinPropertiesToShape(projectSchema: ProjectSchema, shape: Shape): Shape;
32
34
  /**
33
35
  * Get all built-in shapes that are depended on by the given project schema.
@@ -1 +1 @@
1
- {"version":3,"file":"schema-util.d.ts","sourceRoot":"","sources":["../../src/schema-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-util.d.ts","sourceRoot":"","sources":["../../src/schema-util.ts"],"names":[],"mappings":"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"}
@@ -25,8 +25,9 @@ exports.getAllRefsInShapes = getAllRefsInShapes;
25
25
  exports.getArgsReference = getArgsReference;
26
26
  exports.getArgsReferenceWithPath = getArgsReferenceWithPath;
27
27
  exports.getArgsShapeSchema = getArgsShapeSchema;
28
- exports.getBuiltInProperties = getBuiltInProperties;
29
- exports.getBuiltInPropertyNames = void 0;
28
+ exports.getBuiltinProperties = getBuiltinProperties;
29
+ exports.getBuiltinPropertiesSet = getBuiltinPropertiesSet;
30
+ exports.getBuiltinPropertyNames = void 0;
30
31
  exports.getBuiltinsUsed = getBuiltinsUsed;
31
32
  exports.getDefaultMutationName = void 0;
32
33
  exports.getFirstMapping = getFirstMapping;
@@ -143,60 +144,6 @@ const multipleRelationshipSchemaKeys = [...schemaMetadataKeys, 'maxItems', 'minI
143
144
  exports.multipleRelationshipSchemaKeys = multipleRelationshipSchemaKeys;
144
145
  const nonStructuralSchemaKeys = [...scalarSchemaKeys, '@relationship', '@backreference', 'required', 'maxItems', 'minItems', 'uniqueItems'];
145
146
  exports.nonStructuralSchemaKeys = nonStructuralSchemaKeys;
146
- const commonProperties = {
147
- _id: {
148
- title: 'Id',
149
- type: 'string'
150
- },
151
- _version: {
152
- title: 'Version',
153
- type: 'integer'
154
- },
155
- _shapeId: {
156
- title: 'Shape Id',
157
- type: 'string'
158
- },
159
- _shapeName: {
160
- title: 'Shape Name',
161
- type: 'string'
162
- },
163
- _createdAt: {
164
- title: 'Created',
165
- type: 'string',
166
- format: 'date-time'
167
- },
168
- _createdBy: {
169
- title: 'Created By',
170
- '@ref': 'local:TSUser',
171
- '@input': {
172
- type: 'string'
173
- },
174
- '@resolver': {
175
- name: 'takeshape:getUser',
176
- service: 'takeshape:local'
177
- }
178
- },
179
- _updatedAt: {
180
- title: 'Updated',
181
- type: 'string',
182
- format: 'date-time'
183
- },
184
- _updatedBy: {
185
- title: 'Updated By',
186
- '@ref': 'local:TSUser',
187
- '@input': {
188
- type: 'string'
189
- },
190
- '@resolver': {
191
- name: 'takeshape:getUser',
192
- service: 'takeshape:local'
193
- }
194
- },
195
- _schemaVersion: {
196
- title: 'Schema Version',
197
- type: 'number'
198
- }
199
- };
200
147
 
201
148
  function getServiceIdFieldName(serviceFieldName) {
202
149
  return `${serviceFieldName}Id`;
@@ -397,9 +344,85 @@ function getShapeQueriesAndMutations(shapeList) {
397
344
  };
398
345
  }
399
346
 
400
- function getBuiltInProperties(apiVersion = _versions.CURRENT_API_VERSION) {
347
+ function getBuiltinPropertiesSet(context, shape) {
348
+ if (isModelShape(shape)) {
349
+ return 'model';
350
+ }
351
+
352
+ if (isIndexedRemoteShape(context, shape)) {
353
+ return 'indexed';
354
+ }
355
+
356
+ return 'none';
357
+ }
358
+
359
+ function getBuiltinProperties(shapeId, builtinPropertiesSet, apiVersion = _versions.CURRENT_API_VERSION) {
360
+ if (builtinPropertiesSet === 'none') {
361
+ return {};
362
+ }
363
+
364
+ const commonFields = {
365
+ _shapeId: {
366
+ type: 'string',
367
+ title: 'Shape Id',
368
+ enum: [shapeId]
369
+ },
370
+ _id: {
371
+ title: 'Id',
372
+ type: 'string'
373
+ }
374
+ };
375
+
376
+ if (builtinPropertiesSet === 'indexed') {
377
+ return commonFields;
378
+ }
379
+
401
380
  const showV1Deprecation = apiVersion !== '1';
402
- return { ...commonProperties,
381
+ return { ...commonFields,
382
+ _version: {
383
+ title: 'Version',
384
+ type: 'integer'
385
+ },
386
+ _shapeName: {
387
+ title: 'Shape Name',
388
+ type: 'string'
389
+ },
390
+ _createdAt: {
391
+ title: 'Created',
392
+ type: 'string',
393
+ format: 'date-time'
394
+ },
395
+ _createdBy: {
396
+ title: 'Created By',
397
+ '@ref': 'local:TSUser',
398
+ '@input': {
399
+ type: 'string'
400
+ },
401
+ '@resolver': {
402
+ name: 'takeshape:getUser',
403
+ service: 'takeshape:local'
404
+ }
405
+ },
406
+ _updatedAt: {
407
+ title: 'Updated',
408
+ type: 'string',
409
+ format: 'date-time'
410
+ },
411
+ _updatedBy: {
412
+ title: 'Updated By',
413
+ '@ref': 'local:TSUser',
414
+ '@input': {
415
+ type: 'string'
416
+ },
417
+ '@resolver': {
418
+ name: 'takeshape:getUser',
419
+ service: 'takeshape:local'
420
+ }
421
+ },
422
+ _schemaVersion: {
423
+ title: 'Schema Version',
424
+ type: 'number'
425
+ },
403
426
  _enabled: {
404
427
  title: 'Enabled',
405
428
  type: 'boolean',
@@ -418,16 +441,22 @@ function getBuiltInProperties(apiVersion = _versions.CURRENT_API_VERSION) {
418
441
  */
419
442
 
420
443
 
421
- const getBuiltInPropertyNames = (apiVersion = _versions.CURRENT_API_VERSION) => new Set([...Object.keys(getBuiltInProperties()), (0, _apiVersion.workflowsEnabled)(apiVersion) ? '_status' : undefined].filter(_util.isDefined));
444
+ const getBuiltinPropertyNames = (builtinPropertiesSet, apiVersion = _versions.CURRENT_API_VERSION) => new Set([...Object.keys(getBuiltinProperties('shape-id', builtinPropertiesSet, apiVersion)), (0, _apiVersion.workflowsEnabled)(apiVersion) ? '_status' : undefined].filter(_util.isDefined));
422
445
 
423
- exports.getBuiltInPropertyNames = getBuiltInPropertyNames;
446
+ exports.getBuiltinPropertyNames = getBuiltinPropertyNames;
424
447
 
425
448
  function applyBuiltinPropertiesToShape(projectSchema, shape) {
449
+ const builtinSet = getBuiltinPropertiesSet(projectSchema, shape);
450
+
451
+ if (builtinSet === 'none') {
452
+ return shape;
453
+ }
454
+
426
455
  return { ...shape,
427
456
  schema: { ...shape.schema,
428
- properties: { ...(0, _omitBy.default)((0, _refs.dereferenceObjectSchema)(projectSchema, shape.schema).properties, (_, name) => name.startsWith('_')),
429
- ...getBuiltInProperties(projectSchema.apiVersion),
430
- ...((0, _apiVersion.workflowsEnabled)(projectSchema.apiVersion) && {
457
+ properties: { ...(0, _omitBy.default)((0, _refs.dereferenceObjectSchema)(projectSchema, shape.schema, ['shapes', shape.name]).properties, (_, name) => name.startsWith('_')),
458
+ ...getBuiltinProperties(shape.id, builtinSet, projectSchema.apiVersion),
459
+ ...(builtinSet === 'model' && (0, _apiVersion.workflowsEnabled)(projectSchema.apiVersion) && {
431
460
  _status: (0, _workflows.getStatusField)(projectSchema.workflows, shape)
432
461
  })
433
462
  }
@@ -482,7 +511,7 @@ function applyDefaultsToSchema(projectSchema) {
482
511
  };
483
512
  }
484
513
 
485
- return isModelShape(shape) ? applyBuiltinPropertiesToShape(projectSchema, shape) : shape;
514
+ return applyBuiltinPropertiesToShape(projectSchema, shape);
486
515
  }),
487
516
  forms: (0, _mapValues.default)({ ..._builtinSchema.builtInForms,
488
517
  ...projectSchema.forms
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takeshape/schema",
3
- "version": "8.97.0",
3
+ "version": "8.99.0",
4
4
  "description": "TakeShape Schema",
5
5
  "homepage": "https://www.takeshape.io",
6
6
  "repository": {
@@ -21,9 +21,9 @@
21
21
  "examples"
22
22
  ],
23
23
  "dependencies": {
24
- "@takeshape/errors": "8.97.0",
25
- "@takeshape/json-schema": "8.97.0",
26
- "@takeshape/util": "8.97.0",
24
+ "@takeshape/errors": "8.99.0",
25
+ "@takeshape/json-schema": "8.99.0",
26
+ "@takeshape/util": "8.99.0",
27
27
  "ajv": "^8.10.0",
28
28
  "ajv-formats": "^2.1.1",
29
29
  "blueimp-md5": "^2.10.0",