service: minglarDev provider: name: aws runtime: nodejs22.x region: ap-south-1 versionFunctions: false memorySize: 512 # Default memory for all functions (can be overridden per function) apiGateway: binaryMediaTypes: - '*/*' minimumCompressionSize: 1024 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} MINGLAR_ADMIN_NAME: ${env:MINGLAR_ADMIN_NAME} MINGLAR_ADMIN_EMAIL: ${env:MINGLAR_ADMIN_EMAIL} iam: role: statements: - Effect: Allow Action: - s3:PutObject - s3:GetObject - s3:DeleteObject - s3:ListBucket Resource: - 'arn:aws:s3:::${env:S3_BUCKET_NAME}' - 'arn:aws:s3:::${env:S3_BUCKET_NAME}/*' custom: esbuild: bundle: true minify: true sourcemap: false target: node20 platform: node concurrency: 5 external: - '@prisma/client' - '.prisma' exclude: - 'aws-sdk' package: individually: true patterns: - '!node_modules/**' - '!**/*.test.js' - '!**/*.spec.js' - '!**/test/**' - '!**/__tests__/**' - '!package-lock.json' - '!yarn.lock' - '!README.md' - '!*.config.js' - '!.git/**' - '!.github/**' functions: getHosts: handler: src/modules/host/handlers/host.handler memorySize: 384 # Lower memory for simple GET operations package: patterns: - 'src/modules/host/handlers/host.*' - 'src/modules/host/services/**' - 'src/common/**' - 'common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /host method: get verifyOtp: handler: src/modules/host/handlers/verifyOtp.handler memorySize: 384 package: patterns: - 'src/modules/host/handlers/verifyOtp.*' - 'src/modules/host/services/**' - 'src/common/**' - 'common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /host/verify-otp method: post loginForHost: handler: src/modules/host/handlers/loginForHost.handler memorySize: 384 package: patterns: - 'src/modules/host/handlers/loginForHost.*' - 'src/modules/host/services/**' - 'src/common/**' - 'common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /host/login method: post registrationOfHost: handler: src/modules/host/handlers/registration.handler memorySize: 384 package: patterns: - 'src/modules/host/handlers/registration.*' - 'src/modules/host/services/**' - 'src/common/**' - 'common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /host/registration method: post createPasswordForHost: handler: src/modules/host/handlers/createPassword.handler memorySize: 384 package: patterns: - 'src/modules/host/handlers/createPassword.*' - 'src/modules/host/services/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /host/create-password method: post addPaymentDetailsForHost: handler: src/modules/host/handlers/addPaymentDetails.handler memorySize: 384 package: patterns: - 'src/modules/host/handlers/addPaymentDetails.*' - 'src/modules/host/services/**' - 'src/common/**' - 'common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /host/add-payment-details method: post addActivity: handler: src/modules/host/handlers/addActivity.handler memorySize: 384 package: patterns: - 'src/modules/host/handlers/addActivity.*' - 'src/modules/host/services/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /host/add-activity method: post getHostById: handler: src/modules/host/handlers/getbyidhandler.handler memorySize: 384 package: patterns: - 'src/modules/host/handlers/getbyidhandler.*' - 'src/modules/host/services/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /host/getById method: get getPQQQuestionDetailsById: handler: src/modules/host/handlers/getByIdPQQ.handler memorySize: 384 package: patterns: - 'src/modules/host/handlers/getByIdPQQ.*' - 'src/modules/host/services/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /host/get-pqq-question-details method: get getLatestPQQQuestionDetails: handler: src/modules/host/handlers/getLatestQuestionDetailsPQQ.handler memorySize: 384 package: patterns: - 'src/modules/host/handlers/getLatestQuestionDetailsPQQ.*' - 'src/modules/host/services/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /host/get-latest-pqq-question-details method: get getActivityTypes: handler: src/modules/host/handlers/getActivity.handler memorySize: 384 package: patterns: - 'src/modules/host/handlers/getActivity.*' - 'src/modules/host/services/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /host/get-activity method: get acceptMinglarAgreement: handler: src/modules/host/handlers/acceptAgreement.handler memorySize: 384 package: patterns: - 'src/modules/host/handlers/acceptAgreement.*' - 'src/modules/host/services/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /host/accept-agreement method: patch getStepperInfo: handler: src/modules/host/handlers/getStepper.handler memorySize: 384 package: patterns: - 'src/modules/host/handlers/getStepper.*' - 'src/common/utils/handlers/safeHandler.*' - 'src/common/database/**' - 'src/modules/host/services/**' - 'common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /stepper method: get getSuggestion: handler: src/modules/minglaradmin/handlers/getSuggestion.handler memorySize: 384 package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /minglaradmin/get-suggestion method: get minglarRegistration: handler: src/modules/minglaradmin/handlers/registration.handler memorySize: 384 package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /minglaradmin/registration method: post minglarLoginForAdmin: handler: src/modules/minglaradmin/handlers/loginForMinglar.handler memorySize: 384 package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /minglaradmin/login method: post minglarCreatePassword: handler: src/modules/minglaradmin/handlers/createPassword.handler memorySize: 384 package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /minglaradmin/create-password method: post # Functions using AWS SDK - KEEP AS IS with higher memory updateMinglarProfile: handler: src/modules/minglaradmin/handlers/updateProfile.handler memorySize: 512 # Higher memory for AWS SDK operations timeout: 30 package: patterns: - 'src/modules/minglaradmin/handlers/updateProfile.*' - 'src/modules/minglaradmin/services/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' - 'node_modules/@aws-sdk/**' - 'node_modules/@smithy/**' - 'node_modules/tslib/**' - 'node_modules/fast-xml-parser/**' events: - httpApi: path: /minglaradmin/update-profile method: patch prepopulateTeammate: handler: src/modules/minglaradmin/handlers/prepopulateTeammate.handler memorySize: 384 package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /minglaradmin/prepopulate-Roles method: get inviteTeammate: handler: src/modules/minglaradmin/handlers/inviteTeammate.handler memorySize: 384 package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /minglaradmin/invite-teammate method: post getAllHostApplication: handler: src/modules/minglaradmin/handlers/getAllHostApplication.handler memorySize: 512 # Higher memory for data-intensive operations package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /minglaradmin/get-all-host-applications-am method: get getAllOnboardingHostApplications: handler: src/modules/minglaradmin/handlers/getAllOnboardingHosts.handler memorySize: 512 # Higher memory for data-intensive operations package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /minglaradmin/get-all-host-applications-admin method: get getAllOnboardingHostApplications_New: handler: src/modules/minglaradmin/handlers/getOnboardingNewApplications.handler memorySize: 512 # Higher memory for data-intensive operations package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /minglaradmin/get-all-host-applications-admin-new method: get getAllInvitationDetails: handler: src/modules/minglaradmin/handlers/getAllInvitationDetails.handler memorySize: 512 package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /minglaradmin/get-all-invitation-details method: get addSuggestion: handler: src/modules/minglaradmin/handlers/addSuggestion.handler memorySize: 384 package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /minglaradmin/add-suggestion method: post getAllCoadminAndAMDetails: handler: src/modules/minglaradmin/handlers/getAllCoadminAndAM.handler memorySize: 512 package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /minglaradmin/get-all-coadmin-and-am-details method: get getAllInvitedCoadminAndAMDetails: handler: src/modules/minglaradmin/handlers/getAllInvitedCoadminAndAM.handler memorySize: 512 package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /minglaradmin/get-all-invited-coadmin-and-am method: get getAllBankAndCurrencyDetails: handler: src/modules/prepopulate/handlers/getAllBankDetails.handler memorySize: 384 package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /prepopulate/get-all-bank-currency-details method: get getCityByState: handler: src/modules/prepopulate/handlers/getCityByState.handler memorySize: 384 package: patterns: - 'src/modules/prepopulate/handlers/getCityByState.*' - 'src/modules/prepopulate/services/**' - 'src/common/**' - 'common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /prepopulate/get-city-by-state method: get getBranchByBankXid: handler: src/modules/prepopulate/handlers/getBranchByBank.handler memorySize: 384 package: patterns: - 'src/modules/prepopulate/handlers/getBranchByBank.*' - 'src/modules/prepopulate/services/**' - 'src/common/**' - 'common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /prepopulate/get-branch-by-bank method: get getAllDocumentCountryStateCityDetails: handler: src/modules/prepopulate/handlers/getAllDocTypeWithCountryState.handler memorySize: 512 package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /prepopulate/get-all-doc-country method: get getAllPqqQuesAns: handler: src/modules/prepopulate/handlers/getAllPQQQuesWithAns.handler memorySize: 512 package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /prepopulate/get-all-pqq-ques-ans method: get getFrequenciesOfActivity: handler: src/modules/prepopulate/handlers/getAllFrequencies.handler memorySize: 384 package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /prepopulate/get-all-Frequencies method: get assignAMToHost: handler: src/modules/minglaradmin/handlers/assignAM.handler memorySize: 384 package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /minglaradmin/assign-am-to-host method: patch editAgreementDetails: handler: src/modules/minglaradmin/handlers/editAgreementDetails.handler memorySize: 384 package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /minglaradmin/edit-agreement-details method: patch acceptHostApplication: handler: src/modules/minglaradmin/handlers/acceptHostApplication.handler memorySize: 384 package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /minglaradmin/accept-host-application method: patch acceptHostApplicationMinglar: handler: src/modules/minglaradmin/handlers/acceptHostAppMinglar.handler memorySize: 384 package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /minglaradmin/accept-host-application-minglar method: patch rejectHostApplication: handler: src/modules/minglaradmin/handlers/rejectHostApplication.handler memorySize: 384 package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /minglaradmin/reject-host-application method: patch rejectHostApplicationAM: handler: src/modules/minglaradmin/handlers/rejectHostApplicationAM.handler memorySize: 384 package: patterns: - 'src/modules/minglaradmin/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' events: - httpApi: path: /minglaradmin/reject-host-application-am method: patch # Functions using AWS SDK and S3 - KEEP AS IS with higher memory addCompanyDetails: handler: src/modules/host/handlers/addCompanyDetails.handler memorySize: 512 timeout: 30 package: patterns: - 'src/modules/host/handlers/addCompanyDetails.*' - 'src/modules/host/services/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' # Only include specific AWS SDK modules needed for S3 - 'node_modules/@aws-sdk/client-s3/**' - 'node_modules/@aws-sdk/s3-request-presigner/**' - 'node_modules/@aws-sdk/types/**' - 'node_modules/@aws-sdk/middleware-logger/**' - 'node_modules/@aws-sdk/util-utf8-node/**' - 'node_modules/@aws-sdk/util-utf8-browser/**' - 'node_modules/@smithy/**' - 'node_modules/tslib/**' # Remove these large/unnecessary packages: - 'node_modules/fast-xml-parser/**' # Remove if not used - 'node_modules/lambda-multipart-parser/**' # You're using busboy directly - 'node_modules/busboy/**' # Remove these AWS utility packages (included in main SDK): - 'node_modules/@aws-crypto/**' # - 'node_modules/uuid/**' # AWS SDK includes its own # - 'node_modules/@aws/util-uri-escape/**' # - 'node_modules/@aws/util-middleware/**' - 'node_modules/@aws/smithy-client/**' # - 'node_modules/@aws/lambda-invoke-store/**' events: - httpApi: path: /host/add-company-details method: patch submitPqqAnswer: handler: src/modules/host/handlers/submitPqqAns.handler memorySize: 512 timeout: 30 package: patterns: - 'src/modules/host/handlers/submitPqqAns.*' - 'src/modules/host/services/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' - 'node_modules/@aws-sdk/**' - 'node_modules/@smithy/**' - 'node_modules/tslib/**' - 'node_modules/fast-xml-parser/**' - 'node_modules/lambda-multipart-parser/**' - 'node_modules/busboy/**' - 'node_modules/@aws-crypto/**' - 'node_modules/uuid/**' - 'node_modules/@aws/util-uri-escape/**' - 'node_modules/@aws/util-middleware/**' - 'node_modules/@aws/smithy-client/**' - 'node_modules/@aws/lambda-invoke-store/**' events: - httpApi: path: /host/submit-pqq-ans method: patch submitFinalPqqAnswer: handler: src/modules/host/handlers/getPQQScore.handler memorySize: 512 timeout: 30 package: patterns: - 'src/modules/host/handlers/getPQQScore.*' - 'src/modules/host/services/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/client/libquery_engine-rhel-openssl-3.0.x.so.node' - 'node_modules/@aws-sdk/**' - 'node_modules/@smithy/**' - 'node_modules/tslib/**' - 'node_modules/fast-xml-parser/**' - 'node_modules/lambda-multipart-parser/**' - 'node_modules/busboy/**' - 'node_modules/@aws-crypto/**' - 'node_modules/uuid/**' - 'node_modules/@aws/util-uri-escape/**' - 'node_modules/@aws/util-middleware/**' - 'node_modules/@aws/smithy-client/**' - 'node_modules/@aws/lambda-invoke-store/**' events: - httpApi: path: /host/submit-final-pqq-ans method: patch addPQQSuggestion: handler: src/modules/minglar/handlers/addPQQSuggestion.handler memorySize: 384 package: patterns: - 'src/modules/minglaradmin/handlers/addPQQSuggestion.*' - 'src/modules/minglaradmin/services/**' - 'src/common/**' - 'node_modules/@prisma/client/**' - 'node_modules/.prisma/**' events: - httpApi: path: /minglar/add-Pqq-suggestion method: post