Skip to content

Commit

Permalink
Merge branch 'dev' into search-page-alerts
Browse files Browse the repository at this point in the history
  • Loading branch information
kodiakhq[bot] committed May 7, 2024
2 parents 9969e7f + d6d379d commit bf83dcb
Show file tree
Hide file tree
Showing 14 changed files with 70 additions and 87 deletions.
8 changes: 8 additions & 0 deletions lambdas/cognito-messaging/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
.PHONY: build-cognitomessaging
build-cognitomessaging:
pnpm clean:dist
pnpm install --ignore-scripts
pnpm bundle
cp package.json "$(ARTIFACTS_DIR)/"
mv dist "$(ARTIFACTS_DIR)/"

2 changes: 1 addition & 1 deletion lambdas/cognito-messaging/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"main": "dist/index.js",
"source": "src/index.ts",
"scripts": {
"build:aws": "pnpm clean:dist && pnpm bundle",
"build:aws": "sam build --build-in-source",
"bundle": "ncc build ./src/index.ts -s -a",
"clean:dist": "rm -fr dist && rm bundle.zip || true",
"clean:node": "rm -rf ./node_modules/ || true",
Expand Down
11 changes: 8 additions & 3 deletions lambdas/cognito-messaging/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
import { Logger } from '@aws-lambda-powertools/logger'
import { type Callback, type Context, type CustomMessageTriggerEvent } from 'aws-lambda'
import {
type Callback,
type Context,
type CustomMessageTriggerEvent,
type CustomMessageTriggerHandler,
} from 'aws-lambda'

const logger = new Logger({ serviceName: 'cognito-messaging' })

Expand All @@ -25,9 +30,9 @@ const clientMetadataDefaults = (triggerSource: CustomMessageTriggerEvent['trigge
}
}

export const handler = (
export const handler: CustomMessageTriggerHandler = (
event: CustomMessageTriggerEvent,
context: Context,
_context: Context,
callback: Callback<CustomMessageTriggerEvent>
) => {
const { triggerSource, userName, request, response } = event
Expand Down
17 changes: 13 additions & 4 deletions lambdas/cognito-messaging/template.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,27 @@ Description: Cognito custom messaging.

Globals:
Function:
Runtime: nodejs18.x
CodeUri: ./dist/
Runtime: nodejs20.x
CodeUri: ./
Timeout: 5
Architectures:
- x86_64
- arm64

Resources:
cognitomessaging:
Type: 'AWS::Serverless::Function'
DeletionPolicy: Retain
Metadata:
BuildMethod: makefile
Properties:
Handler: index.handler
Handler: dist/index.handler
FunctionName: 'cognito-messaging'
MemorySize: 128
Role: >-
arn:aws:iam::142495371698:role/service-role/cognito-messaging-role-icuffany
MessageLogGroup:
Type: AWS::Logs::LogGroup
DeletionPolicy: Retain
Properties:
LogGroupName: !Sub '/lambda/${cognitomessaging}'
RetentionInDays: 30
2 changes: 1 addition & 1 deletion lambdas/cognito-messaging/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"compilerOptions": {
"baseUrl": "./src",
"baseUrl": "./",
"target": "es2020",
"strict": true,
"preserveConstEnums": true,
Expand Down
29 changes: 12 additions & 17 deletions lambdas/cognito-user-migrate/Makefile
Original file line number Diff line number Diff line change
@@ -1,17 +1,12 @@
# .PHONY: build-usermigrate

# build-usermigrate:
# # turbo prune --scope=@weareinreach/aws-user-migrate --out-dir "$(ARTIFACTS_DIR)"
# cd packages/aws-user-migrate
# pnpm install --ignore-scripts
# rm -fr dist
# pnpm aws:db:generate --filter @weareinreach/aws-user-migrate
# pnpm bundle --filter @weareinreach/aws-user-migrate
# pnpm prune-clients --filter @weareinreach/aws-user-migrate
# cp -r dist "$(ARTIFACTS_DIR)/"

# build-RuntimeDependenciesLayer:
# mkdir -p "$(ARTIFACTS_DIR)/nodejs"
# cp package.json package-lock.json "$(ARTIFACTS_DIR)/nodejs/"
# npm install --production --prefix "$(ARTIFACTS_DIR)/nodejs/"
# rm "$(ARTIFACTS_DIR)/nodejs/package.json" # to avoid rebuilding when changes aren't related to dependencies
.PHONY: build-usermigrate
build-usermigrate:
pnpm clean:dist
pnpm install --ignore-scripts
pnpm aws:db:generate
pnpm bundle
pnpm prune-clients
cp package.json "$(ARTIFACTS_DIR)/"
mv dist/client/* dist/
rm -fr dist/client
mv dist "$(ARTIFACTS_DIR)/"
turbo db:generate --filter=@weareinreach/db
8 changes: 4 additions & 4 deletions lambdas/cognito-user-migrate/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
"main": "dist/index.js",
"source": "src/index.ts",
"scripts": {
"aws:db:generate": "prisma generate --schema ../db/prisma/schema.prisma",
"build:aws": "./build.sh",
"bundle": "ncc build ./src/index.ts -s -a -d",
"aws:db:generate": "prisma generate --schema ../../packages/db/prisma/schema.prisma --generator aws",
"build:aws": "sam build --build-in-source",
"bundle": "ncc build ./src/index.ts -s -a -d --target es2020",
"clean:dist": "rm -fr dist",
"clean:node": "rm -rf ./node_modules/ || true",
"deploy:aws": "aws lambda update-function-code --function-name user-migrate --zip-file fileb://bundle.zip",
Expand All @@ -18,7 +18,7 @@
"lint": "eslint --cache .",
"lint:fix": "eslint --cache --fix .",
"package": "cd dist && zip -r bundle.zip *",
"prune-clients": "find ./dist/client -type f -not -name '*rhel*' -delete -print"
"prune-clients": "find ./dist/client -type f -not -name '*libquery_engine-linux-arm64-openssl-*' -delete -print"
},
"dependencies": {
"@aws-lambda-powertools/logger": "1.18.1",
Expand Down
34 changes: 0 additions & 34 deletions lambdas/cognito-user-migrate/src/client.ts

This file was deleted.

1 change: 0 additions & 1 deletion lambdas/cognito-user-migrate/src/getUser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ type GetUser = (email: string) => Promise<User>

export const getUser: GetUser = async (email) => {
try {
// eslint-disable-next-line @typescript-eslint/return-await
return await prisma.user.findUniqueOrThrow({
where: {
email,
Expand Down
4 changes: 2 additions & 2 deletions lambdas/cognito-user-migrate/src/verifyUser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export const verifyUser: VerifyUser = async (email, password) => {
try {
const userProfile = await prisma.user.findUniqueOrThrow({
where: {
email: email,
email,
},
select: {
id: true,
Expand All @@ -37,7 +37,7 @@ export const verifyUser: VerifyUser = async (email, password) => {
}
return { valid: false }
} catch (error) {
if (error instanceof Prisma.NotFoundError) {
if (error instanceof Prisma.PrismaClientKnownRequestError && error.code === 'P2025') {
logger.error(`User not found: ${email}`)
throw new Error(`User not found: ${email}`)
}
Expand Down
25 changes: 10 additions & 15 deletions lambdas/cognito-user-migrate/template.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@ Description: Cognito user migration script.

Globals:
Function:
Runtime: nodejs18.x
CodeUri: ./dist/
Runtime: nodejs20.x
CodeUri: ./
Timeout: 60
MemorySize: 512
Architectures:
- x86_64
- arm64

Resources:
usermigrate:
Type: 'AWS::Serverless::Function'
# Metadata:
# BuildMethod: makefile
Metadata:
BuildMethod: makefile
Properties:
FunctionName: 'cognito-user-migrate'
Handler: dist/index.handler
Expand All @@ -24,13 +24,8 @@ Resources:
Variables:
DATABASE_URL: '{{resolve:ssm:/prod/inreach-prod}}'
DB_DIRECT_URL: '{{resolve:ssm:/prod/inreach-prod}}'
# runtimeDepsLayer:
# Type: AWS::Serverless::LayerVersion
# Metadata:
# BuildMethod: makefile
# Properties:
# LayerName: "usermigrate-dependencies"
# ContentUri: ./
# CompatibleRuntimes:
# - nodejs18.x
# RetentionPolicy: Retain
MessageLogGroup:
Type: AWS::Logs::LogGroup
Properties:
LogGroupName: !Sub '/lambda/${usermigrate}'
RetentionInDays: 30
6 changes: 3 additions & 3 deletions lambdas/cognito-user-migrate/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"extends": "@weareinreach/config/tsconfig/base.json",
"compilerOptions": {
"baseUrl": "./src",
"baseUrl": "./",
"paths": {
"~/*": ["./*"],
"~db/*": ["../../db/*"]
"~db/*": ["../../packages/db/*"]
},
"target": "es2020",
"strict": true,
Expand All @@ -16,7 +16,7 @@
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"isolatedModules": false
"isolatedModules": true
},
"exclude": ["dist", "node_modules"],
"include": ["./**/*.ts"]
Expand Down
4 changes: 2 additions & 2 deletions packages/db/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
"clean:zod": "rm -rf ./zod-schemas/* || true",
"db:dataMigrate": "pnpm with-env tsx ./prisma/dataMigrationRunner.ts",
"db:deploy": "pnpm with-env prisma migrate deploy",
"db:generate": "pnpm clean:zod && pnpm with-env prisma generate && prisma -v",
"db:generate:aws": "pnpm install && pnpm with-env prisma generate",
"db:generate": "pnpm clean:zod && pnpm with-env prisma generate --generator client && prisma -v",
"db:generate:aws": "pnpm with-env prisma generate --generator aws",
"db:generate:kysely": "pnpm with-env kysely-codegen || true",
"db:migrate": "pnpm with-env prisma migrate dev",
"db:migrate:edit": "pnpm with-env prisma migrate dev --create-only --skip-seed",
Expand Down
6 changes: 6 additions & 0 deletions packages/db/prisma/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@ generator client {
previewFeatures = ["fullTextSearch", "postgresqlExtensions", "tracing", "views", "driverAdapters", "nativeDistinct", "relationJoins"]
}

generator aws {
provider = "prisma-client-js"
previewFeatures = ["fullTextSearch", "postgresqlExtensions", "tracing", "views", "driverAdapters", "nativeDistinct", "relationJoins"]
binaryTargets = ["linux-arm64-openssl-3.0.x"]
}

// generator zod {
// provider = "zod-prisma-types"
// output = "../zod-schemas"
Expand Down

0 comments on commit bf83dcb

Please sign in to comment.