@aws-amplify/data-schema 0.14.9 → 0.14.10
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/lib-esm/src/ModelSchema.d.ts +13 -9
- package/lib-esm/src/ModelSchema.d.ts.map +1 -1
- package/lib-esm/src/ModelSchema.js +11 -0
- package/lib-esm/src/ModelType.d.ts +7 -6
- package/lib-esm/src/ModelType.d.ts.map +1 -1
- package/lib-esm/src/SchemaProcessor.js +1 -1
- package/lib-esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type { DerivedApiDefinition, SetTypeSubArg, SchemaConfiguration, DataSourceConfiguration, DatasourceEngine } from '@aws-amplify/data-schema-types';
|
|
2
|
-
import { type ModelType, type ModelTypeParamShape, type InternalModel, SchemaModelType } from './ModelType';
|
|
1
|
+
import type { DerivedApiDefinition, SetTypeSubArg, SchemaConfiguration, DataSourceConfiguration, DatasourceEngine, UnionToIntersection } from '@aws-amplify/data-schema-types';
|
|
2
|
+
import { type ModelType, type ModelTypeParamShape, type InternalModel, SchemaModelType, AddRelationshipFieldsToModelTypeFields } from './ModelType';
|
|
3
3
|
import type { EnumType, EnumTypeParamShape } from './EnumType';
|
|
4
4
|
import type { CustomType, CustomTypeParamShape } from './CustomType';
|
|
5
5
|
import type { CustomOperation, CustomOperationParamShape, InternalCustom, MutationCustomOperation, QueryCustomOperation, SubscriptionCustomOperation } from './CustomOperation';
|
|
6
6
|
import { SchemaAuthorization } from './Authorization';
|
|
7
7
|
import { Brand } from './util';
|
|
8
|
+
import { ModelRelationalField, ModelRelationalFieldParamShape } from './ModelRelationalField';
|
|
8
9
|
export declare const rdsSchemaBrandName = "RDSSchema";
|
|
9
10
|
export declare const rdsSchemaBrand: Brand<"RDSSchema">;
|
|
10
11
|
export type RDSSchemaBrand = Brand<typeof rdsSchemaBrandName>;
|
|
@@ -28,24 +29,27 @@ export type InternalSchema = {
|
|
|
28
29
|
configuration: SchemaConfiguration<any, any>;
|
|
29
30
|
};
|
|
30
31
|
};
|
|
31
|
-
export type BaseSchema<T extends ModelSchemaParamShape> = {
|
|
32
|
+
export type BaseSchema<T extends ModelSchemaParamShape, IsRDS extends boolean = false> = {
|
|
32
33
|
data: T;
|
|
33
34
|
models: {
|
|
34
|
-
[TypeKey in keyof T['types']]: T['types'][TypeKey] extends ModelType<ModelTypeParamShape> ? SchemaModelType<T['types'][TypeKey]> : never;
|
|
35
|
+
[TypeKey in keyof T['types']]: T['types'][TypeKey] extends ModelType<ModelTypeParamShape> ? SchemaModelType<T['types'][TypeKey], TypeKey & string, IsRDS> : never;
|
|
35
36
|
};
|
|
36
37
|
transform: () => DerivedApiDefinition;
|
|
37
38
|
};
|
|
38
39
|
export type GenericModelSchema<T extends ModelSchemaParamShape> = BaseSchema<T> & Brand<typeof rdsSchemaBrandName | typeof ddbSchemaBrandName>;
|
|
39
|
-
export type ModelSchema<T extends ModelSchemaParamShape, UsedMethods extends 'authorization' = never> = Omit<{
|
|
40
|
+
export type ModelSchema<T extends ModelSchemaParamShape, UsedMethods extends 'authorization' | 'addRelationships' = never> = Omit<{
|
|
40
41
|
authorization: <AuthRules extends SchemaAuthorization<any, any, any>>(auth: AuthRules[]) => ModelSchema<SetTypeSubArg<T, 'authorization', AuthRules[]>, UsedMethods | 'authorization'>;
|
|
41
42
|
}, UsedMethods> & BaseSchema<T> & DDBSchemaBrand;
|
|
42
|
-
type RDSModelSchemaFunctions = 'addQueries' | 'addMutations' | 'addSubscriptions' | 'authorization';
|
|
43
|
-
export type RDSModelSchema<T extends RDSModelSchemaParamShape, UsedMethods extends RDSModelSchemaFunctions = never
|
|
43
|
+
type RDSModelSchemaFunctions = 'addQueries' | 'addMutations' | 'addSubscriptions' | 'authorization' | 'relationships';
|
|
44
|
+
export type RDSModelSchema<T extends RDSModelSchemaParamShape, UsedMethods extends RDSModelSchemaFunctions = never, RelationshipTemplate extends Record<string, ModelRelationalField<ModelRelationalFieldParamShape, string, any, any>> = Record<string, ModelRelationalField<ModelRelationalFieldParamShape, string, any, any>>> = Omit<{
|
|
44
45
|
addQueries: <Queries extends Record<string, QueryCustomOperation>>(types: Queries) => RDSModelSchema<SetTypeSubArg<T, 'types', T['types'] & Queries>, UsedMethods | 'addQueries'>;
|
|
45
46
|
addMutations: <Mutations extends Record<string, MutationCustomOperation>>(types: Mutations) => RDSModelSchema<SetTypeSubArg<T, 'types', T['types'] & Mutations>, UsedMethods | 'addMutations'>;
|
|
46
47
|
addSubscriptions: <Subscriptions extends Record<string, SubscriptionCustomOperation>>(types: Subscriptions) => RDSModelSchema<SetTypeSubArg<T, 'types', T['types'] & Subscriptions>, UsedMethods | 'addSubscriptions'>;
|
|
47
|
-
authorization: <AuthRules extends SchemaAuthorization<any, any, any>>(auth: AuthRules[]) => RDSModelSchema<SetTypeSubArg<T, 'authorization', AuthRules[]>, UsedMethods | 'authorization'
|
|
48
|
-
|
|
48
|
+
authorization: <AuthRules extends SchemaAuthorization<any, any, any>>(auth: AuthRules[]) => RDSModelSchema<SetTypeSubArg<T, 'authorization', AuthRules[]>, UsedMethods | 'authorization'>;
|
|
49
|
+
relationships: <Relationships extends ReadonlyArray<Partial<Record<keyof T['types'], RelationshipTemplate>>>>(callback: (models: BaseSchema<T, true>['models']) => Relationships) => RDSModelSchema<UnionToIntersection<Relationships[number]> extends infer RelationshipsDefs ? RelationshipsDefs extends Record<string, RelationshipTemplate> ? SetTypeSubArg<T, 'types', {
|
|
50
|
+
[ModelName in keyof T['types']]: ModelName extends keyof RelationshipsDefs ? AddRelationshipFieldsToModelTypeFields<T['types'][ModelName], RelationshipsDefs[ModelName]> : T['types'][ModelName];
|
|
51
|
+
}> : T : T, UsedMethods | 'relationships'>;
|
|
52
|
+
}, UsedMethods> & BaseSchema<T, true> & RDSSchemaBrand;
|
|
49
53
|
/**
|
|
50
54
|
* Amplify API Next Model Schema shape
|
|
51
55
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelSchema.d.ts","sourceRoot":"","sources":["../../src/ModelSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"ModelSchema.d.ts","sourceRoot":"","sources":["../../src/ModelSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,8 +40,10 @@ function _rdsSchema(types, config) {
|
|
|
40
40
|
authorization: [],
|
|
41
41
|
configuration: config,
|
|
42
42
|
};
|
|
43
|
+
const models = filterSchemaModelTypes(data.types);
|
|
43
44
|
return {
|
|
44
45
|
data,
|
|
46
|
+
models,
|
|
45
47
|
transform() {
|
|
46
48
|
const internalSchema = { data };
|
|
47
49
|
return (0, SchemaProcessor_1.processSchema)({ schema: internalSchema });
|
|
@@ -66,6 +68,15 @@ function _rdsSchema(types, config) {
|
|
|
66
68
|
const { addSubscriptions: _, ...rest } = this;
|
|
67
69
|
return rest;
|
|
68
70
|
},
|
|
71
|
+
relationships(callback) {
|
|
72
|
+
const { relationships: _, ...rest } = this;
|
|
73
|
+
// The relationships are added via `models.<Model>.addRelationships`
|
|
74
|
+
// modifiers that's being called within the callback. They are modifying
|
|
75
|
+
// by references on each model, so there is not anything else to be done
|
|
76
|
+
// here.
|
|
77
|
+
callback(models);
|
|
78
|
+
return rest;
|
|
79
|
+
},
|
|
69
80
|
...exports.rdsSchemaBrand,
|
|
70
81
|
};
|
|
71
82
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { SetTypeSubArg, SecondaryIndexIrShape } from '@aws-amplify/data-schema-types';
|
|
2
2
|
import { Brand } from './util';
|
|
3
3
|
import { ModelField, InternalField } from './ModelField';
|
|
4
|
-
import type { ModelRelationalField, InternalRelationalField } from './ModelRelationalField';
|
|
4
|
+
import type { ModelRelationalField, InternalRelationalField, ModelRelationalFieldParamShape } from './ModelRelationalField';
|
|
5
5
|
import { Authorization } from './Authorization';
|
|
6
6
|
import { RefType } from './RefType';
|
|
7
7
|
import { EnumType, EnumTypeParamShape } from './EnumType';
|
|
@@ -41,6 +41,7 @@ type GetRequiredFields<T> = {
|
|
|
41
41
|
type IdentifierMap<T extends ModelTypeParamShape> = GetRequiredFields<ExtractType<T>>;
|
|
42
42
|
type IdentifierFields<T extends ModelTypeParamShape> = keyof IdentifierMap<T> & string;
|
|
43
43
|
type IdentifierType<T extends ModelTypeParamShape, Fields extends string = IdentifierFields<T>> = Array<Fields>;
|
|
44
|
+
export type AddRelationshipFieldsToModelTypeFields<Model, RelationshipFields extends Record<string, ModelRelationalField<ModelRelationalFieldParamShape, string, any, any>>> = Model extends ModelType<infer ModelParam extends ModelTypeParamShape, infer HiddenKeys> ? ModelType<SetTypeSubArg<ModelParam, 'fields', ModelParam['fields'] & RelationshipFields>, HiddenKeys> : never;
|
|
44
45
|
export type ModelType<T extends ModelTypeParamShape, K extends keyof ModelType<T> = never> = Omit<{
|
|
45
46
|
identifier<ID extends IdentifierType<T> = []>(identifier: ID): ModelType<SetTypeSubArg<T, 'identifier', ID>, K | 'identifier'>;
|
|
46
47
|
secondaryIndexes<const SecondaryIndexPKPool extends string = SecondaryIndexFields<ExtractType<T>>, const Indexes extends readonly ModelIndexType<string, string, unknown, readonly [], any>[] = readonly [], const IndexesIR extends readonly any[] = SecondaryIndexToIR<Indexes, ExtractType<T>>>(callback: (index: <PK extends SecondaryIndexPKPool>(pk: PK) => ModelIndexType<SecondaryIndexPKPool, PK, ReadonlyArray<Exclude<SecondaryIndexPKPool, PK>>>) => Indexes): ModelType<SetTypeSubArg<T, 'secondaryIndexes', IndexesIR>, K | 'secondaryIndexes'>;
|
|
@@ -50,14 +51,14 @@ export type ModelType<T extends ModelTypeParamShape, K extends keyof ModelType<T
|
|
|
50
51
|
* External representation of Model Type that exposes the `addRelationships` modifier.
|
|
51
52
|
* Used on the complete schema object.
|
|
52
53
|
*/
|
|
53
|
-
export type SchemaModelType<T extends ModelType<ModelTypeParamShape> = ModelType<ModelTypeParamShape
|
|
54
|
-
addRelationships
|
|
55
|
-
};
|
|
54
|
+
export type SchemaModelType<T extends ModelType<ModelTypeParamShape> = ModelType<ModelTypeParamShape>, ModelName extends string = string, IsRDS extends boolean = false> = IsRDS extends true ? T & {
|
|
55
|
+
addRelationships<Param extends Record<string, ModelRelationalField<any, string, any, any>> = Record<never, never>>(relationships: Param): Record<ModelName, Param>;
|
|
56
|
+
} : T;
|
|
56
57
|
/**
|
|
57
58
|
* Internal representation of Model Type that exposes the `data` property.
|
|
58
59
|
* Used at buildtime.
|
|
59
60
|
*/
|
|
60
|
-
export type InternalModel = SchemaModelType & {
|
|
61
|
+
export type InternalModel = SchemaModelType<ModelType<ModelTypeParamShape>, string, true> & {
|
|
61
62
|
data: InternalModelData;
|
|
62
63
|
};
|
|
63
64
|
/**
|
|
@@ -65,7 +66,7 @@ export type InternalModel = SchemaModelType & {
|
|
|
65
66
|
* @param modelType - api-next ModelType
|
|
66
67
|
* @returns true if the given value is a ModelSchema
|
|
67
68
|
*/
|
|
68
|
-
export declare const isSchemaModelType: (modelType: any | SchemaModelType) => modelType is
|
|
69
|
+
export declare const isSchemaModelType: (modelType: any | SchemaModelType) => modelType is ModelType<ModelTypeParamShape, never>;
|
|
69
70
|
/**
|
|
70
71
|
* A data model that creates a matching Amazon DynamoDB table and provides create, read (list and get), update,
|
|
71
72
|
* delete, and subscription APIs.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelType.d.ts","sourceRoot":"","sources":["../../src/ModelType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,KAAK,EAAS,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"ModelType.d.ts","sourceRoot":"","sources":["../../src/ModelType.ts"],"names":[],"mappings":"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"}
|
|
@@ -827,7 +827,7 @@ const schemaPreprocessor = (schema) => {
|
|
|
827
827
|
? 'dynamodb'
|
|
828
828
|
: 'sql';
|
|
829
829
|
const staticSchema = schema.data.configuration.database.engine === 'dynamodb' ? false : true;
|
|
830
|
-
const fkFields = allImpliedFKs(schema);
|
|
830
|
+
const fkFields = staticSchema ? {} : allImpliedFKs(schema);
|
|
831
831
|
const topLevelTypes = Object.entries(schema.data.types);
|
|
832
832
|
const { schemaAuth, functionSchemaAccess } = extractFunctionSchemaAccess(schema.data.authorization);
|
|
833
833
|
const getRefType = getRefTypeForSchema(schema);
|