service: minglarDev provider: name: aws runtime: nodejs20.x region: ap-south-1 versionFunctions: false apiGateway: binaryMediaTypes: - "*/*" minimumCompressionSize: 0 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}/*" # ------------------------------------------------------------ # ESBUILD # ------------------------------------------------------------ custom: esbuild: bundle: true minify: true sourcemap: false target: node20 platform: node concurrency: 10 external: - "@prisma/client" - ".prisma" exclude: - "aws-sdk" # ------------------------------------------------------------ # GLOBAL PACKAGE CONFIG (EMPTY PACKAGE STRATEGY) # ------------------------------------------------------------ package: individually: true patterns: - "!**/*" # <-- DO NOT include anything globally # ------------------------------------------------------------ # FUNCTIONS (ONLY required files included) # ------------------------------------------------------------ functions: getHosts: handler: src/modules/host/handlers/host.handler package: patterns: - "src/modules/host/handlers/host.*" - "src/modules/host/services/**" - "common/**" - "src/common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" events: - httpApi: path: /host method: get verifyOtp: handler: src/modules/host/handlers/verifyOtp.handler package: patterns: - "src/modules/host/handlers/verifyOtp.*" - "src/modules/host/services/**" - "common/**" - "src/common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" events: - httpApi: path: /host/verify-otp method: post loginForHost: handler: src/modules/host/handlers/loginForHost.handler package: patterns: - "src/modules/host/handlers/loginForHost.*" - "src/modules/host/services/**" - "common/**" - "src/common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" events: - httpApi: path: /host/login method: post registrationOfHost: handler: src/modules/host/handlers/registration.handler package: patterns: - "src/modules/host/handlers/registration.*" - "src/modules/host/services/**" - "common/**" - "src/common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" events: - httpApi: path: /host/registration method: post createPasswordForHost: handler: src/modules/host/handlers/createPassword.handler package: patterns: - "src/modules/host/handlers/createPassword.*" - "src/modules/host/services/**" - "common/**" - "src/common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" events: - httpApi: path: /host/create-password method: post addPaymentDetailsForHost: handler: src/modules/host/handlers/addPaymentDetails.handler package: patterns: - "src/modules/host/handlers/addPaymentDetails.*" - "src/modules/host/services/**" - "common/**" - "src/common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" events: - httpApi: path: /host/add-payment-details method: post getHostById: handler: src/modules/host/handlers/getbyidhandler.handler package: patterns: - "src/modules/host/handlers/getbyidhandler.*" - "src/modules/host/services/**" - "common/**" - "src/common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" events: - httpApi: path: /host/getById method: get getStepperInfo: handler: src/modules/host/handlers/getStepper.handler package: patterns: - "src/modules/host/handlers/getStepper.handler.*" - "src/common/utils/handlers/safeHandler.*" - "src/common/database/**" - "src/modules/host/services/**" - "common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" events: - httpApi: path: /stepper method: get minglarRegistration: handler: src/modules/minglaradmin/handlers/registration.handler package: patterns: - "src/modules/minglaradmin/**" - "common/**" - "src/common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" events: - httpApi: path: /minglaradmin/registration method: post minglarLoginForAdmin: handler: src/modules/minglaradmin/handlers/loginForMinglar.handler package: patterns: - "src/modules/minglaradmin/**" - "common/**" - "src/common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" events: - httpApi: path: /minglaradmin/login method: post minglarCreatePassword: handler: src/modules/minglaradmin/handlers/createPassword.handler package: patterns: - "src/modules/minglaradmin/**" - "common/**" - "src/common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" events: - httpApi: path: /minglaradmin/create-password method: post updateMinglarProfile: handler: src/modules/minglaradmin/handlers/updateProfile.handler package: patterns: - "src/modules/host/handlers/addCompanyDetails.*" - "src/modules/host/services/**" - "common/**" - "src/common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" - "node_modules/@aws-sdk/**" - "node_modules/@smithy/**" events: - httpApi: path: /minglaradmin/update-profile method: patch prepopulateTeammate: handler: src/modules/minglaradmin/handlers/prepopulateTeammate.handler package: patterns: - "src/modules/minglaradmin/**" - "common/**" - "src/common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" events: - httpApi: path: /minglaradmin/prepopulate-Roles method: get inviteTeammate: handler: src/modules/minglaradmin/handlers/inviteTeammate.handler package: patterns: - "src/modules/minglaradmin/**" - "common/**" - "src/common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" events: - httpApi: path: /minglaradmin/invite-teammate method: post getAllHostApplication: handler: src/modules/minglaradmin/handlers/getAllHostApplication.handler package: patterns: - "src/modules/minglaradmin/**" - "common/**" - "src/common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" events: - httpApi: path: /minglaradmin/get-all-host-applications method: get getAllInvitationDetails: handler: src/modules/minglaradmin/handlers/getAllInvitationDetails.handler package: patterns: - "src/modules/minglaradmin/**" - "common/**" - "src/common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" events: - httpApi: path: /minglaradmin/get-all-invitation-details method: get addSuggestion: handler: src/modules/minglaradmin/handlers/addSuggestion.handler package: patterns: - "src/modules/minglaradmin/**" - "common/**" - "src/common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" events: - httpApi: path: /minglaradmin/add-suggestion method: post getSuggestion: handler: src/modules/minglaradmin/handlers/getSuggestion.handler package: patterns: - "src/modules/minglaradmin/**" - "common/**" - "src/common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" events: - httpApi: path: /minglaradmin/get-suggestion method: get getAllCoadminAndAMDetails: handler: src/modules/minglaradmin/handlers/getAllCoadminAndAM.handler package: patterns: - "src/modules/minglaradmin/**" - "common/**" - "src/common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" events: - httpApi: path: /minglaradmin/get-all-coadmin-and-am-details method: get getAllBankAndCurrencyDetails: handler: src/modules/prepopulate/handlers/getAllBankDetails.handler package: patterns: - "src/modules/minglaradmin/**" - "common/**" - "src/common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" events: - httpApi: path: /prepopulate/get-all-bank-currency-details method: get getAllPqqQuesAns: handler: src/modules/prepopulate/handlers/getAllPQQQuesWithAns.handler package: patterns: - "src/modules/minglaradmin/**" - "common/**" - "src/common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" events: - httpApi: path: /prepopulate/get-all-pqq-ques-ans method: get assignAMToHost: handler: src/modules/minglaradmin/handlers/assignAM.handler package: patterns: - "src/modules/minglaradmin/**" - "common/**" - "src/common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" events: - httpApi: path: /minglaradmin/assign-am-to-host method: patch addCompanyDetails: handler: src/modules/host/handlers/addCompanyDetails.handler package: patterns: - "src/modules/host/handlers/addCompanyDetails.*" - "src/modules/host/services/**" - "common/**" - "src/common/**" - "node_modules/@prisma/client/**" - "node_modules/.prisma/**" - "node_modules/@aws-sdk/**" - "node_modules/@smithy/**" events: - httpApi: path: /host/add-company-details method: patch