in Infra/lib/AppStacks.ts [12:40]
constructor(scope: Construct, id: string) {
super(scope, id);
// see comment in source for this stack to understand why we inject this
// into the cognito stack instead of doing it sanely...
const userPoolStack = new UserPoolStack(this, 'UserPoolStack');
const appsyncStack = new AppSyncStack(this, 'AppSyncStack', {
userPool: userPoolStack.userPool
});
const apiStack = new ApiStack(this, 'ApiStack', {
graphqlEndpoint: appsyncStack.graphqlApi.graphqlUrl
});
const authStack = new CognitoAuthStack(this, 'CognitoAuthStack', {
meetingProviderApi: apiStack.meetingApi,
userPool: userPoolStack.userPool,
graphqlApiArn: appsyncStack.graphqlApi.arn
});
new StaticWebsiteStack(this, 'StaticWebsiteStack', {
identityPoolId: authStack.identityPoolId,
userPoolClientId: authStack.userPoolClientId,
userPoolId: userPoolStack.userPool.userPoolId,
graphqlEndpoint: appsyncStack.graphqlApi.graphqlUrl,
apiUrl: apiStack.meetingApi.api.url
});
}