{"version":3,"file":"createServerRunner.mjs","sources":["../../src/createServerRunner.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseAmplifyConfig } from 'aws-amplify/utils';\nimport { createRunWithAmplifyServerContext, globalSettings } from './utils';\nimport { createTokenValidator } from './utils/createTokenValidator';\nimport { createAuthRouteHandlersFactory } from './auth';\nimport { isSSLOrigin, isValidOrigin } from './auth/utils';\n/**\n * Creates the `runWithAmplifyServerContext` function to run Amplify server side APIs in an isolated request context.\n *\n * @remarks\n * This function should be called only once; you can use the returned `runWithAmplifyServerContext` across\n * your codebase.\n *\n * @param input The input used to create the `runWithAmplifyServerContext` function.\n * @param input.config The {@link ResourcesConfig} imported from the `amplifyconfiguration.json` file or manually\n * created.\n * @returns An object that contains the `runWithAmplifyServerContext` function.\n *\n * @example\n * import { createServerRunner } from '@aws-amplify/adapter-nextjs';\n * import config from './amplifyconfiguration.json';\n *\n * export const { runWithAmplifyServerContext } = createServerRunner({ config })\n */\nexport const createServerRunner = ({ config, runtimeOptions, }) => {\n    const amplifyConfig = parseAmplifyConfig(config);\n    const amplifyAppOrigin = process.env.AMPLIFY_APP_ORIGIN;\n    globalSettings.setRuntimeOptions(runtimeOptions ?? {});\n    if (isValidOrigin(amplifyAppOrigin)) {\n        globalSettings.setIsSSLOrigin(isSSLOrigin(amplifyAppOrigin));\n        // update the isServerSideAuthEnabled flag of the globalSettings to true\n        globalSettings.enableServerSideAuth();\n    }\n    let tokenValidator;\n    if (amplifyConfig?.Auth) {\n        const { Cognito } = amplifyConfig.Auth;\n        tokenValidator = createTokenValidator({\n            userPoolId: Cognito?.userPoolId,\n            userPoolClientId: Cognito?.userPoolClientId,\n        });\n    }\n    const runWithAmplifyServerContext = createRunWithAmplifyServerContext({\n        config: amplifyConfig,\n        tokenValidator,\n        globalSettings,\n    });\n    return {\n        runWithAmplifyServerContext,\n        createAuthRouteHandlers: createAuthRouteHandlersFactory({\n            config: amplifyConfig,\n            amplifyAppOrigin,\n            globalSettings,\n            runWithAmplifyServerContext,\n        }),\n    };\n};\n"],"names":[],"mappings":";;;;;;;;;;;AAAA;AACA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,kBAAkB,GAAG,CAAC,EAAE,MAAM,EAAE,cAAc,GAAG,KAAK;AACnE,IAAI,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAAC;AACpD,IAAI,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB;AAC3D,IAAI,cAAc,CAAC,iBAAiB,CAAC,cAAc,IAAI,EAAE,CAAC;AAC1D,IAAI,IAAI,aAAa,CAAC,gBAAgB,CAAC,EAAE;AACzC,QAAQ,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;AACpE;AACA,QAAQ,cAAc,CAAC,oBAAoB,EAAE;AAC7C,IAAI;AACJ,IAAI,IAAI,cAAc;AACtB,IAAI,IAAI,aAAa,EAAE,IAAI,EAAE;AAC7B,QAAQ,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,IAAI;AAC9C,QAAQ,cAAc,GAAG,oBAAoB,CAAC;AAC9C,YAAY,UAAU,EAAE,OAAO,EAAE,UAAU;AAC3C,YAAY,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;AACvD,SAAS,CAAC;AACV,IAAI;AACJ,IAAI,MAAM,2BAA2B,GAAG,iCAAiC,CAAC;AAC1E,QAAQ,MAAM,EAAE,aAAa;AAC7B,QAAQ,cAAc;AACtB,QAAQ,cAAc;AACtB,KAAK,CAAC;AACN,IAAI,OAAO;AACX,QAAQ,2BAA2B;AACnC,QAAQ,uBAAuB,EAAE,8BAA8B,CAAC;AAChE,YAAY,MAAM,EAAE,aAAa;AACjC,YAAY,gBAAgB;AAC5B,YAAY,cAAc;AAC1B,YAAY,2BAA2B;AACvC,SAAS,CAAC;AACV,KAAK;AACL;;;;"}