UNPKG

@aws-amplify/graphql-api-construct

Version:

AppSync GraphQL Api Construct using Amplify GraphQL Transformer.

42 lines 6.45 kB
"use strict"; 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=