All files / amplify backend.ts

0% Statements 0/56
0% Branches 0/1
0% Functions 0/1
0% Lines 0/56

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61                                                                                                                         
import {defineBackend} from "@aws-amplify/backend";
import {PolicyStatement} from "aws-cdk-lib/aws-iam";
import {auth} from "./auth/resource";
import {data} from "./data/resource";
import {emailTranscript} from "./functions/email-transcript/resource";
 
const backend = defineBackend({
    auth,
    data,
    emailTranscript,
});
 
backend.auth.resources.authenticatedUserIamRole.addToPrincipalPolicy(
    new PolicyStatement({
        actions: [
            "comprehend:DetectKeyPhrases",
            "polly:SynthesizeSpeech",
            "transcribe:StartStreamTranscriptionWebSocket",
            "translate:TranslateText",
        ],
        resources: ["*"],
    })
);
 
backend.emailTranscript.resources.lambda.addToRolePolicy(
    new PolicyStatement({
        actions: [
            "ses:SendEmail",
            "ses:SendRawEmail",
        ],
        resources: ["*"],
    })
);
 
backend.addOutput({
    custom: {
        Predictions: {
            convert: {
                speechGenerator: {
                    proxy: false,
                    region: backend.auth.stack.region,
                },
                transcription: {
                    proxy: false,
                    region: backend.auth.stack.region,
                },
                translateText: {
                    proxy: false,
                    region: backend.auth.stack.region,
                },
            },
            interpret: {
                interpretText: {
                    proxy: false,
                    region: backend.auth.stack.region,
                },
            },
        },
    },
});