UNPKG

@csermet/multiprovider

Version:

cloud-graph provider plugin for AWS used to fetch AWS cloud data.

139 lines (138 loc) 8.83 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const sdk_1 = require("@cloudgraph/sdk"); const translations_1 = __importDefault(require("../../properties/translations")); const format_1 = require("../../utils/format"); /** * Cognito User Pool */ exports.default = ({ service: rawData, account, region, }) => { const { Id: id, Arn: arn, Name: name, Policies: policies, LambdaConfig: lambdaConfig, Status: status, LastModifiedDate: lastModifiedDate, CreationDate: creationDate, SchemaAttributes: schemaAttributes, AutoVerifiedAttributes: autoVerifiedAttributes, AliasAttributes: aliasAttributes, UsernameAttributes: usernameAttributes, SmsVerificationMessage: smsVerificationMessage, EmailVerificationMessage: emailVerificationMessage, EmailVerificationSubject: emailVerificationSubject, VerificationMessageTemplate: verificationMessageTemplate, SmsAuthenticationMessage: smsAuthenticationMessage, MfaConfiguration: mfaConfiguration, DeviceConfiguration: deviceConfiguration, EstimatedNumberOfUsers: estimatedNumberOfUsers, EmailConfiguration: emailConfiguration, SmsConfiguration: smsConfiguration, Tags: userPoolTags, SmsConfigurationFailure: smsConfigurationFailure, EmailConfigurationFailure: emailConfigurationFailure, Domain: domain, CustomDomain: customDomain, AdminCreateUserConfig: adminCreateUserConfig, UserPoolAddOns: userPoolAddOns, UsernameConfiguration: usernameConfiguration, AccountRecoverySetting: accountRecoverySetting, } = rawData; const schemaAttributeList = schemaAttributes?.map(({ Name: schemaAttributeName, AttributeDataType: attributeDataType, DeveloperOnlyAttribute: developerOnlyAttribute, Mutable: mutable, Required: required, NumberAttributeConstraints: numberAttributeConstraints, StringAttributeConstraints: stringAttributeConstraints, }) => { return { id: sdk_1.generateUniqueId({ arn, schemaAttributeName, attributeDataType, developerOnlyAttribute, mutable, required, numberAttributeConstraints, stringAttributeConstraints, }), name: schemaAttributeName, attributeDataType, developerOnlyAttribute: developerOnlyAttribute ? translations_1.default.yes : translations_1.default.no, mutable: mutable ? translations_1.default.yes : translations_1.default.no, required: required ? translations_1.default.yes : translations_1.default.no, numberAttributeConstraintsMinValue: numberAttributeConstraints?.MinValue || '', numberAttributeConstraintsMaxValue: numberAttributeConstraints?.MaxValue || '', stringAttributeConstraintsMinValue: stringAttributeConstraints?.MinLength || '', stringAttributeConstraintsMaxValue: stringAttributeConstraints?.MaxLength || '', }; }) || []; const accountRecoverySettings = accountRecoverySetting?.RecoveryMechanisms?.map(({ Priority: priority, Name: recoveryOptionName }) => { return { id: sdk_1.generateUniqueId({ arn, priority, recoveryOptionName, }), priority, name: recoveryOptionName, }; }) || []; const userPool = { id, accountId: account, arn, name, policies: { id: sdk_1.generateUniqueId({ arn, ...policies, }), minimumLength: policies?.PasswordPolicy?.MinimumLength || 0, requireUppercase: policies?.PasswordPolicy?.RequireUppercase ? translations_1.default.yes : translations_1.default.no, requireLowercase: policies?.PasswordPolicy?.RequireLowercase ? translations_1.default.yes : translations_1.default.no, requireNumbers: policies?.PasswordPolicy?.RequireNumbers ? translations_1.default.yes : translations_1.default.no, requireSymbols: policies?.PasswordPolicy?.RequireSymbols ? translations_1.default.yes : translations_1.default.no, temporaryPasswordValidityDays: policies?.PasswordPolicy?.MinimumLength || 0, }, lambdaConfig: { id: sdk_1.generateUniqueId({ arn, ...lambdaConfig, }), preSignUp: lambdaConfig?.PreSignUp || '', customMessage: lambdaConfig?.CustomMessage || '', postConfirmation: lambdaConfig?.PostConfirmation || '', preAuthentication: lambdaConfig?.PreAuthentication || '', postAuthentication: lambdaConfig?.PostAuthentication || '', defineAuthChallenge: lambdaConfig?.DefineAuthChallenge || '', createAuthChallenge: lambdaConfig?.CreateAuthChallenge || '', verifyAuthChallengeResponse: lambdaConfig?.VerifyAuthChallengeResponse || '', preTokenGeneration: lambdaConfig?.PreTokenGeneration || '', userMigration: lambdaConfig?.UserMigration || '', customSMSSenderLambdaVersion: lambdaConfig?.CustomSMSSender?.LambdaVersion || '', customSMSSenderLambdaArn: lambdaConfig?.CustomSMSSender?.LambdaArn || '', customEmailSenderLambdaVersion: lambdaConfig?.CustomEmailSender?.LambdaVersion || '', customEmailSenderLambdaArn: lambdaConfig?.CustomEmailSender?.LambdaArn || '', kmsKeyID: lambdaConfig?.KMSKeyID || '', }, status, lastModifiedDate: lastModifiedDate ? lastModifiedDate.toISOString() : undefined, creationDate: creationDate ? creationDate.toISOString() : undefined, schemaAttributes: schemaAttributeList, autoVerifiedAttributes, aliasAttributes, usernameAttributes, smsVerificationMessage, emailVerificationMessage, emailVerificationSubject, verificationMessageTemplateSmsMessage: verificationMessageTemplate?.SmsMessage || '', verificationMessageTemplateEmailMessage: verificationMessageTemplate?.EmailMessage || '', verificationMessageTemplateEmailSubject: verificationMessageTemplate?.EmailSubject || '', verificationMessageTemplateEmailMessageByLink: verificationMessageTemplate?.EmailMessageByLink || '', verificationMessageTemplateEmailSubjectByLink: verificationMessageTemplate?.EmailSubjectByLink || '', verificationMessageTemplateDefaultEmailOption: verificationMessageTemplate?.DefaultEmailOption || '', smsAuthenticationMessage, mfaConfiguration, deviceConfigChallengeRequiredOnNewDevice: deviceConfiguration?.ChallengeRequiredOnNewDevice ? translations_1.default.yes : translations_1.default.no, deviceConfigDeviceOnlyRememberedOnUserPrompt: deviceConfiguration?.DeviceOnlyRememberedOnUserPrompt ? translations_1.default.yes : translations_1.default.no, estimatedNumberOfUsers, emailConfigSourceArn: emailConfiguration?.SourceArn || '', emailConfigReplyToEmailAddress: emailConfiguration?.ReplyToEmailAddress || '', emailConfigEmailSendingAccount: emailConfiguration?.EmailSendingAccount || '', emailConfigFrom: emailConfiguration?.From || '', emailConfigConfigurationSet: emailConfiguration?.ConfigurationSet || '', smsConfigurationSnsCallerArn: smsConfiguration?.SnsCallerArn || '', smsConfigurationExternalId: smsConfiguration?.ExternalId || '', smsConfigurationFailure, emailConfigurationFailure, domain, customDomain, adminCreateUserConfigAllowAdminCreateUserOnly: adminCreateUserConfig?.AllowAdminCreateUserOnly ? translations_1.default.yes : translations_1.default.no, adminCreateUserConfigUnusedAccountValidityDays: adminCreateUserConfig?.UnusedAccountValidityDays || 0, adminCreateUserConfigInviteMessageTemplateSMSMessage: adminCreateUserConfig?.InviteMessageTemplate?.SMSMessage || '', adminCreateUserConfigInviteMessageTemplateEmailMessage: adminCreateUserConfig?.InviteMessageTemplate?.EmailMessage || '', adminCreateUserConfigInviteMessageTemplateEmailSubject: adminCreateUserConfig?.InviteMessageTemplate?.EmailSubject || '', userPoolAddOnsAdvancedSecurityMode: userPoolAddOns?.AdvancedSecurityMode || '', usernameConfigurationCaseSensitive: usernameConfiguration?.CaseSensitive ? translations_1.default.yes : translations_1.default.no, accountRecoverySettings, region, tags: format_1.formatTagsFromMap(userPoolTags), }; return userPool; };