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 submitPqqAnswer: handler: src/modules/host/handlers/submitPqqAns.handler package: patterns: - 'src/modules/host/handlers/submitPqqAns.*' - '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/submit-pqq-ans method: put