Skip to content

Commit

Permalink
fix: set assocaited fields for references for dart
Browse files Browse the repository at this point in the history
  • Loading branch information
dpilch committed Apr 22, 2024
1 parent 5dae9d5 commit 446c411
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11759,14 +11759,14 @@ class Foo extends amplify_core.Model {
key: Foo.BAR1,
isRequired: false,
ofModelName: 'Bar',
associatedKey: Bar.BAR1ID
associatedKeys: [Bar.BAR1ID]
));

modelSchemaDefinition.addField(amplify_core.ModelFieldDefinition.hasOne(
key: Foo.BAR2,
isRequired: false,
ofModelName: 'Bar',
associatedKey: Bar.BAR2ID
associatedKeys: [Bar.BAR2ID]
));

modelSchemaDefinition.addField(amplify_core.ModelFieldDefinition.nonQueryField(
Expand Down Expand Up @@ -12386,7 +12386,7 @@ class Primary extends amplify_core.Model {
key: Primary.RELATED,
isRequired: true,
ofModelName: 'Related',
associatedKey: Related.PRIMARYTENANTID
associatedKeys: [Related.PRIMARYTENANTID, Related.PRIMARYINSTANCEID, Related.PRIMARYRECORDID]
));

modelSchemaDefinition.addField(amplify_core.ModelFieldDefinition.nonQueryField(
Expand Down Expand Up @@ -13057,7 +13057,7 @@ class Primary extends amplify_core.Model {
key: Primary.RELATED,
isRequired: false,
ofModelName: 'Related',
associatedKey: Related.PRIMARYTENANTID
associatedKeys: [Related.PRIMARYTENANTID, Related.PRIMARYINSTANCEID, Related.PRIMARYRECORDID]
));

modelSchemaDefinition.addField(amplify_core.ModelFieldDefinition.nonQueryField(
Expand Down Expand Up @@ -13648,7 +13648,7 @@ class SqlPrimary extends amplify_core.Model {
key: SqlPrimary.RELATED,
isRequired: true,
ofModelName: 'SqlRelated',
associatedKey: SqlRelated.PRIMARYID
associatedKeys: [SqlRelated.PRIMARYID]
));

modelSchemaDefinition.addField(amplify_core.ModelFieldDefinition.nonQueryField(
Expand Down Expand Up @@ -14170,14 +14170,14 @@ class Primary extends amplify_core.Model {
key: Primary.RELATEDMANY,
isRequired: false,
ofModelName: 'RelatedMany',
associatedKey: RelatedMany.PRIMARYID
associatedKeys: [RelatedMany.PRIMARYID]
));

modelSchemaDefinition.addField(amplify_core.ModelFieldDefinition.hasOne(
key: Primary.RELATEDONE,
isRequired: false,
ofModelName: 'RelatedOne',
associatedKey: RelatedOne.PRIMARYID
associatedKeys: [RelatedOne.PRIMARYID]
));

modelSchemaDefinition.addField(amplify_core.ModelFieldDefinition.nonQueryField(
Expand Down Expand Up @@ -14932,7 +14932,7 @@ class SqlPrimary extends amplify_core.Model {
key: SqlPrimary.RELATED,
isRequired: false,
ofModelName: 'SqlRelated',
associatedKey: SqlRelated.PRIMARYID
associatedKeys: [SqlRelated.PRIMARYID]
));

modelSchemaDefinition.addField(amplify_core.ModelFieldDefinition.nonQueryField(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1006,24 +1006,36 @@ export class AppSyncModelDartVisitor<
else if (field.connectionInfo) {
const connectedModelName = this.getNativeType({ ...field, isList: false });
switch (field.connectionInfo.kind) {
case CodeGenConnectionType.HAS_ONE:
case CodeGenConnectionType.HAS_ONE: {
let associatedString = `associatedKey: ${connectedModelName}.${this.getQueryFieldName(field.connectionInfo.associatedWith)}`;
if (field.connectionInfo.isUsingReferences) {
const associatedFieldsString = field.connectionInfo.associatedWithFields.map(field => `${connectedModelName}.${this.getQueryFieldName(field)}`).join(', ')
associatedString = `associatedKeys: [${associatedFieldsString}]`
}
fieldParam = [
`key: ${modelName}.${queryFieldName}`,
`isRequired: ${!field.isNullable}`,
`ofModelName: '${connectedModelName}'`,
`associatedKey: ${connectedModelName}.${this.getQueryFieldName(field.connectionInfo.associatedWith)}`,
associatedString,
].join(',\n');
fieldsToAdd.push([`${DART_AMPLIFY_CORE_TYPES.ModelFieldDefinition}.hasOne(`, indentMultiline(fieldParam), ')'].join('\n'));
break;
case CodeGenConnectionType.HAS_MANY:
}
case CodeGenConnectionType.HAS_MANY: {
let associatedString = `associatedKey: ${connectedModelName}.${this.getQueryFieldName(field.connectionInfo.associatedWith)}`;
if (field.connectionInfo.isUsingReferences) {
const associatedFieldsString = field.connectionInfo.associatedWithFields.map(field => `${connectedModelName}.${this.getQueryFieldName(field)}`).join(', ')
associatedString = `associatedKeys: [${associatedFieldsString}]`
}
fieldParam = [
`key: ${modelName}.${queryFieldName}`,
`isRequired: ${!field.isNullable}`,
`ofModelName: '${connectedModelName}'`,
`associatedKey: ${connectedModelName}.${this.getQueryFieldName(field.connectionInfo.associatedWith)}`,
associatedString,
].join(',\n');
fieldsToAdd.push([`${DART_AMPLIFY_CORE_TYPES.ModelFieldDefinition}.hasMany(`, indentMultiline(fieldParam), ')'].join('\n'));
break;
}
case CodeGenConnectionType.BELONGS_TO:
fieldParam = [
`key: ${modelName}.${queryFieldName}`,
Expand Down

0 comments on commit 446c411

Please sign in to comment.