@aws-amplify/data-schema 1.3.10 → 1.4.1
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/cjs/ModelType.js +5 -0
- package/dist/cjs/ModelType.js.map +1 -1
- package/dist/cjs/SchemaProcessor.js +58 -1
- package/dist/cjs/SchemaProcessor.js.map +1 -1
- package/dist/cjs/runtime/addSchemaToClient.js +1 -0
- package/dist/cjs/runtime/addSchemaToClient.js.map +1 -1
- package/dist/cjs/runtime/addSchemaToClientWithInstance.js +1 -0
- package/dist/cjs/runtime/addSchemaToClientWithInstance.js.map +1 -1
- package/dist/cjs/runtime/internals/APIClient.js +63 -42
- package/dist/cjs/runtime/internals/APIClient.js.map +1 -1
- package/dist/cjs/runtime/internals/cancellation.js +48 -0
- package/dist/cjs/runtime/internals/cancellation.js.map +1 -0
- package/dist/cjs/runtime/internals/clientUtils.js +45 -3
- package/dist/cjs/runtime/internals/clientUtils.js.map +1 -1
- package/dist/cjs/runtime/internals/index.js +3 -1
- package/dist/cjs/runtime/internals/index.js.map +1 -1
- package/dist/cjs/runtime/internals/operations/custom.js +91 -85
- package/dist/cjs/runtime/internals/operations/custom.js.map +1 -1
- package/dist/cjs/runtime/internals/operations/get.js +71 -65
- package/dist/cjs/runtime/internals/operations/get.js.map +1 -1
- package/dist/cjs/runtime/internals/operations/indexQuery.js +66 -60
- package/dist/cjs/runtime/internals/operations/indexQuery.js.map +1 -1
- package/dist/cjs/runtime/internals/operations/list.js +90 -84
- package/dist/cjs/runtime/internals/operations/list.js.map +1 -1
- package/dist/cjs/runtime/internals/server/generateModelsProperty.js +3 -3
- package/dist/cjs/runtime/internals/server/generateModelsProperty.js.map +1 -1
- package/dist/cjs/runtime/internals/utils/clientProperties/generateModelsProperty.js +3 -3
- package/dist/cjs/runtime/internals/utils/clientProperties/generateModelsProperty.js.map +1 -1
- package/dist/cjs/runtime/utils/index.js +3 -1
- package/dist/cjs/runtime/utils/index.js.map +1 -1
- package/dist/cjs/runtime/utils/selfAwareAsync.js +40 -0
- package/dist/cjs/runtime/utils/selfAwareAsync.js.map +1 -0
- package/dist/esm/Authorization.d.ts +1 -1
- package/dist/esm/ClientSchema/Core/ClientModel.d.ts +20 -1
- package/dist/esm/ClientSchema/utilities/ResolveField.d.ts +5 -1
- package/dist/esm/ModelType.d.ts +6 -0
- package/dist/esm/ModelType.mjs +5 -0
- package/dist/esm/ModelType.mjs.map +1 -1
- package/dist/esm/SchemaProcessor.mjs +58 -1
- package/dist/esm/SchemaProcessor.mjs.map +1 -1
- package/dist/esm/runtime/addSchemaToClient.mjs +2 -0
- package/dist/esm/runtime/addSchemaToClient.mjs.map +1 -1
- package/dist/esm/runtime/addSchemaToClientWithInstance.mjs +2 -0
- package/dist/esm/runtime/addSchemaToClientWithInstance.mjs.map +1 -1
- package/dist/esm/runtime/bridge-types.d.ts +2 -2
- package/dist/esm/runtime/client/index.d.ts +33 -24
- package/dist/esm/runtime/internals/APIClient.d.ts +2 -2
- package/dist/esm/runtime/internals/APIClient.mjs +64 -42
- package/dist/esm/runtime/internals/APIClient.mjs.map +1 -1
- package/dist/esm/runtime/internals/cancellation.d.ts +10 -0
- package/dist/esm/runtime/internals/cancellation.mjs +44 -0
- package/dist/esm/runtime/internals/cancellation.mjs.map +1 -0
- package/dist/esm/runtime/internals/clientUtils.d.ts +78 -1
- package/dist/esm/runtime/internals/clientUtils.mjs +45 -3
- package/dist/esm/runtime/internals/clientUtils.mjs.map +1 -1
- package/dist/esm/runtime/internals/index.d.ts +1 -0
- package/dist/esm/runtime/internals/index.mjs +1 -0
- package/dist/esm/runtime/internals/index.mjs.map +1 -1
- package/dist/esm/runtime/internals/operations/custom.d.ts +1 -1
- package/dist/esm/runtime/internals/operations/custom.mjs +91 -85
- package/dist/esm/runtime/internals/operations/custom.mjs.map +1 -1
- package/dist/esm/runtime/internals/operations/get.d.ts +1 -1
- package/dist/esm/runtime/internals/operations/get.mjs +71 -65
- package/dist/esm/runtime/internals/operations/get.mjs.map +1 -1
- package/dist/esm/runtime/internals/operations/indexQuery.d.ts +1 -1
- package/dist/esm/runtime/internals/operations/indexQuery.mjs +66 -60
- package/dist/esm/runtime/internals/operations/indexQuery.mjs.map +1 -1
- package/dist/esm/runtime/internals/operations/list.d.ts +1 -1
- package/dist/esm/runtime/internals/operations/list.mjs +90 -84
- package/dist/esm/runtime/internals/operations/list.mjs.map +1 -1
- package/dist/esm/runtime/internals/server/generateModelsProperty.mjs +4 -4
- package/dist/esm/runtime/internals/server/generateModelsProperty.mjs.map +1 -1
- package/dist/esm/runtime/internals/utils/clientProperties/generateModelsProperty.mjs +4 -4
- package/dist/esm/runtime/internals/utils/clientProperties/generateModelsProperty.mjs.map +1 -1
- package/dist/esm/runtime/utils/index.d.ts +1 -0
- package/dist/esm/runtime/utils/index.mjs +1 -0
- package/dist/esm/runtime/utils/index.mjs.map +1 -1
- package/dist/esm/runtime/utils/selfAwareAsync.d.ts +19 -0
- package/dist/esm/runtime/utils/selfAwareAsync.mjs +37 -0
- package/dist/esm/runtime/utils/selfAwareAsync.mjs.map +1 -0
- package/dist/meta/cjs.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/ClientSchema/Core/ClientModel.ts +29 -0
- package/src/ClientSchema/utilities/ResolveField.ts +26 -6
- package/src/ModelType.ts +31 -0
- package/src/SchemaProcessor.ts +77 -2
- package/src/runtime/addSchemaToClient.ts +2 -0
- package/src/runtime/addSchemaToClientWithInstance.ts +2 -0
- package/src/runtime/bridge-types.ts +2 -2
- package/src/runtime/client/index.ts +250 -184
- package/src/runtime/internals/APIClient.ts +67 -23
- package/src/runtime/internals/cancellation.ts +57 -0
- package/src/runtime/internals/clientUtils.ts +61 -1
- package/src/runtime/internals/index.ts +1 -0
- package/src/runtime/internals/operations/custom.ts +117 -109
- package/src/runtime/internals/operations/get.ts +111 -95
- package/src/runtime/internals/operations/indexQuery.ts +100 -94
- package/src/runtime/internals/operations/list.ts +132 -119
- package/src/runtime/internals/server/generateModelsProperty.ts +31 -28
- package/src/runtime/internals/utils/clientProperties/generateModelsProperty.ts +36 -33
- package/src/runtime/utils/index.ts +1 -0
- package/src/runtime/utils/selfAwareAsync.ts +39 -0
|
@@ -295,22 +295,25 @@ type IndexQueryMethod<Model extends ClientSchemaByEntityTypeBaseShape['models'][
|
|
|
295
295
|
authToken?: string;
|
|
296
296
|
headers?: CustomHeaders;
|
|
297
297
|
}) => ListReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
|
|
298
|
-
type ModelTypesClient<Model extends ClientSchemaByEntityTypeBaseShape['models'][string], FlatModel extends Record<string, unknown> = ResolvedModel<Model['type']>> = IndexQueryMethods<Model> & {
|
|
299
|
-
create
|
|
298
|
+
type ModelTypesClient<Model extends ClientSchemaByEntityTypeBaseShape['models'][string], FlatModel extends Record<string, unknown> = ResolvedModel<Model['type']>> = IndexQueryMethods<Model> & Omit<{
|
|
299
|
+
create<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(model: Model['createType'], options?: {
|
|
300
|
+
selectionSet?: SelectionSet;
|
|
300
301
|
authMode?: AuthMode;
|
|
301
302
|
authToken?: string;
|
|
302
303
|
headers?: CustomHeaders;
|
|
303
|
-
})
|
|
304
|
-
update
|
|
304
|
+
}): SingularReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
|
|
305
|
+
update<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(model: Model['updateType'], options?: {
|
|
306
|
+
selectionSet?: SelectionSet;
|
|
305
307
|
authMode?: AuthMode;
|
|
306
308
|
authToken?: string;
|
|
307
309
|
headers?: CustomHeaders;
|
|
308
|
-
})
|
|
309
|
-
delete
|
|
310
|
+
}): SingularReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
|
|
311
|
+
delete<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(identifier: Model['deleteType'], options?: {
|
|
312
|
+
selectionSet?: SelectionSet;
|
|
310
313
|
authMode?: AuthMode;
|
|
311
314
|
authToken?: string;
|
|
312
315
|
headers?: CustomHeaders;
|
|
313
|
-
})
|
|
316
|
+
}): SingularReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
|
|
314
317
|
get<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(identifier: Model['identifier'], options?: {
|
|
315
318
|
selectionSet?: SelectionSet;
|
|
316
319
|
authMode?: AuthMode;
|
|
@@ -353,23 +356,26 @@ type ModelTypesClient<Model extends ClientSchemaByEntityTypeBaseShape['models'][
|
|
|
353
356
|
authMode?: AuthMode;
|
|
354
357
|
authToken?: string;
|
|
355
358
|
}): ObserveQueryReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
|
|
356
|
-
}
|
|
357
|
-
type ModelTypesSSRCookies<Model extends ClientSchemaByEntityTypeBaseShape['models'][string], FlatModel extends Record<string, unknown> = ResolvedModel<Model['type']>> = IndexQueryMethods<Model> & {
|
|
358
|
-
create
|
|
359
|
+
}, keyof Model['__meta']['disabledOperations']>;
|
|
360
|
+
type ModelTypesSSRCookies<Model extends ClientSchemaByEntityTypeBaseShape['models'][string], FlatModel extends Record<string, unknown> = ResolvedModel<Model['type']>> = IndexQueryMethods<Model> & Omit<{
|
|
361
|
+
create<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(model: Model['createType'], options?: {
|
|
362
|
+
selectionSet?: SelectionSet;
|
|
359
363
|
authMode?: AuthMode;
|
|
360
364
|
authToken?: string;
|
|
361
365
|
headers?: CustomHeaders;
|
|
362
|
-
})
|
|
363
|
-
update
|
|
366
|
+
}): SingularReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
|
|
367
|
+
update<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(model: Model['updateType'], options?: {
|
|
368
|
+
selectionSet?: SelectionSet;
|
|
364
369
|
authMode?: AuthMode;
|
|
365
370
|
authToken?: string;
|
|
366
371
|
headers?: CustomHeaders;
|
|
367
|
-
})
|
|
368
|
-
delete
|
|
372
|
+
}): SingularReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
|
|
373
|
+
delete<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(identifier: Model['deleteType'], options?: {
|
|
374
|
+
selectionSet?: SelectionSet;
|
|
369
375
|
authMode?: AuthMode;
|
|
370
376
|
authToken?: string;
|
|
371
377
|
headers?: CustomHeaders;
|
|
372
|
-
})
|
|
378
|
+
}): SingularReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
|
|
373
379
|
get<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(identifier: Model['identifier'], options?: {
|
|
374
380
|
selectionSet?: SelectionSet;
|
|
375
381
|
authMode?: AuthMode;
|
|
@@ -386,23 +392,26 @@ type ModelTypesSSRCookies<Model extends ClientSchemaByEntityTypeBaseShape['model
|
|
|
386
392
|
authToken?: string;
|
|
387
393
|
headers?: CustomHeaders;
|
|
388
394
|
}): ListReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
|
|
389
|
-
}
|
|
390
|
-
type ModelTypesSSRRequest<Model extends ClientSchemaByEntityTypeBaseShape['models'][string], FlatModel extends Record<string, unknown> = ResolvedModel<Model['type']>> = IndexQueryMethods<Model, 'REQUEST'> & {
|
|
391
|
-
create
|
|
395
|
+
}, keyof Model['__meta']['disabledOperations']>;
|
|
396
|
+
type ModelTypesSSRRequest<Model extends ClientSchemaByEntityTypeBaseShape['models'][string], FlatModel extends Record<string, unknown> = ResolvedModel<Model['type']>> = IndexQueryMethods<Model, 'REQUEST'> & Omit<{
|
|
397
|
+
create<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(contextSpec: AmplifyServer.ContextSpec, model: Model['createType'], options?: {
|
|
398
|
+
selectionSet?: SelectionSet;
|
|
392
399
|
authMode?: AuthMode;
|
|
393
400
|
authToken?: string;
|
|
394
401
|
headers?: CustomHeaders;
|
|
395
|
-
})
|
|
396
|
-
update
|
|
402
|
+
}): SingularReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
|
|
403
|
+
update<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(contextSpec: AmplifyServer.ContextSpec, model: Model['updateType'], options?: {
|
|
404
|
+
selectionSet?: SelectionSet;
|
|
397
405
|
authMode?: AuthMode;
|
|
398
406
|
authToken?: string;
|
|
399
407
|
headers?: CustomHeaders;
|
|
400
|
-
})
|
|
401
|
-
delete
|
|
408
|
+
}): SingularReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
|
|
409
|
+
delete<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(contextSpec: AmplifyServer.ContextSpec, identifier: Model['deleteType'], options?: {
|
|
410
|
+
selectionSet?: SelectionSet;
|
|
402
411
|
authMode?: AuthMode;
|
|
403
412
|
authToken?: string;
|
|
404
413
|
headers?: CustomHeaders;
|
|
405
|
-
})
|
|
414
|
+
}): SingularReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
|
|
406
415
|
get<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(contextSpec: AmplifyServer.ContextSpec, identifier: Model['identifier'], options?: {
|
|
407
416
|
selectionSet?: SelectionSet;
|
|
408
417
|
authMode?: AuthMode;
|
|
@@ -419,7 +428,7 @@ type ModelTypesSSRRequest<Model extends ClientSchemaByEntityTypeBaseShape['model
|
|
|
419
428
|
authToken?: string;
|
|
420
429
|
headers?: CustomHeaders;
|
|
421
430
|
}): ListReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
|
|
422
|
-
}
|
|
431
|
+
}, keyof Model['__meta']['disabledOperations']>;
|
|
423
432
|
type ContextType = 'CLIENT' | 'COOKIES' | 'REQUEST';
|
|
424
433
|
export type ModelTypes<T extends Record<any, any>, Context extends ContextType = 'CLIENT', Schema extends ClientSchemaByEntityType<T> = ClientSchemaByEntityType<T>> = {
|
|
425
434
|
[ModelName in keyof Schema['models']]: Context extends 'CLIENT' ? ModelTypesClient<Schema['models'][ModelName]> : Context extends 'COOKIES' ? ModelTypesSSRCookies<Schema['models'][ModelName]> : Context extends 'REQUEST' ? ModelTypesSSRRequest<Schema['models'][ModelName]> : never;
|
|
@@ -51,7 +51,7 @@ export declare const graphQLOperationsInfo: {
|
|
|
51
51
|
readonly operationPrefix: "create";
|
|
52
52
|
readonly usePlural: false;
|
|
53
53
|
};
|
|
54
|
-
readonly
|
|
54
|
+
readonly GET: {
|
|
55
55
|
readonly operationPrefix: "get";
|
|
56
56
|
readonly usePlural: false;
|
|
57
57
|
};
|
|
@@ -83,7 +83,7 @@ export declare const graphQLOperationsInfo: {
|
|
|
83
83
|
readonly operationPrefix: "onDelete";
|
|
84
84
|
readonly usePlural: false;
|
|
85
85
|
};
|
|
86
|
-
readonly
|
|
86
|
+
readonly OBSERVEQUERY: {
|
|
87
87
|
readonly operationPrefix: "observeQuery";
|
|
88
88
|
readonly usePlural: false;
|
|
89
89
|
};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { resolveOwnerFields } from '../utils/resolveOwnerFields.mjs';
|
|
2
2
|
import { capitalize } from '../utils/stringTransformation.mjs';
|
|
3
|
+
import { selfAwareAsync } from '../utils/selfAwareAsync.mjs';
|
|
4
|
+
import { extendCancellability } from './cancellation.mjs';
|
|
3
5
|
|
|
4
6
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
5
7
|
const connectionType = {
|
|
@@ -166,6 +168,10 @@ function initializeModel(client, modelName, result, modelIntrospection, authMode
|
|
|
166
168
|
return (acc[curVal] = record[curVal]);
|
|
167
169
|
}
|
|
168
170
|
}, {});
|
|
171
|
+
// if get is disabled on the related model
|
|
172
|
+
if (client.models[relatedModelName].get === undefined) {
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
169
175
|
if (context) {
|
|
170
176
|
initializedRelationalFields[fieldName] = (contextSpec, options) => {
|
|
171
177
|
if (record[targetNames[0]]) {
|
|
@@ -228,18 +234,24 @@ function initializeModel(client, modelName, result, modelIntrospection, authMode
|
|
|
228
234
|
}
|
|
229
235
|
return { [field]: { eq: record[parentSK[idx - 1]] } };
|
|
230
236
|
});
|
|
237
|
+
// if list is disabled on the related model
|
|
238
|
+
if (client.models[relatedModelName].list === undefined) {
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
231
241
|
if (context) {
|
|
232
242
|
initializedRelationalFields[fieldName] = (contextSpec, options) => {
|
|
233
243
|
if (record[parentPk]) {
|
|
234
|
-
return
|
|
235
|
-
.list(contextSpec, {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
244
|
+
return selfAwareAsync(async (resultPromise) => {
|
|
245
|
+
const basePromise = client.models[relatedModelName].list(contextSpec, {
|
|
246
|
+
filter: { and: hasManyFilter },
|
|
247
|
+
limit: options?.limit,
|
|
248
|
+
nextToken: options?.nextToken,
|
|
249
|
+
authMode: options?.authMode || authMode,
|
|
250
|
+
authToken: options?.authToken || authToken,
|
|
251
|
+
});
|
|
252
|
+
const extendedBase = extendCancellability(basePromise, resultPromise);
|
|
253
|
+
return mapResult((await extendedBase));
|
|
254
|
+
});
|
|
243
255
|
}
|
|
244
256
|
return [];
|
|
245
257
|
};
|
|
@@ -247,15 +259,17 @@ function initializeModel(client, modelName, result, modelIntrospection, authMode
|
|
|
247
259
|
else {
|
|
248
260
|
initializedRelationalFields[fieldName] = (options) => {
|
|
249
261
|
if (record[parentPk]) {
|
|
250
|
-
return
|
|
251
|
-
.list({
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
262
|
+
return selfAwareAsync(async (resultPromise) => {
|
|
263
|
+
const basePromise = client.models[relatedModelName].list({
|
|
264
|
+
filter: { and: hasManyFilter },
|
|
265
|
+
limit: options?.limit,
|
|
266
|
+
nextToken: options?.nextToken,
|
|
267
|
+
authMode: options?.authMode || authMode,
|
|
268
|
+
authToken: options?.authToken || authToken,
|
|
269
|
+
});
|
|
270
|
+
const extendedBase = extendCancellability(basePromise, resultPromise);
|
|
271
|
+
return mapResult((await extendedBase));
|
|
272
|
+
});
|
|
259
273
|
}
|
|
260
274
|
return [];
|
|
261
275
|
};
|
|
@@ -268,18 +282,24 @@ function initializeModel(client, modelName, result, modelIntrospection, authMode
|
|
|
268
282
|
}
|
|
269
283
|
return { [field]: { eq: record[parentSK[idx - 1]] } };
|
|
270
284
|
});
|
|
285
|
+
// if list is disabled on the related model
|
|
286
|
+
if (client.models[relatedModelName].list === undefined) {
|
|
287
|
+
break;
|
|
288
|
+
}
|
|
271
289
|
if (context) {
|
|
272
290
|
initializedRelationalFields[fieldName] = (contextSpec, options) => {
|
|
273
291
|
if (record[parentPk]) {
|
|
274
|
-
return
|
|
275
|
-
.list(contextSpec, {
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
292
|
+
return selfAwareAsync(async (resultPromise) => {
|
|
293
|
+
const basePromise = client.models[relatedModelName].list(contextSpec, {
|
|
294
|
+
filter: { and: hasManyFilter },
|
|
295
|
+
limit: options?.limit,
|
|
296
|
+
nextToken: options?.nextToken,
|
|
297
|
+
authMode: options?.authMode || authMode,
|
|
298
|
+
authToken: options?.authToken || authToken,
|
|
299
|
+
});
|
|
300
|
+
const extendedBase = extendCancellability(basePromise, resultPromise);
|
|
301
|
+
return mapResult((await extendedBase));
|
|
302
|
+
});
|
|
283
303
|
}
|
|
284
304
|
return [];
|
|
285
305
|
};
|
|
@@ -287,15 +307,17 @@ function initializeModel(client, modelName, result, modelIntrospection, authMode
|
|
|
287
307
|
else {
|
|
288
308
|
initializedRelationalFields[fieldName] = (options) => {
|
|
289
309
|
if (record[parentPk]) {
|
|
290
|
-
return
|
|
291
|
-
.list({
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
310
|
+
return selfAwareAsync(async (resultPromise) => {
|
|
311
|
+
const basePromise = client.models[relatedModelName].list({
|
|
312
|
+
filter: { and: hasManyFilter },
|
|
313
|
+
limit: options?.limit,
|
|
314
|
+
nextToken: options?.nextToken,
|
|
315
|
+
authMode: options?.authMode || authMode,
|
|
316
|
+
authToken: options?.authToken || authToken,
|
|
317
|
+
});
|
|
318
|
+
const extendedBase = extendCancellability(basePromise, resultPromise);
|
|
319
|
+
return mapResult((await extendedBase));
|
|
320
|
+
});
|
|
299
321
|
}
|
|
300
322
|
return [];
|
|
301
323
|
};
|
|
@@ -309,7 +331,7 @@ function initializeModel(client, modelName, result, modelIntrospection, authMode
|
|
|
309
331
|
}
|
|
310
332
|
const graphQLOperationsInfo = {
|
|
311
333
|
CREATE: { operationPrefix: 'create', usePlural: false },
|
|
312
|
-
|
|
334
|
+
GET: { operationPrefix: 'get', usePlural: false },
|
|
313
335
|
UPDATE: { operationPrefix: 'update', usePlural: false },
|
|
314
336
|
DELETE: { operationPrefix: 'delete', usePlural: false },
|
|
315
337
|
LIST: { operationPrefix: 'list', usePlural: true },
|
|
@@ -317,7 +339,7 @@ const graphQLOperationsInfo = {
|
|
|
317
339
|
ONCREATE: { operationPrefix: 'onCreate', usePlural: false },
|
|
318
340
|
ONUPDATE: { operationPrefix: 'onUpdate', usePlural: false },
|
|
319
341
|
ONDELETE: { operationPrefix: 'onDelete', usePlural: false },
|
|
320
|
-
|
|
342
|
+
OBSERVEQUERY: { operationPrefix: 'observeQuery', usePlural: false },
|
|
321
343
|
};
|
|
322
344
|
const SELECTION_SET_WILDCARD = '*';
|
|
323
345
|
const getDefaultSelectionSetForNonModelWithIR = (nonModelDefinition, modelIntrospection) => {
|
|
@@ -696,7 +718,7 @@ function generateGraphQLDocument(modelIntrospection, modelName, modelOperation,
|
|
|
696
718
|
graphQLOperationType ?? (graphQLOperationType = 'mutation');
|
|
697
719
|
// TODO(Eslint): this this case clause correct without the break statement?
|
|
698
720
|
// eslint-disable-next-line no-fallthrough
|
|
699
|
-
case '
|
|
721
|
+
case 'GET':
|
|
700
722
|
graphQLArguments ?? (graphQLArguments = getPkArgs);
|
|
701
723
|
graphQLSelectionSet ?? (graphQLSelectionSet = selectionSetFields);
|
|
702
724
|
// TODO(Eslint): this this case clause correct without the break statement?
|
|
@@ -744,7 +766,7 @@ function generateGraphQLDocument(modelIntrospection, modelName, modelOperation,
|
|
|
744
766
|
graphQLOperationType ?? (graphQLOperationType = 'subscription');
|
|
745
767
|
graphQLSelectionSet ?? (graphQLSelectionSet = selectionSetFields);
|
|
746
768
|
break;
|
|
747
|
-
case '
|
|
769
|
+
case 'OBSERVEQUERY':
|
|
748
770
|
default:
|
|
749
771
|
throw new Error('Internal error: Attempted to generate graphql document for observeQuery. Please report this error.');
|
|
750
772
|
}
|
|
@@ -779,7 +801,7 @@ function buildGraphQLVariables(modelDefinition, operation, arg, modelIntrospecti
|
|
|
779
801
|
: {},
|
|
780
802
|
};
|
|
781
803
|
break;
|
|
782
|
-
case '
|
|
804
|
+
case 'GET':
|
|
783
805
|
case 'DELETE':
|
|
784
806
|
// only identifiers are sent
|
|
785
807
|
if (arg) {
|
|
@@ -842,7 +864,7 @@ function buildGraphQLVariables(modelDefinition, operation, arg, modelIntrospecti
|
|
|
842
864
|
variables = { filter: arg.filter };
|
|
843
865
|
}
|
|
844
866
|
break;
|
|
845
|
-
case '
|
|
867
|
+
case 'OBSERVEQUERY':
|
|
846
868
|
throw new Error('Internal error: Attempted to build variables for observeQuery. Please report this error.');
|
|
847
869
|
default: {
|
|
848
870
|
const exhaustiveCheck = operation;
|