@aws-amplify/graphql-api-construct
Version:
AppSync GraphQL Api Construct using Amplify GraphQL Transformer.
42 lines • 6.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMetadataCustomOperations = exports.getMetadataAuthorizationModes = exports.getMetadataDataSources = void 0;
const getMetadataDataSources = (definition) => {
const dataSourceDbTypes = Object.values(definition.dataSourceStrategies).map((strategy) => strategy.dbType.toLocaleLowerCase());
const customSqlDbTypes = (definition.customSqlDataSourceStrategies ?? []).map((strategy) => strategy.strategy.dbType.toLocaleLowerCase());
const dataSources = [...new Set([...dataSourceDbTypes, ...customSqlDbTypes])].sort();
return dataSources.join(',');
};
exports.getMetadataDataSources = getMetadataDataSources;
const getMetadataAuthorizationModes = (authorizationModes) => {
const configKeyToAuthMode = {
iamConfig: 'aws_iam',
oidcConfig: 'openid_connect',
identityPoolConfig: 'amazon_cognito_identity_pools',
userPoolConfig: 'amazon_cognito_user_pools',
apiKeyConfig: 'api_key',
lambdaConfig: 'aws_lambda',
};
const authModes = Object.keys(authorizationModes)
.map((mode) => configKeyToAuthMode[mode])
// remove values not found in mapping
.filter((mode) => !!mode)
.sort();
return authModes.join(',');
};
exports.getMetadataAuthorizationModes = getMetadataAuthorizationModes;
const getMetadataCustomOperations = (definition) => {
const customOperations = [];
if (definition.schema.includes('type Query')) {
customOperations.push('queries');
}
if (definition.schema.includes('type Mutation')) {
customOperations.push('mutations');
}
if (definition.schema.includes('type Subscription')) {
customOperations.push('subscriptions');
}
return customOperations.join(',');
};
exports.getMetadataCustomOperations = getMetadataCustomOperations;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJuYWwvbWV0YWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRU8sTUFBTSxzQkFBc0IsR0FBRyxDQUFDLFVBQXFDLEVBQVUsRUFBRTtJQUN0RixNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUNoSSxNQUFNLGdCQUFnQixHQUFHLENBQUMsVUFBVSxDQUFDLDZCQUE2QixJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBQzFJLE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyRixPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDO0FBTFcsUUFBQSxzQkFBc0IsMEJBS2pDO0FBRUssTUFBTSw2QkFBNkIsR0FBRyxDQUFDLGtCQUFzQyxFQUFVLEVBQUU7SUFDOUYsTUFBTSxtQkFBbUIsR0FBMkI7UUFDbEQsU0FBUyxFQUFFLFNBQVM7UUFDcEIsVUFBVSxFQUFFLGdCQUFnQjtRQUM1QixrQkFBa0IsRUFBRSwrQkFBK0I7UUFDbkQsY0FBYyxFQUFFLDJCQUEyQjtRQUMzQyxZQUFZLEVBQUUsU0FBUztRQUN2QixZQUFZLEVBQUUsWUFBWTtLQUMzQixDQUFDO0lBQ0YsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztTQUM5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLHFDQUFxQztTQUNwQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDeEIsSUFBSSxFQUFFLENBQUM7SUFDVixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDO0FBZlcsUUFBQSw2QkFBNkIsaUNBZXhDO0FBRUssTUFBTSwyQkFBMkIsR0FBRyxDQUFDLFVBQXFDLEVBQVUsRUFBRTtJQUMzRixNQUFNLGdCQUFnQixHQUFhLEVBQUUsQ0FBQztJQUN0QyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDN0MsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7UUFDaEQsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztRQUNwRCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQztBQWJXLFFBQUEsMkJBQTJCLCtCQWF0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGhvcml6YXRpb25Nb2RlcywgSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IGdldE1ldGFkYXRhRGF0YVNvdXJjZXMgPSAoZGVmaW5pdGlvbjogSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGRhdGFTb3VyY2VEYlR5cGVzID0gT2JqZWN0LnZhbHVlcyhkZWZpbml0aW9uLmRhdGFTb3VyY2VTdHJhdGVnaWVzKS5tYXAoKHN0cmF0ZWd5KSA9PiBzdHJhdGVneS5kYlR5cGUudG9Mb2NhbGVMb3dlckNhc2UoKSk7XG4gIGNvbnN0IGN1c3RvbVNxbERiVHlwZXMgPSAoZGVmaW5pdGlvbi5jdXN0b21TcWxEYXRhU291cmNlU3RyYXRlZ2llcyA/PyBbXSkubWFwKChzdHJhdGVneSkgPT4gc3RyYXRlZ3kuc3RyYXRlZ3kuZGJUeXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkpO1xuICBjb25zdCBkYXRhU291cmNlcyA9IFsuLi5uZXcgU2V0KFsuLi5kYXRhU291cmNlRGJUeXBlcywgLi4uY3VzdG9tU3FsRGJUeXBlc10pXS5zb3J0KCk7XG4gIHJldHVybiBkYXRhU291cmNlcy5qb2luKCcsJyk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TWV0YWRhdGFBdXRob3JpemF0aW9uTW9kZXMgPSAoYXV0aG9yaXphdGlvbk1vZGVzOiBBdXRob3JpemF0aW9uTW9kZXMpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBjb25maWdLZXlUb0F1dGhNb2RlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIGlhbUNvbmZpZzogJ2F3c19pYW0nLFxuICAgIG9pZGNDb25maWc6ICdvcGVuaWRfY29ubmVjdCcsXG4gICAgaWRlbnRpdHlQb29sQ29uZmlnOiAnYW1hem9uX2NvZ25pdG9faWRlbnRpdHlfcG9vbHMnLFxuICAgIHVzZXJQb29sQ29uZmlnOiAnYW1hem9uX2NvZ25pdG9fdXNlcl9wb29scycsXG4gICAgYXBpS2V5Q29uZmlnOiAnYXBpX2tleScsXG4gICAgbGFtYmRhQ29uZmlnOiAnYXdzX2xhbWJkYScsXG4gIH07XG4gIGNvbnN0IGF1dGhNb2RlcyA9IE9iamVjdC5rZXlzKGF1dGhvcml6YXRpb25Nb2RlcylcbiAgICAubWFwKChtb2RlKSA9PiBjb25maWdLZXlUb0F1dGhNb2RlW21vZGVdKVxuICAgIC8vIHJlbW92ZSB2YWx1ZXMgbm90IGZvdW5kIGluIG1hcHBpbmdcbiAgICAuZmlsdGVyKChtb2RlKSA9PiAhIW1vZGUpXG4gICAgLnNvcnQoKTtcbiAgcmV0dXJuIGF1dGhNb2Rlcy5qb2luKCcsJyk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TWV0YWRhdGFDdXN0b21PcGVyYXRpb25zID0gKGRlZmluaXRpb246IElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBjdXN0b21PcGVyYXRpb25zOiBzdHJpbmdbXSA9IFtdO1xuICBpZiAoZGVmaW5pdGlvbi5zY2hlbWEuaW5jbHVkZXMoJ3R5cGUgUXVlcnknKSkge1xuICAgIGN1c3RvbU9wZXJhdGlvbnMucHVzaCgncXVlcmllcycpO1xuICB9XG4gIGlmIChkZWZpbml0aW9uLnNjaGVtYS5pbmNsdWRlcygndHlwZSBNdXRhdGlvbicpKSB7XG4gICAgY3VzdG9tT3BlcmF0aW9ucy5wdXNoKCdtdXRhdGlvbnMnKTtcbiAgfVxuICBpZiAoZGVmaW5pdGlvbi5zY2hlbWEuaW5jbHVkZXMoJ3R5cGUgU3Vic2NyaXB0aW9uJykpIHtcbiAgICBjdXN0b21PcGVyYXRpb25zLnB1c2goJ3N1YnNjcmlwdGlvbnMnKTtcbiAgfVxuXG4gIHJldHVybiBjdXN0b21PcGVyYXRpb25zLmpvaW4oJywnKTtcbn07XG4iXX0=