import * as crypto from 'crypto'; import * as fs from 'fs'; import * as AWSLambda from 'aws-lambda'; import { baseUrlFromDomain, GitHubSecrets, loadOctokitRest } from './lambda-github'; import { getSecretJsonValue, updateSecretValue } from './lambda-helpers'; type ApiGatewayEvent = AWSLambda.APIGatewayProxyEvent | AWSLambda.APIGatewayProxyEventV2; const nonce = crypto.randomBytes(64).toString('hex'); function getHtml(baseUrl: string, token: string, domain: string): string { return fs.readFileSync('index.html', 'utf-8') .replace(/INSERT_WEBHOOK_URL_HERE/g, process.env.WEBHOOK_URL!) .replace(/INSERT_BASE_URL_HERE/g, baseUrl) .replace(/INSERT_TOKEN_HERE/g, token) .replace(/INSERT_SECRET_ARN_HERE/g, process.env.SETUP_SECRET_ARN!) .replace(/INSERT_DOMAIN_HERE/g, domain) .replace(/