service: minglarDev provider: name: aws runtime: nodejs20.x apiGateway: binaryMediaTypes: - '*/*' # allow binary uploads minimumCompressionSize: 0 region: ap-south-1 versionFunctions: false environment: DATABASE_URL: ${env:DATABASE_URL} DB_USERNAME: ${env:DB_USERNAME} DB_PASSWORD: ${env:DB_PASSWORD} DB_DATABASE_NAME: ${env:DB_DATABASE_NAME} DB_HOSTNAME: ${env:DB_HOSTNAME} DB_PORT: ${env:DB_PORT} BY_PASS_EMAIL: ${env:BY_PASS_EMAIL} BYPASS_OTP: ${env:BYPASS_OTP} BREVO_EMAIL_API_KEY: ${env:BREVO_EMAIL_API_KEY} BREVO_API_BASEURL: ${env:BREVO_API_BASEURL} BREVO_FROM_EMAIL: ${env:BREVO_FROM_EMAIL} BREVO_SMTP_HOST: ${env:BREVO_SMTP_HOST} BREVO_SMTP_PORT: ${env:BREVO_SMTP_PORT} BREVO_SMTP_USER: ${env:BREVO_SMTP_USER} BREVO_SMTP_PASS: ${env:BREVO_SMTP_PASS} REFRESH_TOKEN_SECRET: ${env:REFRESH_TOKEN_SECRET} JWT_SECRET: ${env:JWT_SECRET} SALT_ROUNDS: ${env:SALT_ROUNDS} NODE_ENV: ${env:NODE_ENV} S3_BUCKET_NAME: ${env:S3_BUCKET_NAME} iam: role: statements: - Effect: Allow Action: - s3:PutObject - s3:GetObject - s3:DeleteObject Resource: 'arn:aws:s3:::${env:S3_BUCKET_NAME}/*' httpApi: cors: allowedOrigins: ['*'] allowedHeaders: - Content-Type - X-Amz-Date - Authorization - X-Api-Key - X-Auth-Token allowCredentials: false custom: esbuild: bundle: true minify: false sourcemap: false exclude: [] target: node20 platform: node concurrency: 10 outdir: dist package: individually: true patterns: - '!**/*.spec.ts' - '!**/*.test.ts' - '!**/*.log' - 'src/**' - 'common/**' - 'prisma/schema.prisma' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/**' - 'node_modules/@aws-sdk/**' - 'node_modules/@smithy/**' # ✅ include AWS SDK v3 internal deps - 'node_modules/@aws-crypto/**' functions: # 👇 Example Lambda for Host Module getHosts: handler: src/modules/host/handlers/host.handler package: patterns: - 'src/modules/host/**' - 'common/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' - 'node_modules/@prisma/client/**' - 'prisma/schema.prisma' events: - httpApi: path: /host method: get verifyOtp: handler: src/modules/host/handlers/verifyOtp.handler package: patterns: - 'src/modules/host/**' - 'common/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' - 'node_modules/@prisma/client/**' - 'prisma/schema.prisma' events: - httpApi: path: /host/verify-otp method: post loginForHost: handler: src/modules/host/handlers/loginForHost.handler package: patterns: - 'src/modules/host/**' - 'common/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' - 'node_modules/@prisma/client/**' - 'prisma/schema.prisma' events: - httpApi: path: /host/login method: post registrationOfHost: handler: src/modules/host/handlers/registration.handler package: patterns: - 'src/modules/host/**' - 'common/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' - 'node_modules/@prisma/client/**' - 'prisma/schema.prisma' events: - httpApi: path: /host/registration method: post createPasswordForHost: handler: src/modules/host/handlers/createPassword.handler package: patterns: - 'src/modules/host/**' - 'common/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' - 'node_modules/@prisma/client/**' - 'prisma/schema.prisma' events: - httpApi: path: /host/create-password method: post addPaymentDetailsForHost: handler: src/modules/host/handlers/addPaymentDetails.handler package: patterns: - 'src/modules/host/**' - 'common/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' - 'node_modules/@prisma/client/**' - 'prisma/schema.prisma' events: - httpApi: path: /host/add-payment-details method: post getHostById: handler: src/modules/host/handlers/getbyidhandler.handler package: patterns: - 'src/modules/host/**' - 'common/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' - 'node_modules/@prisma/client/**' - 'prisma/schema.prisma' events: - httpApi: path: /host/{id} method: get getStepperInfo: handler: src/common/utils/handlers/getStepperHandler.handler package: patterns: - 'src/**' - 'common/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' - 'node_modules/@prisma/client/**' - 'prisma/schema.prisma' events: - httpApi: path: /stepper method: get # 👇 Minglar Admin Module minglarRegistration: handler: src/modules/minglaradmin/handlers/registration.handler package: patterns: - 'src/modules/minglaradmin/**' - 'common/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' - 'node_modules/@prisma/client/**' - 'node_modules/@aws-sdk/**' - 'prisma/schema.prisma' events: - httpApi: path: /minglaradmin/registration method: post minglarLoginForAdmin: handler: src/modules/minglaradmin/handlers/loginForMinglar.handler package: patterns: - 'src/modules/minglaradmin/**' - 'common/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' - 'node_modules/@prisma/client/**' - 'node_modules/@aws-sdk/**' - 'prisma/schema.prisma' events: - httpApi: path: /minglaradmin/login method: post minglarCreatePassword: handler: src/modules/minglaradmin/handlers/createPassword.handler package: patterns: - 'src/modules/minglaradmin/**' - 'common/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' - 'node_modules/@prisma/client/**' - 'node_modules/@aws-sdk/**' - 'prisma/schema.prisma' events: - httpApi: path: /minglaradmin/create-password method: post addCompanyDetails: handler: src/modules/host/handlers/addCompanyDetails.handler package: patterns: - 'src/modules/host/**' - 'common/**' - 'node_modules/@aws-sdk/**' - 'node_modules/@smithy/**' # ✅ critical fix - 'node_modules/@aws-crypto/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' - 'node_modules/@prisma/client/**' - 'prisma/schema.prisma' events: - httpApi: path: /host/add-company-details method: post