@takeshape/schema 9.38.0 → 9.40.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/dist/content-schema-transform.d.ts +1 -1
- package/dist/content-schema-transform.d.ts.map +1 -1
- package/dist/content-schema-transform.js +1 -1
- package/dist/migration/index.d.ts +1 -0
- package/dist/migration/index.d.ts.map +1 -1
- package/dist/migration/index.js +4 -1
- package/dist/migration/to/v3.32.0.d.ts +5 -0
- package/dist/migration/to/v3.32.0.d.ts.map +1 -0
- package/dist/migration/to/v3.32.0.js +107 -0
- package/dist/migration/types.d.ts +1 -3
- package/dist/migration/types.d.ts.map +1 -1
- package/dist/mocks.d.ts +3 -2
- package/dist/mocks.d.ts.map +1 -1
- package/dist/mocks.js +14 -0
- package/dist/project-schema/index.d.ts +4 -1
- package/dist/project-schema/index.d.ts.map +1 -1
- package/dist/project-schema/index.js +20 -3
- package/dist/project-schema/latest.d.ts +79 -88
- package/dist/project-schema/latest.d.ts.map +1 -1
- package/dist/project-schema/migrate.d.ts.map +1 -1
- package/dist/project-schema/migrate.js +4 -0
- package/dist/project-schema/v3.31.0.d.ts +1 -1
- package/dist/project-schema/v3.31.0.d.ts.map +1 -1
- package/dist/project-schema/v3.32.0.d.ts +1440 -0
- package/dist/project-schema/v3.32.0.d.ts.map +1 -0
- package/dist/project-schema/v3.32.0.js +5 -0
- package/dist/refs.d.ts +20 -1
- package/dist/refs.d.ts.map +1 -1
- package/dist/refs.js +90 -17
- package/dist/schema-util.d.ts +12 -10
- package/dist/schema-util.d.ts.map +1 -1
- package/dist/schema-util.js +31 -23
- package/dist/schemas/index.d.ts +2 -2
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +6 -4
- package/dist/schemas/index.ts +4 -2
- package/dist/schemas/project-schema/latest.json +59 -67
- package/dist/schemas/project-schema/v3.31.0.json +1 -4
- package/dist/schemas/project-schema/v3.32.0.json +3081 -0
- package/dist/schemas/project-schema.json +3 -0
- package/dist/template-shapes/templates.js +1 -1
- package/dist/template-shapes/where.js +2 -2
- package/dist/types/types.d.ts +6 -4
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utils.d.ts +4 -2
- package/dist/types/utils.d.ts.map +1 -1
- package/dist/types/utils.js +22 -1
- package/dist/util/api-indexing.d.ts +4 -5
- package/dist/util/api-indexing.d.ts.map +1 -1
- package/dist/util/api-indexing.js +25 -16
- package/dist/util/merge.js +1 -1
- package/dist/util/patch-schema.d.ts.map +1 -1
- package/dist/util/patch-schema.js +1 -1
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +97 -31
- package/es/content-schema-transform.js +1 -1
- package/es/migration/index.js +3 -1
- package/es/migration/to/v3.32.0.js +98 -0
- package/es/mocks.js +12 -0
- package/es/project-schema/index.js +3 -1
- package/es/project-schema/migrate.js +5 -1
- package/es/project-schema/v3.32.0.js +1 -0
- package/es/refs.js +78 -17
- package/es/schema-util.js +24 -17
- package/es/schemas/index.js +4 -3
- package/es/schemas/index.ts +4 -2
- package/es/schemas/project-schema/latest.json +59 -67
- package/es/schemas/project-schema/v3.31.0.json +1 -4
- package/es/schemas/project-schema/v3.32.0.json +3081 -0
- package/es/schemas/project-schema.json +3 -0
- package/es/template-shapes/templates.js +2 -2
- package/es/template-shapes/where.js +3 -3
- package/es/types/utils.js +15 -0
- package/es/util/api-indexing.js +23 -16
- package/es/util/merge.js +1 -1
- package/es/util/patch-schema.js +1 -1
- package/es/validate.js +96 -31
- package/examples/latest/betzino.json +1 -1
- package/examples/latest/blog-schema.json +1 -1
- package/examples/latest/brewery-schema.json +1 -1
- package/examples/latest/complex-project-schema.json +1 -1
- package/examples/latest/complex-schema.json +1 -1
- package/examples/latest/fabric-ecommerce.json +1 -1
- package/examples/latest/frank-and-fred-schema.json +1 -1
- package/examples/latest/klirr-schema.json +1 -1
- package/examples/latest/massive-schema.json +1 -1
- package/examples/latest/mill-components-schema.json +1 -1
- package/examples/latest/one-earth.json +1 -1
- package/examples/latest/pet-oneof-array.json +1 -1
- package/examples/latest/post-schema.json +1 -1
- package/examples/latest/pruned-shopify-product-schema.json +1 -1
- package/examples/latest/real-world-schema.json +1 -1
- package/examples/latest/recursive-repeater-schema.json +1 -1
- package/examples/latest/recursive-schema.json +1 -1
- package/examples/latest/rick-and-morty-ast.json +1 -1
- package/examples/latest/rick-and-morty-graphql.json +1 -1
- package/examples/latest/rick-and-morty-rest.json +1 -1
- package/examples/latest/schema-with-repeater-draftjs.json +1 -1
- package/examples/latest/shape-books-v3_2_0.json +1 -1
- package/examples/latest/shape-books.json +1 -1
- package/examples/latest/shopify-lookbook.json +1 -1
- package/examples/latest/shopify-product-2022-07.json +1 -1
- package/examples/latest/shopify-product-2023-04.json +1 -1
- package/examples/latest/shopify-store-with-widget.json +1 -1
- package/examples/latest/stripe-product-runtime-schema.json +22 -23
- package/examples/latest/stripe-starter-resolved.json +1 -1
- package/examples/latest/user-schema-no-required.json +1 -1
- package/examples/latest/user-schema-with-defaults.json +1 -1
- package/package.json +5 -5
|
@@ -2,7 +2,7 @@ import { TemplateVerbs } from './types';
|
|
|
2
2
|
import { listTypePrefix } from '../migration';
|
|
3
3
|
import { deepClone, pascalCase, visit } from '@takeshape/util';
|
|
4
4
|
import keyBy from 'lodash/keyBy';
|
|
5
|
-
import { createShape, getShapeDependencies,
|
|
5
|
+
import { createShape, getShapeDependencies, isCachedShape } from '../schema-util';
|
|
6
6
|
import { getFlattenedTemplateShapeName, getRef, getRefShapeName, refItemToAtRef, refItemToShapeName } from '../refs';
|
|
7
7
|
import { getWhereSearchArg } from './where';
|
|
8
8
|
import { mergeObjectSchemas, mergeSchemaProperties } from '../util';
|
|
@@ -389,7 +389,7 @@ export function getShapeListQueryArgs(templateName, legacyArgs) {
|
|
|
389
389
|
} = context;
|
|
390
390
|
const isAllShapes = shape.name === 'TSSearchable';
|
|
391
391
|
const shapeName = isAllShapes ? templateName : getFlattenedTemplateShapeName(shape.name, templateName);
|
|
392
|
-
const shapes = isAllShapes ? Object.values(projectSchema.shapes).filter(s => s.model !== undefined ||
|
|
392
|
+
const shapes = isAllShapes ? Object.values(projectSchema.shapes).filter(s => s.model !== undefined || isCachedShape(s)) : [shape];
|
|
393
393
|
const {
|
|
394
394
|
schema,
|
|
395
395
|
dependencies
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import unset from 'lodash/unset';
|
|
2
2
|
import isFunction from 'lodash/isFunction';
|
|
3
|
-
import { createSchemaPropertyList, createShape, getAllRefsInShapes,
|
|
3
|
+
import { createSchemaPropertyList, createShape, getAllRefsInShapes, isCachedShape } from '../schema-util';
|
|
4
4
|
import uniqBy from 'lodash/uniqBy';
|
|
5
5
|
import md5 from 'blueimp-md5';
|
|
6
6
|
import { pascalCase, isDefined } from '@takeshape/util';
|
|
@@ -292,7 +292,7 @@ export function getFields(typeName, shapes, context) {
|
|
|
292
292
|
name,
|
|
293
293
|
prop,
|
|
294
294
|
workflowsEnabled: workflowsEnabled(projectSchema.apiVersion),
|
|
295
|
-
isIndexedShape:
|
|
295
|
+
isIndexedShape: isCachedShape(shape),
|
|
296
296
|
exceededRelationshipDepth: exceededRelationshipDepth(relationshipDepth)
|
|
297
297
|
})).getNodes();
|
|
298
298
|
|
|
@@ -332,7 +332,7 @@ export function getPropertyComparisonType(name, prop, shapeName, context) {
|
|
|
332
332
|
name,
|
|
333
333
|
prop,
|
|
334
334
|
workflowsEnabled: workflowsEnabled(projectSchema.apiVersion),
|
|
335
|
-
isIndexedShape:
|
|
335
|
+
isIndexedShape: isCachedShape(projectSchema.shapes[shapeName]),
|
|
336
336
|
exceededRelationshipDepth: exceededRelationshipDepth(relationshipDepth)
|
|
337
337
|
})) {
|
|
338
338
|
return undefined;
|
package/es/types/utils.js
CHANGED
|
@@ -8,6 +8,7 @@ import has from 'lodash/has';
|
|
|
8
8
|
import { latestSchemaJson } from '../schemas';
|
|
9
9
|
import satisfies from 'semver/functions/satisfies';
|
|
10
10
|
import isUndefined from 'lodash/isUndefined';
|
|
11
|
+
import { isCachedShape } from '../schema-util';
|
|
11
12
|
/** Resolver Type Utils **/
|
|
12
13
|
|
|
13
14
|
/**
|
|
@@ -279,4 +280,18 @@ export function isPropertySchemaWithRelationship(schema) {
|
|
|
279
280
|
var _schema$Resolver;
|
|
280
281
|
|
|
281
282
|
return ((_schema$Resolver = schema['@resolver']) === null || _schema$Resolver === void 0 ? void 0 : _schema$Resolver.name) === 'shapedb:getRelated';
|
|
283
|
+
}
|
|
284
|
+
export function listCachedShapes(shapes) {
|
|
285
|
+
return Object.values(shapes).filter(isCachedShape);
|
|
286
|
+
}
|
|
287
|
+
export function getCachedShapeMap(shapes) {
|
|
288
|
+
const results = {};
|
|
289
|
+
|
|
290
|
+
for (const shape of Object.values(shapes)) {
|
|
291
|
+
if (isCachedShape(shape)) {
|
|
292
|
+
results[shape.name] = shape;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
return results;
|
|
282
297
|
}
|
package/es/util/api-indexing.js
CHANGED
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
import { isServiceResolver } from '../types';
|
|
2
2
|
import { ensureArray } from '@takeshape/util';
|
|
3
3
|
import { getResolverServices } from '../services';
|
|
4
|
+
import { isCachedShape } from '../schema-util';
|
|
5
|
+
import { getQuery } from '../refs';
|
|
4
6
|
export function serviceHasIndexedShapes(schema, serviceId) {
|
|
5
|
-
for (const
|
|
6
|
-
|
|
7
|
+
for (const shape of Object.values(schema.shapes ?? {})) {
|
|
8
|
+
var _shape$loaders;
|
|
7
9
|
|
|
8
|
-
|
|
10
|
+
const indexingEnabled = isCachedShape(shape);
|
|
11
|
+
const listConfigs = (_shape$loaders = shape.loaders) === null || _shape$loaders === void 0 ? void 0 : _shape$loaders.list;
|
|
12
|
+
|
|
13
|
+
if (indexingEnabled && listConfigs) {
|
|
9
14
|
for (const {
|
|
10
|
-
|
|
15
|
+
query: queryRef
|
|
11
16
|
} of ensureArray(listConfigs)) {
|
|
12
|
-
const
|
|
17
|
+
const resolved = getQuery(schema, queryRef);
|
|
13
18
|
|
|
14
|
-
if (
|
|
19
|
+
if (resolved && isServiceResolver(resolved.query.resolver) && resolved.query.resolver.service === serviceId) {
|
|
15
20
|
return true;
|
|
16
21
|
}
|
|
17
22
|
}
|
|
@@ -22,9 +27,8 @@ export function serviceHasIndexedShapes(schema, serviceId) {
|
|
|
22
27
|
}
|
|
23
28
|
export function getIndexedServices(projectSchema, configs) {
|
|
24
29
|
return ensureArray(configs).reduce((services, queryConfig) => {
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
return query ? [...services, ...getResolverServices(query.resolver)] : services;
|
|
30
|
+
const resolved = queryConfig !== null && queryConfig !== void 0 && queryConfig.query ? getQuery(projectSchema, queryConfig.query) : undefined;
|
|
31
|
+
return resolved !== null && resolved !== void 0 && resolved.query ? [...services, ...getResolverServices(resolved.query.resolver)] : services;
|
|
28
32
|
}, []);
|
|
29
33
|
}
|
|
30
34
|
|
|
@@ -38,27 +42,30 @@ function flattenListQueryConfigs(base, queryConfig, maybeConfigArray) {
|
|
|
38
42
|
|
|
39
43
|
function getQueryIndexConfigHelper(op) {
|
|
40
44
|
return ({
|
|
41
|
-
|
|
45
|
+
shapes
|
|
42
46
|
}, shapeName) => {
|
|
43
|
-
const
|
|
47
|
+
const {
|
|
48
|
+
cache,
|
|
49
|
+
loaders
|
|
50
|
+
} = shapes[shapeName] ?? {};
|
|
44
51
|
|
|
45
|
-
if (
|
|
46
|
-
const idField =
|
|
52
|
+
if (cache && loaders) {
|
|
53
|
+
const idField = cache.idField ?? 'id';
|
|
47
54
|
|
|
48
55
|
if (op === 'list') {
|
|
49
56
|
return flattenListQueryConfigs({
|
|
50
57
|
shapeName,
|
|
51
58
|
idField
|
|
52
|
-
},
|
|
59
|
+
}, cache.fragment, loaders.list);
|
|
53
60
|
}
|
|
54
61
|
|
|
55
|
-
const queryConfig =
|
|
62
|
+
const queryConfig = loaders.get;
|
|
56
63
|
|
|
57
64
|
if (queryConfig) {
|
|
58
65
|
return {
|
|
59
66
|
idField,
|
|
60
67
|
shapeName,
|
|
61
|
-
...
|
|
68
|
+
...cache.fragment,
|
|
62
69
|
...queryConfig
|
|
63
70
|
};
|
|
64
71
|
}
|
package/es/util/merge.js
CHANGED
|
@@ -104,7 +104,7 @@ export function mergeFormConfigs(...configs) {
|
|
|
104
104
|
order: []
|
|
105
105
|
});
|
|
106
106
|
}
|
|
107
|
-
const mergeableSections = ['shapes', 'mutations', 'queries', 'forms', 'services'
|
|
107
|
+
const mergeableSections = ['shapes', 'mutations', 'queries', 'forms', 'services'];
|
|
108
108
|
|
|
109
109
|
const isMergeableSection = str => {
|
|
110
110
|
return mergeableSections.includes(str);
|
package/es/util/patch-schema.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import forIn from 'lodash/forIn';
|
|
2
2
|
import omit from 'lodash/omit';
|
|
3
|
-
const schemaUpdateMergedKeys = ['queries', 'mutations', 'shapes', 'workflows', 'forms', 'services'
|
|
3
|
+
const schemaUpdateMergedKeys = ['queries', 'mutations', 'shapes', 'workflows', 'forms', 'services'];
|
|
4
4
|
export function shallowMerge(original, update) {
|
|
5
5
|
const result = { ...original
|
|
6
6
|
};
|
package/es/validate.js
CHANGED
|
@@ -29,6 +29,7 @@ import last from 'lodash/last';
|
|
|
29
29
|
import { getRelationship } from './relationships';
|
|
30
30
|
import get from 'lodash/get';
|
|
31
31
|
import gte from 'semver/functions/gte';
|
|
32
|
+
import lte from 'semver/functions/lte';
|
|
32
33
|
import size from 'lodash/size';
|
|
33
34
|
import isEqual from 'lodash/isEqual';
|
|
34
35
|
import pick from 'lodash/pick';
|
|
@@ -208,10 +209,24 @@ function validateResolver(projectSchema, basePath, baseResolver) {
|
|
|
208
209
|
};
|
|
209
210
|
|
|
210
211
|
const isValidShapeName = shapeName => {
|
|
211
|
-
var _indexedShapes;
|
|
212
|
+
var _indexedShapes, _modernShape$cache;
|
|
212
213
|
|
|
213
|
-
|
|
214
|
-
|
|
214
|
+
if (!shapeName) {
|
|
215
|
+
return false;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
const shape = projectSchema.shapes[shapeName];
|
|
219
|
+
|
|
220
|
+
if (shape !== null && shape !== void 0 && shape.model) {
|
|
221
|
+
return true;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
if ((_indexedShapes = projectSchema.indexedShapes) !== null && _indexedShapes !== void 0 && _indexedShapes[shapeName]) {
|
|
225
|
+
return true;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
const modernShape = shape;
|
|
229
|
+
return Boolean((modernShape === null || modernShape === void 0 ? void 0 : (_modernShape$cache = modernShape.cache) === null || _modernShape$cache === void 0 ? void 0 : _modernShape$cache.enabled) && modernShape.loaders);
|
|
215
230
|
};
|
|
216
231
|
|
|
217
232
|
const delegateResolverMissingConfig = (parsed, resolver) => {
|
|
@@ -443,6 +458,49 @@ function validateIndexedShapeConfig(projectSchema, shapeName, config) {
|
|
|
443
458
|
return errors;
|
|
444
459
|
}
|
|
445
460
|
|
|
461
|
+
function validateShapeLoaders(projectSchema, shape) {
|
|
462
|
+
const errors = [];
|
|
463
|
+
|
|
464
|
+
if ('loaders' in shape) {
|
|
465
|
+
var _loaders, _loaders2;
|
|
466
|
+
|
|
467
|
+
const getNamespace = createGetNamespace(projectSchema);
|
|
468
|
+
const listLoader = (_loaders = shape.loaders) === null || _loaders === void 0 ? void 0 : _loaders.list;
|
|
469
|
+
|
|
470
|
+
if (listLoader) {
|
|
471
|
+
ensureArray(listLoader).forEach((config, i) => {
|
|
472
|
+
const ref = parsePropertyRef(config.query);
|
|
473
|
+
const query = ref && get(projectSchema, propertyRefItemToPath(getNamespace, ref));
|
|
474
|
+
|
|
475
|
+
if (!query) {
|
|
476
|
+
errors.push({
|
|
477
|
+
path: Array.isArray(listLoader) ? ['shapes', shape.name, 'loaders', 'list', i, 'query'] : ['shapes', shape.name, 'loaders', 'list', 'query'],
|
|
478
|
+
type: 'notFound',
|
|
479
|
+
message: `Invalid query "${config.query}"`
|
|
480
|
+
});
|
|
481
|
+
}
|
|
482
|
+
});
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
const getLoader = (_loaders2 = shape.loaders) === null || _loaders2 === void 0 ? void 0 : _loaders2.get;
|
|
486
|
+
|
|
487
|
+
if (getLoader) {
|
|
488
|
+
const ref = parsePropertyRef(getLoader.query);
|
|
489
|
+
const query = ref && get(projectSchema, propertyRefItemToPath(getNamespace, ref));
|
|
490
|
+
|
|
491
|
+
if (!query) {
|
|
492
|
+
errors.push({
|
|
493
|
+
path: ['shapes', shape.name, 'loaders', 'get', 'query'],
|
|
494
|
+
type: 'notFound',
|
|
495
|
+
message: `Invalid query "${getLoader.query}"`
|
|
496
|
+
});
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
return errors;
|
|
502
|
+
}
|
|
503
|
+
|
|
446
504
|
function visitProperties(projectSchema, callback) {
|
|
447
505
|
JSONPath('$..properties.*', projectSchema, (property, _type, {
|
|
448
506
|
path: propertyPath
|
|
@@ -452,50 +510,57 @@ function visitProperties(projectSchema, callback) {
|
|
|
452
510
|
}
|
|
453
511
|
|
|
454
512
|
function validateIndexedShapes(projectSchema) {
|
|
455
|
-
|
|
513
|
+
const errors = [];
|
|
514
|
+
const version = getSemver(projectSchema.schemaVersion);
|
|
456
515
|
|
|
457
|
-
if (gt(
|
|
516
|
+
if (gt(version, '3.12.0') && lte(version, '3.31.0')) {
|
|
458
517
|
const {
|
|
459
518
|
indexedShapes
|
|
460
519
|
} = projectSchema;
|
|
461
520
|
|
|
462
521
|
if (indexedShapes) {
|
|
463
522
|
forOwn(indexedShapes, (config, shapeName) => {
|
|
464
|
-
errors
|
|
523
|
+
errors.push(...validateIndexedShapeConfig(projectSchema, shapeName, config));
|
|
465
524
|
});
|
|
466
525
|
}
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
if (gt(getSemver(projectSchema.schemaVersion), '3.26.0')) {
|
|
526
|
+
} else if (gt(version, '3.31.0')) {
|
|
470
527
|
const {
|
|
471
|
-
|
|
528
|
+
shapes
|
|
472
529
|
} = projectSchema;
|
|
473
530
|
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
visitProperties(projectSchema, (property, propertyPath) => {
|
|
477
|
-
const indexed = property['@indexed'];
|
|
531
|
+
for (const shape of Object.values(shapes)) {
|
|
532
|
+
const newErrors = validateShapeLoaders(projectSchema, shape);
|
|
478
533
|
|
|
479
|
-
|
|
480
|
-
|
|
534
|
+
if (newErrors.length) {
|
|
535
|
+
errors.push(...newErrors);
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
}
|
|
481
539
|
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
message: 'Nested indexes may only appear next to fields of type: "array"'
|
|
487
|
-
});
|
|
488
|
-
}
|
|
489
|
-
}
|
|
490
|
-
});
|
|
540
|
+
if (gt(version, '3.26.0')) {
|
|
541
|
+
let nestedCount = 0;
|
|
542
|
+
visitProperties(projectSchema, (property, propertyPath) => {
|
|
543
|
+
const indexed = property['@indexed'];
|
|
491
544
|
|
|
492
|
-
if (
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
545
|
+
if (isRecord(indexed) && indexed.nested) {
|
|
546
|
+
nestedCount += 1;
|
|
547
|
+
|
|
548
|
+
if (property.type !== 'array') {
|
|
549
|
+
errors.push({
|
|
550
|
+
path: propertyPath,
|
|
551
|
+
type: 'location',
|
|
552
|
+
message: 'Nested indexes may only appear next to fields of type: "array"'
|
|
553
|
+
});
|
|
554
|
+
}
|
|
498
555
|
}
|
|
556
|
+
});
|
|
557
|
+
|
|
558
|
+
if (nestedCount > 50) {
|
|
559
|
+
errors.push({
|
|
560
|
+
path: ['shapes'],
|
|
561
|
+
type: 'tooMany',
|
|
562
|
+
message: `${nestedCount} nested indexes found`
|
|
563
|
+
});
|
|
499
564
|
}
|
|
500
565
|
}
|
|
501
566
|
|
|
@@ -52525,6 +52525,6 @@
|
|
|
52525
52525
|
}
|
|
52526
52526
|
}
|
|
52527
52527
|
},
|
|
52528
|
-
"schemaVersion": "3.
|
|
52528
|
+
"schemaVersion": "3.32.0",
|
|
52529
52529
|
"services": {}
|
|
52530
52530
|
}
|
|
@@ -10505,5 +10505,5 @@
|
|
|
10505
10505
|
}
|
|
10506
10506
|
}
|
|
10507
10507
|
},
|
|
10508
|
-
"schemaVersion": "3.
|
|
10508
|
+
"schemaVersion": "3.32.0"
|
|
10509
10509
|
}
|
|
@@ -23251,6 +23251,6 @@
|
|
|
23251
23251
|
}
|
|
23252
23252
|
}
|
|
23253
23253
|
},
|
|
23254
|
-
"schemaVersion": "3.
|
|
23254
|
+
"schemaVersion": "3.32.0",
|
|
23255
23255
|
"services": {}
|
|
23256
23256
|
}
|
|
@@ -34786,6 +34786,6 @@
|
|
|
34786
34786
|
}
|
|
34787
34787
|
}
|
|
34788
34788
|
},
|
|
34789
|
-
"schemaVersion": "3.
|
|
34789
|
+
"schemaVersion": "3.32.0",
|
|
34790
34790
|
"services": {}
|
|
34791
34791
|
}
|
|
@@ -14216,6 +14216,6 @@
|
|
|
14216
14216
|
}
|
|
14217
14217
|
}
|
|
14218
14218
|
},
|
|
14219
|
-
"schemaVersion": "3.
|
|
14219
|
+
"schemaVersion": "3.32.0",
|
|
14220
14220
|
"services": {}
|
|
14221
14221
|
}
|
|
@@ -49336,7 +49336,7 @@
|
|
|
49336
49336
|
}
|
|
49337
49337
|
}
|
|
49338
49338
|
},
|
|
49339
|
-
"schemaVersion": "3.
|
|
49339
|
+
"schemaVersion": "3.32.0",
|
|
49340
49340
|
"apiVersion": "2",
|
|
49341
49341
|
"services": {
|
|
49342
49342
|
"shopify": {
|
|
@@ -12560,5 +12560,5 @@
|
|
|
12560
12560
|
}
|
|
12561
12561
|
}
|
|
12562
12562
|
},
|
|
12563
|
-
"schemaVersion": "3.
|
|
12563
|
+
"schemaVersion": "3.32.0"
|
|
12564
12564
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"en-us"
|
|
6
6
|
],
|
|
7
7
|
"apiVersion": "2",
|
|
8
|
-
"schemaVersion": "3.
|
|
8
|
+
"schemaVersion": "3.32.0",
|
|
9
9
|
"queries": {
|
|
10
10
|
"getAsset": {
|
|
11
11
|
"shape": "Asset",
|
|
@@ -948,6 +948,27 @@
|
|
|
948
948
|
"type": "string"
|
|
949
949
|
}
|
|
950
950
|
}
|
|
951
|
+
},
|
|
952
|
+
"loaders": {
|
|
953
|
+
"list": {
|
|
954
|
+
"query": "Stripe_listProducts"
|
|
955
|
+
},
|
|
956
|
+
"get": {
|
|
957
|
+
"query": "Stripe_getProduct"
|
|
958
|
+
}
|
|
959
|
+
},
|
|
960
|
+
"cache": {
|
|
961
|
+
"enabled": true,
|
|
962
|
+
"fragment": {
|
|
963
|
+
"maxDepth": 1
|
|
964
|
+
},
|
|
965
|
+
"triggers": [
|
|
966
|
+
{
|
|
967
|
+
"type": "schedule",
|
|
968
|
+
"interval": 1440,
|
|
969
|
+
"loader": "list"
|
|
970
|
+
}
|
|
971
|
+
]
|
|
951
972
|
}
|
|
952
973
|
},
|
|
953
974
|
"WrappedString": {
|
|
@@ -4394,27 +4415,5 @@
|
|
|
4394
4415
|
"useRestfulNames": true
|
|
4395
4416
|
}
|
|
4396
4417
|
}
|
|
4397
|
-
},
|
|
4398
|
-
"indexedShapes": {
|
|
4399
|
-
"Stripe_Product": {
|
|
4400
|
-
"queries": {
|
|
4401
|
-
"list": {
|
|
4402
|
-
"name": "Stripe_listProducts"
|
|
4403
|
-
},
|
|
4404
|
-
"get": {
|
|
4405
|
-
"name": "Stripe_getProduct"
|
|
4406
|
-
}
|
|
4407
|
-
},
|
|
4408
|
-
"triggers": [
|
|
4409
|
-
{
|
|
4410
|
-
"type": "schedule",
|
|
4411
|
-
"query": "list",
|
|
4412
|
-
"interval": 1440
|
|
4413
|
-
}
|
|
4414
|
-
],
|
|
4415
|
-
"query": {
|
|
4416
|
-
"maxDepth": 1
|
|
4417
|
-
}
|
|
4418
|
-
}
|
|
4419
4418
|
}
|
|
4420
4419
|
}
|