@aws-amplify/appsync-modelgen-plugin
Version:
24 lines • 1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.processPrimaryKey = void 0;
const fieldUtils_1 = require("./fieldUtils");
const processPrimaryKey = (model) => {
var _a;
const alreadyHasPrimaryKeySanityCheck = model.directives.some(directive => directive.name === 'key' && directive.arguments.name === undefined);
if (alreadyHasPrimaryKeySanityCheck) {
return;
}
const primaryKeyField = model.fields.find(field => (0, fieldUtils_1.getDirective)(field)('primaryKey'));
if (!primaryKeyField) {
return;
}
const primaryKeyDirective = (0, fieldUtils_1.getDirective)(primaryKeyField)('primaryKey');
model.directives.push({
name: 'key',
arguments: {
fields: [primaryKeyField.name].concat((_a = primaryKeyDirective.arguments.sortKeyFields) !== null && _a !== void 0 ? _a : []),
},
});
};
exports.processPrimaryKey = processPrimaryKey;
//# sourceMappingURL=process-primary-key.js.map