@starklabs/forge 1.3.24-beta.0 → 1.3.24-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/js/account/me.get.js +1 -1
- package/dist/js/account/me.get.js.map +1 -1
- package/dist/js/admin/builtin/admin.collection.d.ts +4 -0
- package/dist/js/admin/builtin/admin.collection.d.ts.map +1 -0
- package/dist/js/admin/builtin/admin.collection.js +17 -0
- package/dist/js/admin/builtin/admin.collection.js.map +1 -0
- package/dist/js/admin/bunch.admin.d.ts +3 -0
- package/dist/js/admin/bunch.admin.d.ts.map +1 -0
- package/dist/js/admin/bunch.admin.js +3 -0
- package/dist/js/admin/bunch.admin.js.map +1 -0
- package/dist/js/admin/check.admin.d.ts +2 -0
- package/dist/js/admin/check.admin.d.ts.map +1 -0
- package/dist/js/admin/check.admin.js +2 -0
- package/dist/js/admin/check.admin.js.map +1 -0
- package/dist/js/admin/check.d.ts +7 -0
- package/dist/js/admin/check.d.ts.map +1 -0
- package/dist/js/admin/check.js +38 -0
- package/dist/js/admin/check.js.map +1 -0
- package/dist/js/admin/index.d.ts +3 -2
- package/dist/js/admin/index.d.ts.map +1 -1
- package/dist/js/admin/index.js +46 -2
- package/dist/js/admin/index.js.map +1 -1
- package/dist/js/app.d.ts.map +1 -1
- package/dist/js/app.js +13 -9
- package/dist/js/app.js.map +1 -1
- package/dist/js/auth/builtin/auth.collection.d.ts.map +1 -1
- package/dist/js/auth/builtin/auth.collection.js +12 -2
- package/dist/js/auth/builtin/auth.collection.js.map +1 -1
- package/dist/js/auth/builtin/getValidations.js +2 -2
- package/dist/js/auth/builtin/getValidations.js.map +1 -1
- package/dist/js/auth/forgotPassword.js +2 -2
- package/dist/js/auth/forgotPassword.js.map +1 -1
- package/dist/js/auth/index.js +5 -5
- package/dist/js/auth/index.js.map +1 -1
- package/dist/js/auth/login.js +2 -2
- package/dist/js/auth/login.js.map +1 -1
- package/dist/js/auth/logout.js +3 -3
- package/dist/js/auth/logout.js.map +1 -1
- package/dist/js/auth/refresh.js +4 -4
- package/dist/js/auth/refresh.js.map +1 -1
- package/dist/js/auth/resendOTP.js +2 -2
- package/dist/js/auth/resendOTP.js.map +1 -1
- package/dist/js/auth/resetPassword.js +2 -2
- package/dist/js/auth/resetPassword.js.map +1 -1
- package/dist/js/auth/signup.js +2 -2
- package/dist/js/auth/signup.js.map +1 -1
- package/dist/js/auth/utils/authenticateUser.js +6 -6
- package/dist/js/auth/utils/authenticateUser.js.map +1 -1
- package/dist/js/auth/utils/createOTPModel.js +2 -2
- package/dist/js/auth/utils/createOTPModel.js.map +1 -1
- package/dist/js/auth/utils/createOTPUser.js +2 -2
- package/dist/js/auth/utils/createOTPUser.js.map +1 -1
- package/dist/js/auth/utils/createUser.js +6 -6
- package/dist/js/auth/utils/createUser.js.map +1 -1
- package/dist/js/auth/utils/getOTPUser.js +2 -2
- package/dist/js/auth/utils/getOTPUser.js.map +1 -1
- package/dist/js/auth/utils/getUser.js +2 -2
- package/dist/js/auth/utils/getUser.js.map +1 -1
- package/dist/js/auth/utils/handleGetToken.d.ts.map +1 -1
- package/dist/js/auth/utils/handleGetToken.js +4 -4
- package/dist/js/auth/utils/handleGetToken.js.map +1 -1
- package/dist/js/auth/utils/handleRotateRefreshToken.js +2 -2
- package/dist/js/auth/utils/handleRotateRefreshToken.js.map +1 -1
- package/dist/js/auth/utils/otpVerifiedResponse.js +2 -2
- package/dist/js/auth/utils/otpVerifiedResponse.js.map +1 -1
- package/dist/js/auth/utils/sendCookie.js +3 -3
- package/dist/js/auth/utils/sendCookie.js.map +1 -1
- package/dist/js/auth/utils/sendOTP.d.ts.map +1 -1
- package/dist/js/auth/utils/sendOTP.js +15 -14
- package/dist/js/auth/utils/sendOTP.js.map +1 -1
- package/dist/js/auth/utils/verifyCredentials.js +2 -2
- package/dist/js/auth/utils/verifyCredentials.js.map +1 -1
- package/dist/js/auth/verifyOTP.js +2 -2
- package/dist/js/auth/verifyOTP.js.map +1 -1
- package/dist/js/config/auth.envs.d.ts +4 -0
- package/dist/js/config/auth.envs.d.ts.map +1 -0
- package/dist/js/config/auth.envs.js +79 -0
- package/dist/js/config/auth.envs.js.map +1 -0
- package/dist/js/config/defaultConfig.d.ts.map +1 -1
- package/dist/js/config/defaultConfig.js +4 -1
- package/dist/js/config/defaultConfig.js.map +1 -1
- package/dist/js/config/email.envs.d.ts +4 -0
- package/dist/js/config/email.envs.d.ts.map +1 -0
- package/dist/js/config/email.envs.js +54 -0
- package/dist/js/config/email.envs.js.map +1 -0
- package/dist/js/config/envs.d.ts.map +1 -1
- package/dist/js/config/envs.js +6 -76
- package/dist/js/config/envs.js.map +1 -1
- package/dist/js/config/handleReqType.d.ts.map +1 -1
- package/dist/js/config/handleReqType.js +3 -1
- package/dist/js/config/handleReqType.js.map +1 -1
- package/dist/js/config/handlerMap.d.ts.map +1 -1
- package/dist/js/config/handlerMap.js +8 -1
- package/dist/js/config/handlerMap.js.map +1 -1
- package/dist/js/config/sendEmail.d.ts.map +1 -1
- package/dist/js/config/sendEmail.js +3 -1
- package/dist/js/config/sendEmail.js.map +1 -1
- package/dist/js/crud/read.d.ts.map +1 -1
- package/dist/js/crud/read.js +3 -4
- package/dist/js/crud/read.js.map +1 -1
- package/dist/js/crud/readAll.d.ts.map +1 -1
- package/dist/js/crud/readAll.js.map +1 -1
- package/dist/js/crud/utils/runActions.d.ts +2 -3
- package/dist/js/crud/utils/runActions.d.ts.map +1 -1
- package/dist/js/crud/utils/runActions.js +13 -4
- package/dist/js/crud/utils/runActions.js.map +1 -1
- package/dist/js/email/index.d.ts +4 -0
- package/dist/js/email/index.d.ts.map +1 -0
- package/dist/js/email/index.js +180 -0
- package/dist/js/email/index.js.map +1 -0
- package/dist/js/email/templates/account.created.d.ts +4 -0
- package/dist/js/email/templates/account.created.d.ts.map +1 -0
- package/dist/js/email/templates/account.created.email.d.ts +4 -0
- package/dist/js/email/templates/account.created.email.d.ts.map +1 -0
- package/dist/js/email/templates/account.created.email.js +165 -0
- package/dist/js/email/templates/account.created.email.js.map +1 -0
- package/dist/js/email/templates/account.created.js +122 -0
- package/dist/js/email/templates/account.created.js.map +1 -0
- package/dist/js/email/templates/account.deleted.d.ts +4 -0
- package/dist/js/email/templates/account.deleted.d.ts.map +1 -0
- package/dist/js/email/templates/account.deleted.js +111 -0
- package/dist/js/email/templates/account.deleted.js.map +1 -0
- package/dist/js/email/templates/account.updated.d.ts +4 -0
- package/dist/js/email/templates/account.updated.d.ts.map +1 -0
- package/dist/js/email/templates/account.updated.js +128 -0
- package/dist/js/email/templates/account.updated.js.map +1 -0
- package/dist/js/email/templates/announcement.d.ts +4 -0
- package/dist/js/email/templates/announcement.d.ts.map +1 -0
- package/dist/js/email/templates/announcement.js +122 -0
- package/dist/js/email/templates/announcement.js.map +1 -0
- package/dist/js/email/templates/api.key.created.d.ts +4 -0
- package/dist/js/email/templates/api.key.created.d.ts.map +1 -0
- package/dist/js/email/templates/api.key.created.js +159 -0
- package/dist/js/email/templates/api.key.created.js.map +1 -0
- package/dist/js/email/templates/api.key.revoked.d.ts +4 -0
- package/dist/js/email/templates/api.key.revoked.d.ts.map +1 -0
- package/dist/js/email/templates/api.key.revoked.js +134 -0
- package/dist/js/email/templates/api.key.revoked.js.map +1 -0
- package/dist/js/email/templates/contact.form.d.ts +4 -0
- package/dist/js/email/templates/contact.form.d.ts.map +1 -0
- package/dist/js/email/templates/contact.form.js +134 -0
- package/dist/js/email/templates/contact.form.js.map +1 -0
- package/dist/js/email/templates/daily.report.d.ts +4 -0
- package/dist/js/email/templates/daily.report.d.ts.map +1 -0
- package/dist/js/email/templates/daily.report.js +143 -0
- package/dist/js/email/templates/daily.report.js.map +1 -0
- package/dist/js/email/templates/email.changed.d.ts +4 -0
- package/dist/js/email/templates/email.changed.d.ts.map +1 -0
- package/dist/js/email/templates/email.changed.js +122 -0
- package/dist/js/email/templates/email.changed.js.map +1 -0
- package/dist/js/email/templates/feedback.d.ts +4 -0
- package/dist/js/email/templates/feedback.d.ts.map +1 -0
- package/dist/js/email/templates/feedback.js +136 -0
- package/dist/js/email/templates/feedback.js.map +1 -0
- package/dist/js/email/templates/index.d.ts +46 -0
- package/dist/js/email/templates/index.d.ts.map +1 -0
- package/dist/js/email/templates/index.js +46 -0
- package/dist/js/email/templates/index.js.map +1 -0
- package/dist/js/email/templates/invoice.d.ts +4 -0
- package/dist/js/email/templates/invoice.d.ts.map +1 -0
- package/dist/js/email/templates/invoice.js +147 -0
- package/dist/js/email/templates/invoice.js.map +1 -0
- package/dist/js/email/templates/login.alert.d.ts +4 -0
- package/dist/js/email/templates/login.alert.d.ts.map +1 -0
- package/dist/js/email/templates/login.alert.js +147 -0
- package/dist/js/email/templates/login.alert.js.map +1 -0
- package/dist/js/email/templates/magic.link.d.ts +4 -0
- package/dist/js/email/templates/magic.link.d.ts.map +1 -0
- package/dist/js/email/templates/magic.link.js +126 -0
- package/dist/js/email/templates/magic.link.js.map +1 -0
- package/dist/js/email/templates/maintenance.d.ts +4 -0
- package/dist/js/email/templates/maintenance.d.ts.map +1 -0
- package/dist/js/email/templates/maintenance.js +132 -0
- package/dist/js/email/templates/maintenance.js.map +1 -0
- package/dist/js/email/templates/member.added.d.ts +4 -0
- package/dist/js/email/templates/member.added.d.ts.map +1 -0
- package/dist/js/email/templates/member.added.js +122 -0
- package/dist/js/email/templates/member.added.js.map +1 -0
- package/dist/js/email/templates/member.removed.d.ts +4 -0
- package/dist/js/email/templates/member.removed.d.ts.map +1 -0
- package/dist/js/email/templates/member.removed.js +122 -0
- package/dist/js/email/templates/member.removed.js.map +1 -0
- package/dist/js/email/templates/mention.d.ts +4 -0
- package/dist/js/email/templates/mention.d.ts.map +1 -0
- package/dist/js/email/templates/mention.js +134 -0
- package/dist/js/email/templates/mention.js.map +1 -0
- package/dist/js/email/templates/monthly.report.d.ts +4 -0
- package/dist/js/email/templates/monthly.report.d.ts.map +1 -0
- package/dist/js/email/templates/monthly.report.js +143 -0
- package/dist/js/email/templates/monthly.report.js.map +1 -0
- package/dist/js/email/templates/new.comment.d.ts +4 -0
- package/dist/js/email/templates/new.comment.d.ts.map +1 -0
- package/dist/js/email/templates/new.comment.js +134 -0
- package/dist/js/email/templates/new.comment.js.map +1 -0
- package/dist/js/email/templates/new.device.login.d.ts +4 -0
- package/dist/js/email/templates/new.device.login.d.ts.map +1 -0
- package/dist/js/email/templates/new.device.login.js +147 -0
- package/dist/js/email/templates/new.device.login.js.map +1 -0
- package/dist/js/email/templates/new.message.d.ts +4 -0
- package/dist/js/email/templates/new.message.d.ts.map +1 -0
- package/dist/js/email/templates/new.message.js +134 -0
- package/dist/js/email/templates/new.message.js.map +1 -0
- package/dist/js/email/templates/notification.d.ts +4 -0
- package/dist/js/email/templates/notification.d.ts.map +1 -0
- package/dist/js/email/templates/notification.js +122 -0
- package/dist/js/email/templates/notification.js.map +1 -0
- package/dist/js/email/templates/order.cancelled.d.ts +4 -0
- package/dist/js/email/templates/order.cancelled.d.ts.map +1 -0
- package/dist/js/email/templates/order.cancelled.js +132 -0
- package/dist/js/email/templates/order.cancelled.js.map +1 -0
- package/dist/js/email/templates/order.confirmation.d.ts +4 -0
- package/dist/js/email/templates/order.confirmation.d.ts.map +1 -0
- package/dist/js/email/templates/order.confirmation.js +143 -0
- package/dist/js/email/templates/order.confirmation.js.map +1 -0
- package/dist/js/email/templates/order.delivered.d.ts +4 -0
- package/dist/js/email/templates/order.delivered.d.ts.map +1 -0
- package/dist/js/email/templates/order.delivered.js +122 -0
- package/dist/js/email/templates/order.delivered.js.map +1 -0
- package/dist/js/email/templates/order.shipped.d.ts +4 -0
- package/dist/js/email/templates/order.shipped.d.ts.map +1 -0
- package/dist/js/email/templates/order.shipped.js +143 -0
- package/dist/js/email/templates/order.shipped.js.map +1 -0
- package/dist/js/email/templates/organization.invitation.d.ts +4 -0
- package/dist/js/email/templates/organization.invitation.d.ts.map +1 -0
- package/dist/js/email/templates/organization.invitation.js +126 -0
- package/dist/js/email/templates/organization.invitation.js.map +1 -0
- package/dist/js/email/templates/otp.verfication.d.ts +4 -0
- package/dist/js/email/templates/otp.verfication.d.ts.map +1 -0
- package/dist/js/email/templates/otp.verfication.js +117 -0
- package/dist/js/email/templates/otp.verfication.js.map +1 -0
- package/dist/js/email/templates/password.changed.d.ts +4 -0
- package/dist/js/email/templates/password.changed.d.ts.map +1 -0
- package/dist/js/email/templates/password.changed.js +155 -0
- package/dist/js/email/templates/password.changed.js.map +1 -0
- package/dist/js/email/templates/password.expiring.d.ts +4 -0
- package/dist/js/email/templates/password.expiring.d.ts.map +1 -0
- package/dist/js/email/templates/password.expiring.js +122 -0
- package/dist/js/email/templates/password.expiring.js.map +1 -0
- package/dist/js/email/templates/password.reset.d.ts +4 -0
- package/dist/js/email/templates/password.reset.d.ts.map +1 -0
- package/dist/js/email/templates/password.reset.js +138 -0
- package/dist/js/email/templates/password.reset.js.map +1 -0
- package/dist/js/email/templates/payment.failed.d.ts +4 -0
- package/dist/js/email/templates/payment.failed.d.ts.map +1 -0
- package/dist/js/email/templates/payment.failed.js +155 -0
- package/dist/js/email/templates/payment.failed.js.map +1 -0
- package/dist/js/email/templates/payment.success.d.ts +4 -0
- package/dist/js/email/templates/payment.success.d.ts.map +1 -0
- package/dist/js/email/templates/payment.success.js +143 -0
- package/dist/js/email/templates/payment.success.js.map +1 -0
- package/dist/js/email/templates/receipt.d.ts +4 -0
- package/dist/js/email/templates/receipt.d.ts.map +1 -0
- package/dist/js/email/templates/receipt.js +147 -0
- package/dist/js/email/templates/receipt.js.map +1 -0
- package/dist/js/email/templates/reminder.d.ts +4 -0
- package/dist/js/email/templates/reminder.d.ts.map +1 -0
- package/dist/js/email/templates/reminder.js +122 -0
- package/dist/js/email/templates/reminder.js.map +1 -0
- package/dist/js/email/templates/security.alert.d.ts +4 -0
- package/dist/js/email/templates/security.alert.d.ts.map +1 -0
- package/dist/js/email/templates/security.alert.js +155 -0
- package/dist/js/email/templates/security.alert.js.map +1 -0
- package/dist/js/email/templates/subscription.cancelled.d.ts +4 -0
- package/dist/js/email/templates/subscription.cancelled.d.ts.map +1 -0
- package/dist/js/email/templates/subscription.cancelled.js +122 -0
- package/dist/js/email/templates/subscription.cancelled.js.map +1 -0
- package/dist/js/email/templates/subscription.created.d.ts +4 -0
- package/dist/js/email/templates/subscription.created.d.ts.map +1 -0
- package/dist/js/email/templates/subscription.created.js +143 -0
- package/dist/js/email/templates/subscription.created.js.map +1 -0
- package/dist/js/email/templates/subscription.renewed.d.ts +4 -0
- package/dist/js/email/templates/subscription.renewed.d.ts.map +1 -0
- package/dist/js/email/templates/subscription.renewed.js +143 -0
- package/dist/js/email/templates/subscription.renewed.js.map +1 -0
- package/dist/js/email/templates/support.ticket.d.ts +4 -0
- package/dist/js/email/templates/support.ticket.d.ts.map +1 -0
- package/dist/js/email/templates/support.ticket.js +143 -0
- package/dist/js/email/templates/support.ticket.js.map +1 -0
- package/dist/js/email/templates/team.invitation.d.ts +4 -0
- package/dist/js/email/templates/team.invitation.d.ts.map +1 -0
- package/dist/js/email/templates/team.invitation.js +126 -0
- package/dist/js/email/templates/team.invitation.js.map +1 -0
- package/dist/js/email/templates/trial.ending.d.ts +4 -0
- package/dist/js/email/templates/trial.ending.d.ts.map +1 -0
- package/dist/js/email/templates/trial.ending.js +122 -0
- package/dist/js/email/templates/trial.ending.js.map +1 -0
- package/dist/js/email/templates/two.factor.code.d.ts +4 -0
- package/dist/js/email/templates/two.factor.code.d.ts.map +1 -0
- package/dist/js/email/templates/two.factor.code.js +121 -0
- package/dist/js/email/templates/two.factor.code.js.map +1 -0
- package/dist/js/email/templates/verify.email.d.ts +4 -0
- package/dist/js/email/templates/verify.email.d.ts.map +1 -0
- package/dist/js/email/templates/verify.email.js +126 -0
- package/dist/js/email/templates/verify.email.js.map +1 -0
- package/dist/js/email/templates/weekly.report.d.ts +4 -0
- package/dist/js/email/templates/weekly.report.d.ts.map +1 -0
- package/dist/js/email/templates/weekly.report.js +143 -0
- package/dist/js/email/templates/weekly.report.js.map +1 -0
- package/dist/js/email/templates/welcome.d.ts +4 -0
- package/dist/js/email/templates/welcome.d.ts.map +1 -0
- package/dist/js/email/templates/welcome.email.d.ts +4 -0
- package/dist/js/email/templates/welcome.email.d.ts.map +1 -0
- package/dist/js/email/templates/welcome.email.js +417 -0
- package/dist/js/email/templates/welcome.email.js.map +1 -0
- package/dist/js/email/templates/welcome.js +122 -0
- package/dist/js/email/templates/welcome.js.map +1 -0
- package/dist/js/email/utils/auto-fields.d.ts +68 -0
- package/dist/js/email/utils/auto-fields.d.ts.map +1 -0
- package/dist/js/email/utils/auto-fields.js +232 -0
- package/dist/js/email/utils/auto-fields.js.map +1 -0
- package/dist/js/email/utils/auto-fields.type.d.ts +18 -0
- package/dist/js/email/utils/auto-fields.type.d.ts.map +1 -0
- package/dist/js/email/utils/auto-fields.type.js +2 -0
- package/dist/js/email/utils/auto-fields.type.js.map +1 -0
- package/dist/js/email/utils/emailTemplates.d.ts +2 -0
- package/dist/js/email/utils/emailTemplates.d.ts.map +1 -0
- package/dist/js/email/utils/emailTemplates.js +49 -0
- package/dist/js/email/utils/emailTemplates.js.map +1 -0
- package/dist/js/email/utils/handleEmailTemplateConfig.d.ts +4 -0
- package/dist/js/email/utils/handleEmailTemplateConfig.d.ts.map +1 -0
- package/dist/js/email/utils/handleEmailTemplateConfig.js +47 -0
- package/dist/js/email/utils/handleEmailTemplateConfig.js.map +1 -0
- package/dist/js/lib/db.js +5 -1
- package/dist/js/lib/db.js.map +1 -1
- package/dist/js/lib/model.factory.js +1 -1
- package/dist/js/lib/model.factory.js.map +1 -1
- package/dist/js/middleware/auth.middleware.d.ts +20 -1
- package/dist/js/middleware/auth.middleware.d.ts.map +1 -1
- package/dist/js/middleware/auth.middleware.js +27 -26
- package/dist/js/middleware/auth.middleware.js.map +1 -1
- package/dist/js/terminal/appInfo.js +3 -3
- package/dist/js/terminal/appInfo.js.map +1 -1
- package/dist/js/terminal/logger.d.ts +23 -1
- package/dist/js/terminal/logger.d.ts.map +1 -1
- package/dist/js/terminal/logger.js +221 -51
- package/dist/js/terminal/logger.js.map +1 -1
- package/dist/js/terminal/loggerConfig.js.map +1 -1
- package/dist/js/types/ActionHandler.d.ts +49 -56
- package/dist/js/types/ActionHandler.d.ts.map +1 -1
- package/dist/js/types/Collection.d.ts +1 -1
- package/dist/js/types/Collection.d.ts.map +1 -1
- package/dist/js/types/Constructor.d.ts +8 -2
- package/dist/js/types/Constructor.d.ts.map +1 -1
- package/dist/js/types/EmailActionTemplate.d.ts +52 -0
- package/dist/js/types/EmailActionTemplate.d.ts.map +1 -0
- package/dist/js/types/EmailActionTemplate.js +2 -0
- package/dist/js/types/EmailActionTemplate.js.map +1 -0
- package/dist/js/types/Route.d.ts +4 -3
- package/dist/js/types/Route.d.ts.map +1 -1
- package/dist/js/types/adminHandlers.d.ts +2 -0
- package/dist/js/types/adminHandlers.d.ts.map +1 -0
- package/dist/js/types/adminHandlers.js +2 -0
- package/dist/js/types/adminHandlers.js.map +1 -0
- package/dist/js/types/email/account.created.type.d.ts +10 -0
- package/dist/js/types/email/account.created.type.d.ts.map +1 -0
- package/dist/js/types/email/account.created.type.js +2 -0
- package/dist/js/types/email/account.created.type.js.map +1 -0
- package/dist/js/types/email/account.deleted.type.d.ts +10 -0
- package/dist/js/types/email/account.deleted.type.d.ts.map +1 -0
- package/dist/js/types/email/account.deleted.type.js +2 -0
- package/dist/js/types/email/account.deleted.type.js.map +1 -0
- package/dist/js/types/email/account.updated.type.d.ts +12 -0
- package/dist/js/types/email/account.updated.type.d.ts.map +1 -0
- package/dist/js/types/email/account.updated.type.js +2 -0
- package/dist/js/types/email/account.updated.type.js.map +1 -0
- package/dist/js/types/email/announcement.type.d.ts +13 -0
- package/dist/js/types/email/announcement.type.d.ts.map +1 -0
- package/dist/js/types/email/announcement.type.js +2 -0
- package/dist/js/types/email/announcement.type.js.map +1 -0
- package/dist/js/types/email/api.key.created.type.d.ts +14 -0
- package/dist/js/types/email/api.key.created.type.d.ts.map +1 -0
- package/dist/js/types/email/api.key.created.type.js +2 -0
- package/dist/js/types/email/api.key.created.type.js.map +1 -0
- package/dist/js/types/email/api.key.revoked.type.d.ts +14 -0
- package/dist/js/types/email/api.key.revoked.type.d.ts.map +1 -0
- package/dist/js/types/email/api.key.revoked.type.js +2 -0
- package/dist/js/types/email/api.key.revoked.type.js.map +1 -0
- package/dist/js/types/email/contact.form.type.d.ts +11 -0
- package/dist/js/types/email/contact.form.type.d.ts.map +1 -0
- package/dist/js/types/email/contact.form.type.js +2 -0
- package/dist/js/types/email/contact.form.type.js.map +1 -0
- package/dist/js/types/email/daily.report.type.d.ts +14 -0
- package/dist/js/types/email/daily.report.type.d.ts.map +1 -0
- package/dist/js/types/email/daily.report.type.js +2 -0
- package/dist/js/types/email/daily.report.type.js.map +1 -0
- package/dist/js/types/email/email.changed.type.d.ts +12 -0
- package/dist/js/types/email/email.changed.type.d.ts.map +1 -0
- package/dist/js/types/email/email.changed.type.js +2 -0
- package/dist/js/types/email/email.changed.type.js.map +1 -0
- package/dist/js/types/email/feedback.type.d.ts +11 -0
- package/dist/js/types/email/feedback.type.d.ts.map +1 -0
- package/dist/js/types/email/feedback.type.js +2 -0
- package/dist/js/types/email/feedback.type.js.map +1 -0
- package/dist/js/types/email/index.d.ts +46 -0
- package/dist/js/types/email/index.d.ts.map +1 -0
- package/dist/js/types/email/index.js +2 -0
- package/dist/js/types/email/index.js.map +1 -0
- package/dist/js/types/email/invoice.type.d.ts +14 -0
- package/dist/js/types/email/invoice.type.d.ts.map +1 -0
- package/dist/js/types/email/invoice.type.js +2 -0
- package/dist/js/types/email/invoice.type.js.map +1 -0
- package/dist/js/types/email/login.alert.type.d.ts +12 -0
- package/dist/js/types/email/login.alert.type.d.ts.map +1 -0
- package/dist/js/types/email/login.alert.type.js +2 -0
- package/dist/js/types/email/login.alert.type.js.map +1 -0
- package/dist/js/types/email/magic.link.type.d.ts +11 -0
- package/dist/js/types/email/magic.link.type.d.ts.map +1 -0
- package/dist/js/types/email/magic.link.type.js +2 -0
- package/dist/js/types/email/magic.link.type.js.map +1 -0
- package/dist/js/types/email/maintenance.type.d.ts +13 -0
- package/dist/js/types/email/maintenance.type.d.ts.map +1 -0
- package/dist/js/types/email/maintenance.type.js +2 -0
- package/dist/js/types/email/maintenance.type.js.map +1 -0
- package/dist/js/types/email/member.added.type.d.ts +14 -0
- package/dist/js/types/email/member.added.type.d.ts.map +1 -0
- package/dist/js/types/email/member.added.type.js +2 -0
- package/dist/js/types/email/member.added.type.js.map +1 -0
- package/dist/js/types/email/member.removed.type.d.ts +14 -0
- package/dist/js/types/email/member.removed.type.d.ts.map +1 -0
- package/dist/js/types/email/member.removed.type.js +2 -0
- package/dist/js/types/email/member.removed.type.js.map +1 -0
- package/dist/js/types/email/mention.type.d.ts +12 -0
- package/dist/js/types/email/mention.type.d.ts.map +1 -0
- package/dist/js/types/email/mention.type.js +2 -0
- package/dist/js/types/email/mention.type.js.map +1 -0
- package/dist/js/types/email/monthly.report.type.d.ts +14 -0
- package/dist/js/types/email/monthly.report.type.d.ts.map +1 -0
- package/dist/js/types/email/monthly.report.type.js +2 -0
- package/dist/js/types/email/monthly.report.type.js.map +1 -0
- package/dist/js/types/email/new.comment.type.d.ts +12 -0
- package/dist/js/types/email/new.comment.type.d.ts.map +1 -0
- package/dist/js/types/email/new.comment.type.js +2 -0
- package/dist/js/types/email/new.comment.type.js.map +1 -0
- package/dist/js/types/email/new.device.login.type.d.ts +11 -0
- package/dist/js/types/email/new.device.login.type.d.ts.map +1 -0
- package/dist/js/types/email/new.device.login.type.js +2 -0
- package/dist/js/types/email/new.device.login.type.js.map +1 -0
- package/dist/js/types/email/new.message.type.d.ts +11 -0
- package/dist/js/types/email/new.message.type.d.ts.map +1 -0
- package/dist/js/types/email/new.message.type.js +2 -0
- package/dist/js/types/email/new.message.type.js.map +1 -0
- package/dist/js/types/email/notification.type.d.ts +13 -0
- package/dist/js/types/email/notification.type.d.ts.map +1 -0
- package/dist/js/types/email/notification.type.js +2 -0
- package/dist/js/types/email/notification.type.js.map +1 -0
- package/dist/js/types/email/order.cancelled.type.d.ts +12 -0
- package/dist/js/types/email/order.cancelled.type.d.ts.map +1 -0
- package/dist/js/types/email/order.cancelled.type.js +2 -0
- package/dist/js/types/email/order.cancelled.type.js.map +1 -0
- package/dist/js/types/email/order.confirmation.type.d.ts +13 -0
- package/dist/js/types/email/order.confirmation.type.d.ts.map +1 -0
- package/dist/js/types/email/order.confirmation.type.js +2 -0
- package/dist/js/types/email/order.confirmation.type.js.map +1 -0
- package/dist/js/types/email/order.delivered.type.d.ts +12 -0
- package/dist/js/types/email/order.delivered.type.d.ts.map +1 -0
- package/dist/js/types/email/order.delivered.type.js +2 -0
- package/dist/js/types/email/order.delivered.type.js.map +1 -0
- package/dist/js/types/email/order.shipped.type.d.ts +14 -0
- package/dist/js/types/email/order.shipped.type.d.ts.map +1 -0
- package/dist/js/types/email/order.shipped.type.js +2 -0
- package/dist/js/types/email/order.shipped.type.js.map +1 -0
- package/dist/js/types/email/organization.invitation.type.d.ts +13 -0
- package/dist/js/types/email/organization.invitation.type.d.ts.map +1 -0
- package/dist/js/types/email/organization.invitation.type.js +2 -0
- package/dist/js/types/email/organization.invitation.type.js.map +1 -0
- package/dist/js/types/email/otp.verification.type.d.ts +11 -0
- package/dist/js/types/email/otp.verification.type.d.ts.map +1 -0
- package/dist/js/types/email/otp.verification.type.js +2 -0
- package/dist/js/types/email/otp.verification.type.js.map +1 -0
- package/dist/js/types/email/password.changed.type.d.ts +12 -0
- package/dist/js/types/email/password.changed.type.d.ts.map +1 -0
- package/dist/js/types/email/password.changed.type.js +2 -0
- package/dist/js/types/email/password.changed.type.js.map +1 -0
- package/dist/js/types/email/password.expiring.type.d.ts +12 -0
- package/dist/js/types/email/password.expiring.type.d.ts.map +1 -0
- package/dist/js/types/email/password.expiring.type.js +2 -0
- package/dist/js/types/email/password.expiring.type.js.map +1 -0
- package/dist/js/types/email/password.reset.type.d.ts +11 -0
- package/dist/js/types/email/password.reset.type.d.ts.map +1 -0
- package/dist/js/types/email/password.reset.type.js +2 -0
- package/dist/js/types/email/password.reset.type.js.map +1 -0
- package/dist/js/types/email/payment.failed.type.d.ts +14 -0
- package/dist/js/types/email/payment.failed.type.d.ts.map +1 -0
- package/dist/js/types/email/payment.failed.type.js +2 -0
- package/dist/js/types/email/payment.failed.type.js.map +1 -0
- package/dist/js/types/email/payment.success.type.d.ts +13 -0
- package/dist/js/types/email/payment.success.type.d.ts.map +1 -0
- package/dist/js/types/email/payment.success.type.js +2 -0
- package/dist/js/types/email/payment.success.type.js.map +1 -0
- package/dist/js/types/email/receipt.type.d.ts +14 -0
- package/dist/js/types/email/receipt.type.d.ts.map +1 -0
- package/dist/js/types/email/receipt.type.js +2 -0
- package/dist/js/types/email/receipt.type.js.map +1 -0
- package/dist/js/types/email/reminder.type.d.ts +12 -0
- package/dist/js/types/email/reminder.type.d.ts.map +1 -0
- package/dist/js/types/email/reminder.type.js +2 -0
- package/dist/js/types/email/reminder.type.js.map +1 -0
- package/dist/js/types/email/security.alert.type.d.ts +12 -0
- package/dist/js/types/email/security.alert.type.d.ts.map +1 -0
- package/dist/js/types/email/security.alert.type.js +2 -0
- package/dist/js/types/email/security.alert.type.js.map +1 -0
- package/dist/js/types/email/static-config.type.d.ts +8 -0
- package/dist/js/types/email/static-config.type.d.ts.map +1 -0
- package/dist/js/types/email/static-config.type.js +2 -0
- package/dist/js/types/email/static-config.type.js.map +1 -0
- package/dist/js/types/email/subscription.cancelled.type.d.ts +12 -0
- package/dist/js/types/email/subscription.cancelled.type.d.ts.map +1 -0
- package/dist/js/types/email/subscription.cancelled.type.js +2 -0
- package/dist/js/types/email/subscription.cancelled.type.js.map +1 -0
- package/dist/js/types/email/subscription.created.type.d.ts +13 -0
- package/dist/js/types/email/subscription.created.type.d.ts.map +1 -0
- package/dist/js/types/email/subscription.created.type.js +2 -0
- package/dist/js/types/email/subscription.created.type.js.map +1 -0
- package/dist/js/types/email/subscription.renewed.type.d.ts +14 -0
- package/dist/js/types/email/subscription.renewed.type.d.ts.map +1 -0
- package/dist/js/types/email/subscription.renewed.type.js +2 -0
- package/dist/js/types/email/subscription.renewed.type.js.map +1 -0
- package/dist/js/types/email/support.ticket.type.d.ts +14 -0
- package/dist/js/types/email/support.ticket.type.d.ts.map +1 -0
- package/dist/js/types/email/support.ticket.type.js +2 -0
- package/dist/js/types/email/support.ticket.type.js.map +1 -0
- package/dist/js/types/email/team.invitation.type.d.ts +13 -0
- package/dist/js/types/email/team.invitation.type.d.ts.map +1 -0
- package/dist/js/types/email/team.invitation.type.js +2 -0
- package/dist/js/types/email/team.invitation.type.js.map +1 -0
- package/dist/js/types/email/trial.ending.type.d.ts +13 -0
- package/dist/js/types/email/trial.ending.type.d.ts.map +1 -0
- package/dist/js/types/email/trial.ending.type.js +2 -0
- package/dist/js/types/email/trial.ending.type.js.map +1 -0
- package/dist/js/types/email/two.factor.code.type.d.ts +11 -0
- package/dist/js/types/email/two.factor.code.type.d.ts.map +1 -0
- package/dist/js/types/email/two.factor.code.type.js +2 -0
- package/dist/js/types/email/two.factor.code.type.js.map +1 -0
- package/dist/js/types/email/verify.email.type.d.ts +11 -0
- package/dist/js/types/email/verify.email.type.d.ts.map +1 -0
- package/dist/js/types/email/verify.email.type.js +2 -0
- package/dist/js/types/email/verify.email.type.js.map +1 -0
- package/dist/js/types/email/weekly.report.type.d.ts +14 -0
- package/dist/js/types/email/weekly.report.type.d.ts.map +1 -0
- package/dist/js/types/email/weekly.report.type.js +2 -0
- package/dist/js/types/email/weekly.report.type.js.map +1 -0
- package/dist/js/types/email/welcome.type.d.ts +10 -0
- package/dist/js/types/email/welcome.type.d.ts.map +1 -0
- package/dist/js/types/email/welcome.type.js +2 -0
- package/dist/js/types/email/welcome.type.js.map +1 -0
- package/dist/js/types/email.js +0 -13
- package/dist/js/types/email.js.map +1 -1
- package/dist/js/utils/getErrorDetail.d.ts +1 -1
- package/dist/js/utils/handleJWT.js +1 -1
- package/dist/js/utils/handleJWT.js.map +1 -1
- package/dist/js/utils/response.js +3 -3
- package/dist/js/utils/response.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalize an IP address.
|
|
3
|
+
*
|
|
4
|
+
* Node may return IPv4 addresses as IPv4-mapped IPv6 addresses:
|
|
5
|
+
*
|
|
6
|
+
* ::ffff:127.0.0.1
|
|
7
|
+
* ::ffff:192.168.1.10
|
|
8
|
+
*
|
|
9
|
+
* Converting them makes local/private IP detection much easier.
|
|
10
|
+
*/
|
|
11
|
+
function normalizeIp(ip) {
|
|
12
|
+
const value = ip.trim();
|
|
13
|
+
if (value.startsWith("::ffff:")) {
|
|
14
|
+
return value.slice(7);
|
|
15
|
+
}
|
|
16
|
+
return value;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Whether an IP belongs to the local machine.
|
|
20
|
+
*/
|
|
21
|
+
function isLocalhostIp(ip) {
|
|
22
|
+
const normalized = normalizeIp(ip).toLowerCase();
|
|
23
|
+
return (normalized === "127.0.0.1" ||
|
|
24
|
+
normalized === "::1" ||
|
|
25
|
+
normalized === "0.0.0.0" ||
|
|
26
|
+
normalized === "::");
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Whether an IPv4 address belongs to a private/local network.
|
|
30
|
+
*
|
|
31
|
+
* Private IPv4 ranges:
|
|
32
|
+
*
|
|
33
|
+
* 10.0.0.0/8
|
|
34
|
+
* 172.16.0.0/12
|
|
35
|
+
* 192.168.0.0/16
|
|
36
|
+
*/
|
|
37
|
+
function isPrivateIpv4(ip) {
|
|
38
|
+
const normalized = normalizeIp(ip);
|
|
39
|
+
const parts = normalized.split(".").map(Number);
|
|
40
|
+
if (parts.length !== 4 ||
|
|
41
|
+
parts.some((part) => !Number.isInteger(part) || part < 0 || part > 255)) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
const [a, b] = parts;
|
|
45
|
+
return (a === 10 ||
|
|
46
|
+
(a === 172 && b >= 16 && b <= 31) ||
|
|
47
|
+
(a === 192 && b === 168));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Whether an IP is a private/local address.
|
|
51
|
+
*/
|
|
52
|
+
function isPrivateIp(ip) {
|
|
53
|
+
const normalized = normalizeIp(ip).toLowerCase();
|
|
54
|
+
// IPv4 private ranges.
|
|
55
|
+
if (isPrivateIpv4(normalized)) {
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
// IPv6 unique-local addresses: fc00::/7
|
|
59
|
+
if (/^f[cd][0-9a-f]{2}:/i.test(normalized)) {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
// IPv6 link-local: fe80::/10
|
|
63
|
+
if (/^fe[89ab][0-9a-f]{2}:/i.test(normalized)) {
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Extract a single User-Agent value from the request headers.
|
|
70
|
+
*/
|
|
71
|
+
function getUserAgent(req) {
|
|
72
|
+
const value = req.headers["user-agent"];
|
|
73
|
+
if (typeof value === "string") {
|
|
74
|
+
return value;
|
|
75
|
+
}
|
|
76
|
+
if (Array.isArray(value)) {
|
|
77
|
+
return value[0];
|
|
78
|
+
}
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Client IP address.
|
|
83
|
+
*
|
|
84
|
+
* Priority:
|
|
85
|
+
*
|
|
86
|
+
* 1. x-forwarded-for
|
|
87
|
+
* 2. framework-resolved req.ip
|
|
88
|
+
* 3. req.socket.remoteAddress
|
|
89
|
+
* 4. req.connection.remoteAddress
|
|
90
|
+
*
|
|
91
|
+
* NOTE:
|
|
92
|
+
* x-forwarded-for should only be trusted when your application is behind
|
|
93
|
+
* a trusted proxy/load balancer and proxy trust is configured correctly.
|
|
94
|
+
*/
|
|
95
|
+
export function getClientIp(req) {
|
|
96
|
+
const forwarded = req.headers["x-forwarded-for"];
|
|
97
|
+
if (typeof forwarded === "string") {
|
|
98
|
+
const firstIp = forwarded
|
|
99
|
+
.split(",")
|
|
100
|
+
.map((ip) => ip.trim())
|
|
101
|
+
.find(Boolean);
|
|
102
|
+
if (firstIp) {
|
|
103
|
+
return normalizeIp(firstIp);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (Array.isArray(forwarded)) {
|
|
107
|
+
const firstIp = forwarded
|
|
108
|
+
.map((ip) => ip.trim())
|
|
109
|
+
.find(Boolean);
|
|
110
|
+
if (firstIp) {
|
|
111
|
+
return normalizeIp(firstIp);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (req.ip) {
|
|
115
|
+
return normalizeIp(req.ip);
|
|
116
|
+
}
|
|
117
|
+
if (req.socket?.remoteAddress) {
|
|
118
|
+
return normalizeIp(req.socket.remoteAddress);
|
|
119
|
+
}
|
|
120
|
+
if (req.connection?.remoteAddress) {
|
|
121
|
+
return normalizeIp(req.connection.remoteAddress);
|
|
122
|
+
}
|
|
123
|
+
return "Unknown";
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Human-readable device name derived from User-Agent.
|
|
127
|
+
*
|
|
128
|
+
* This intentionally uses lightweight detection so Forge does not need
|
|
129
|
+
* a UA parsing dependency.
|
|
130
|
+
*/
|
|
131
|
+
export function getDeviceName(req) {
|
|
132
|
+
const userAgent = getUserAgent(req);
|
|
133
|
+
if (!userAgent) {
|
|
134
|
+
return "Unknown device";
|
|
135
|
+
}
|
|
136
|
+
if (/postmanruntime/i.test(userAgent)) {
|
|
137
|
+
return "Postman";
|
|
138
|
+
}
|
|
139
|
+
if (/ipad/i.test(userAgent)) {
|
|
140
|
+
return "iPad";
|
|
141
|
+
}
|
|
142
|
+
if (/iphone/i.test(userAgent)) {
|
|
143
|
+
return "iPhone";
|
|
144
|
+
}
|
|
145
|
+
if (/android/i.test(userAgent)) {
|
|
146
|
+
if (/mobile/i.test(userAgent)) {
|
|
147
|
+
return "Android phone";
|
|
148
|
+
}
|
|
149
|
+
return "Android device";
|
|
150
|
+
}
|
|
151
|
+
if (/windows phone/i.test(userAgent)) {
|
|
152
|
+
return "Windows phone";
|
|
153
|
+
}
|
|
154
|
+
if (/macintosh|mac os x/i.test(userAgent)) {
|
|
155
|
+
return "Mac";
|
|
156
|
+
}
|
|
157
|
+
if (/windows/i.test(userAgent)) {
|
|
158
|
+
return "Windows PC";
|
|
159
|
+
}
|
|
160
|
+
if (/linux/i.test(userAgent)) {
|
|
161
|
+
return "Linux device";
|
|
162
|
+
}
|
|
163
|
+
return "Unknown device";
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Get a human-readable location for an IP.
|
|
167
|
+
*
|
|
168
|
+
* Localhost:
|
|
169
|
+
* ::1 / 127.0.0.1 -> "Localhost"
|
|
170
|
+
*
|
|
171
|
+
* Private LAN:
|
|
172
|
+
* 192.168.x.x
|
|
173
|
+
* 10.x.x.x
|
|
174
|
+
* 172.16.x.x - 172.31.x.x
|
|
175
|
+
*
|
|
176
|
+
* These addresses cannot be geolocated because they are not globally
|
|
177
|
+
* routable. We therefore return a useful development/network label.
|
|
178
|
+
*
|
|
179
|
+
* Public IPs require a GeoIP provider/database.
|
|
180
|
+
*/
|
|
181
|
+
export async function getLocationFromIp(ip) {
|
|
182
|
+
if (!ip || ip === "Unknown") {
|
|
183
|
+
return "Unknown location";
|
|
184
|
+
}
|
|
185
|
+
const normalized = normalizeIp(ip);
|
|
186
|
+
if (isLocalhostIp(normalized)) {
|
|
187
|
+
return "Localhost";
|
|
188
|
+
}
|
|
189
|
+
if (isPrivateIp(normalized)) {
|
|
190
|
+
return "Local network";
|
|
191
|
+
}
|
|
192
|
+
// TODO: Add a GeoIP provider here for public IP addresses.
|
|
193
|
+
//
|
|
194
|
+
// Example:
|
|
195
|
+
//
|
|
196
|
+
// const res = await fetch(`https://ipapi.co/${normalized}/json/`);
|
|
197
|
+
// const data = await res.json();
|
|
198
|
+
//
|
|
199
|
+
// if (data.city && data.country_name) {
|
|
200
|
+
// return `${data.city}, ${data.country_name}`;
|
|
201
|
+
// }
|
|
202
|
+
return "Unknown location";
|
|
203
|
+
}
|
|
204
|
+
/** Current year for email footer/copyright fields. */
|
|
205
|
+
export function getCurrentYear() {
|
|
206
|
+
return new Date().getFullYear();
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Current date/time formatted for human-readable email fields.
|
|
210
|
+
*/
|
|
211
|
+
export function getFormattedNow(locale = "en-US", timeZone) {
|
|
212
|
+
return new Date().toLocaleString(locale, {
|
|
213
|
+
dateStyle: "long",
|
|
214
|
+
timeStyle: "short",
|
|
215
|
+
timeZone,
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Compute all automatically-derived email fields.
|
|
220
|
+
*/
|
|
221
|
+
export async function getAutoDerivedFields(req) {
|
|
222
|
+
const ipAddress = getClientIp(req);
|
|
223
|
+
const deviceName = getDeviceName(req);
|
|
224
|
+
const location = await getLocationFromIp(ipAddress);
|
|
225
|
+
return {
|
|
226
|
+
currentYear: getCurrentYear(),
|
|
227
|
+
ipAddress,
|
|
228
|
+
deviceName,
|
|
229
|
+
location,
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
//# sourceMappingURL=auto-fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-fields.js","sourceRoot":"","sources":["../../../../src/js/email/utils/auto-fields.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fields the framework can figure out on its own at send time — from the
|
|
3
|
+
* incoming request or the system clock — so the developer using the
|
|
4
|
+
* framework never has to pass these in manually.
|
|
5
|
+
*
|
|
6
|
+
* Field -> where it's used (X/45 templates):
|
|
7
|
+
* currentYear -> every template (footer copyright year)
|
|
8
|
+
* ipAddress -> login-alert, new-device-login, password-changed
|
|
9
|
+
* deviceName -> login-alert, new-device-login, password-changed
|
|
10
|
+
* location -> login-alert, new-device-login, password-changed, security-alert
|
|
11
|
+
*/
|
|
12
|
+
export type AutoDerivedEmailFields = {
|
|
13
|
+
currentYear: number;
|
|
14
|
+
ipAddress: string;
|
|
15
|
+
deviceName: string;
|
|
16
|
+
location: string;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=auto-fields.type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-fields.type.d.ts","sourceRoot":"","sources":["../../../../src/js/email/utils/auto-fields.type.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-fields.type.js","sourceRoot":"","sources":["../../../../src/js/email/utils/auto-fields.type.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emailTemplates.d.ts","sourceRoot":"","sources":["../../../../src/js/email/utils/emailTemplates.ts"],"names":[],"mappings":"AAiDA,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAuDL,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { accountCreated, accountDeleted, accountUpdated, announcement, apiKeyCreated, apiKeyRevoked, contactForm, dailyReport, emailChanged, feedback, invoice, loginAlert, magicLink, maintenance, memberAdded, memberRemoved, mention, monthlyReport, newComment, newDeviceLogin, newMessage, notification, orderCancelled, orderConfirmation, orderDelivered, orderShipped, organizationInvitation, passwordChanged, passwordExpiring, passwordReset, paymentFailed, paymentSuccess, receipt, reminder, securityAlert, subscriptionCancelled, subscriptionCreated, subscriptionRenewed, supportTicket, teamInvitation, trialEnding, twoFactorCode, verifyEmail, weeklyReport, welcome, } from "../templates/index.js";
|
|
2
|
+
export const emailTemplates = {
|
|
3
|
+
welcome: welcome,
|
|
4
|
+
"verify-email": verifyEmail,
|
|
5
|
+
"password-reset": passwordReset,
|
|
6
|
+
"password-changed": passwordChanged,
|
|
7
|
+
"login-alert": loginAlert,
|
|
8
|
+
"two-factor-code": twoFactorCode,
|
|
9
|
+
"magic-link": magicLink,
|
|
10
|
+
"account-created": accountCreated,
|
|
11
|
+
"account-updated": accountUpdated,
|
|
12
|
+
"account-deleted": accountDeleted,
|
|
13
|
+
"email-changed": emailChanged,
|
|
14
|
+
"team-invitation": teamInvitation,
|
|
15
|
+
"organization-invitation": organizationInvitation,
|
|
16
|
+
"member-added": memberAdded,
|
|
17
|
+
"member-removed": memberRemoved,
|
|
18
|
+
"new-message": newMessage,
|
|
19
|
+
"new-comment": newComment,
|
|
20
|
+
mention: mention,
|
|
21
|
+
notification: notification,
|
|
22
|
+
reminder: reminder,
|
|
23
|
+
invoice: invoice,
|
|
24
|
+
receipt: receipt,
|
|
25
|
+
"payment-success": paymentSuccess,
|
|
26
|
+
"payment-failed": paymentFailed,
|
|
27
|
+
"subscription-created": subscriptionCreated,
|
|
28
|
+
"subscription-renewed": subscriptionRenewed,
|
|
29
|
+
"subscription-cancelled": subscriptionCancelled,
|
|
30
|
+
"trial-ending": trialEnding,
|
|
31
|
+
"order-confirmation": orderConfirmation,
|
|
32
|
+
"order-shipped": orderShipped,
|
|
33
|
+
"order-delivered": orderDelivered,
|
|
34
|
+
"order-cancelled": orderCancelled,
|
|
35
|
+
"password-expiring": passwordExpiring,
|
|
36
|
+
"security-alert": securityAlert,
|
|
37
|
+
"new-device-login": newDeviceLogin,
|
|
38
|
+
"api-key-created": apiKeyCreated,
|
|
39
|
+
"api-key-revoked": apiKeyRevoked,
|
|
40
|
+
"contact-form": contactForm,
|
|
41
|
+
"support-ticket": supportTicket,
|
|
42
|
+
feedback: feedback,
|
|
43
|
+
"daily-report": dailyReport,
|
|
44
|
+
"weekly-report": weeklyReport,
|
|
45
|
+
"monthly-report": monthlyReport,
|
|
46
|
+
maintenance: maintenance,
|
|
47
|
+
announcement: announcement,
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=emailTemplates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emailTemplates.js","sourceRoot":"","sources":["../../../../src/js/email/utils/emailTemplates.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,aAAa,EACb,OAAO,EACP,aAAa,EACb,UAAU,EACV,cAAc,EACd,UAAU,EACV,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,cAAc,EACd,OAAO,EACP,QAAQ,EACR,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EACZ,OAAO,GACR,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,MAAM,cAAc,GAAwB;IACjD,OAAO,EAAE,OAAO;IAChB,cAAc,EAAE,WAAW;IAC3B,gBAAgB,EAAE,aAAa;IAC/B,kBAAkB,EAAE,eAAe;IACnC,aAAa,EAAE,UAAU;IACzB,iBAAiB,EAAE,aAAa;IAChC,YAAY,EAAE,SAAS;IAEvB,iBAAiB,EAAE,cAAc;IACjC,iBAAiB,EAAE,cAAc;IACjC,iBAAiB,EAAE,cAAc;IACjC,eAAe,EAAE,YAAY;IAE7B,iBAAiB,EAAE,cAAc;IACjC,yBAAyB,EAAE,sBAAsB;IACjD,cAAc,EAAE,WAAW;IAC3B,gBAAgB,EAAE,aAAa;IAE/B,aAAa,EAAE,UAAU;IACzB,aAAa,EAAE,UAAU;IACzB,OAAO,EAAE,OAAO;IAChB,YAAY,EAAE,YAAY;IAC1B,QAAQ,EAAE,QAAQ;IAElB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,OAAO;IAChB,iBAAiB,EAAE,cAAc;IACjC,gBAAgB,EAAE,aAAa;IAC/B,sBAAsB,EAAE,mBAAmB;IAC3C,sBAAsB,EAAE,mBAAmB;IAC3C,wBAAwB,EAAE,qBAAqB;IAC/C,cAAc,EAAE,WAAW;IAE3B,oBAAoB,EAAE,iBAAiB;IACvC,eAAe,EAAE,YAAY;IAC7B,iBAAiB,EAAE,cAAc;IACjC,iBAAiB,EAAE,cAAc;IAEjC,mBAAmB,EAAE,gBAAgB;IACrC,gBAAgB,EAAE,aAAa;IAC/B,kBAAkB,EAAE,cAAc;IAClC,iBAAiB,EAAE,aAAa;IAChC,iBAAiB,EAAE,aAAa;IAEhC,cAAc,EAAE,WAAW;IAC3B,gBAAgB,EAAE,aAAa;IAC/B,QAAQ,EAAE,QAAQ;IAElB,cAAc,EAAE,WAAW;IAC3B,eAAe,EAAE,YAAY;IAC7B,gBAAgB,EAAE,aAAa;IAE/B,WAAW,EAAE,WAAW;IACxB,YAAY,EAAE,YAAY;CACc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleEmailTemplateConfig.d.ts","sourceRoot":"","sources":["../../../../src/js/email/utils/handleEmailTemplateConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAIlE,QAAA,MAAM,yBAAyB,GAC7B,QAAQ,GAAG,EACX,SAAS,aAAa,iBAmDvB,CAAC;AACF,eAAe,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import AppLog from "../../utils/AppLog.js";
|
|
2
|
+
import { getAutoDerivedFields, getCurrentYear } from "./auto-fields.js";
|
|
3
|
+
const handleEmailTemplateConfig = async (config, context) => {
|
|
4
|
+
for (const [key, value] of Object.entries(config)) {
|
|
5
|
+
// current-date
|
|
6
|
+
if (value === "current-date") {
|
|
7
|
+
config[key] = new Date().toLocaleDateString("en-PK", {
|
|
8
|
+
dateStyle: "full",
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
// current-time
|
|
12
|
+
if (value === "current-time") {
|
|
13
|
+
config[key] = new Date().toLocaleTimeString("en-PK", {
|
|
14
|
+
timeStyle: "medium",
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
// function
|
|
18
|
+
if (typeof value === "function") {
|
|
19
|
+
try {
|
|
20
|
+
const result = await value(context);
|
|
21
|
+
config[key] = result;
|
|
22
|
+
if (result === undefined || result === null) {
|
|
23
|
+
AppLog("x", "emailTemplateConfig", `Invalid configuration for '${key}'. Make sure the function returns correct value in routes -> route -> actions.`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
console.error(`Function '${key}' failed:`, error);
|
|
28
|
+
throw error;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
// autoDerivedFields
|
|
33
|
+
const autoDerivedFields = await getAutoDerivedFields({
|
|
34
|
+
headers: context.req.headers,
|
|
35
|
+
connection: context.req.connection,
|
|
36
|
+
ip: context.req.ip,
|
|
37
|
+
ips: context.req.ips,
|
|
38
|
+
socket: context.req.socket,
|
|
39
|
+
});
|
|
40
|
+
// return spread config
|
|
41
|
+
return {
|
|
42
|
+
...config,
|
|
43
|
+
...autoDerivedFields,
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
export default handleEmailTemplateConfig;
|
|
47
|
+
//# sourceMappingURL=handleEmailTemplateConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleEmailTemplateConfig.js","sourceRoot":"","sources":["../../../../src/js/email/utils/handleEmailTemplateConfig.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAExE,MAAM,yBAAyB,GAAG,KAAK,EACrC,MAAW,EACX,OAAsB,EACtB,EAAE;IACF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,eAAe;QACf,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE;gBACnD,SAAS,EAAE,MAAM;aAClB,CAAC,CAAC;QACL,CAAC;QAED,eAAe;QACf,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE;gBACnD,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAC;QACL,CAAC;QAED,WAAW;QACX,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;gBACpC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;gBAErB,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBAC5C,MAAM,CACJ,GAAG,EACH,qBAAqB,EACrB,8BAA8B,GAAG,gFAAgF,CAClH,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,WAAW,EAAE,KAAK,CAAC,CAAC;gBAClD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC;QACnD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO;QAC5B,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;QAClC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE;QAClB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG;QACpB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM;KAC3B,CAAC,CAAC;IAEH,uBAAuB;IACvB,OAAO;QACL,GAAG,MAAM;QACT,GAAG,iBAAiB;KACrB,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,yBAAyB,CAAC"}
|
package/dist/js/lib/db.js
CHANGED
|
@@ -11,7 +11,11 @@ const connectLocally = async (databaseName = "starkForge") => {
|
|
|
11
11
|
AppLog("x", "db", "Error while connecting to database! Check if MongoDB is installed locally and is enabled.");
|
|
12
12
|
process.exit(1);
|
|
13
13
|
}
|
|
14
|
-
AppLog(
|
|
14
|
+
// AppLog(
|
|
15
|
+
// "check",
|
|
16
|
+
// "db",
|
|
17
|
+
// `Connected to OFFLINE-DB! Database name: '${databaseName}'`,
|
|
18
|
+
// );
|
|
15
19
|
};
|
|
16
20
|
const connectDB = async ({ isOffline, mongoDBURI, databaseName, }) => {
|
|
17
21
|
try {
|
package/dist/js/lib/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/js/lib/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,MAAM,cAAc,GAAG,KAAK,EAAE,YAAY,GAAG,YAAY,EAAE,EAAE;IAC3D,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,OAAO,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,CACJ,GAAG,EACH,IAAI,EACJ,2FAA2F,CAC5F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/js/lib/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,MAAM,cAAc,GAAG,KAAK,EAAE,YAAY,GAAG,YAAY,EAAE,EAAE;IAC3D,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,OAAO,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,CACJ,GAAG,EACH,IAAI,EACJ,2FAA2F,CAC5F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,UAAU;IACV,aAAa;IACb,UAAU;IACV,iEAAiE;IACjE,KAAK;AACP,CAAC,CAAC;AAQF,MAAM,SAAS,GAAG,KAAK,EAAE,EACvB,SAAS,EACT,UAAU,EACV,YAAY,GACI,EAAE,EAAE;IACpB,IAAI,CAAC;QACH,IAAI,SAAS;YAAE,OAAO,cAAc,CAAC,YAAY,CAAC,CAAC;QAEnD,IAAI,CAAC,UAAU;YACb,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAE5D,IAAI,CAAC,YAAY;YAAE,YAAY,GAAG,YAAY,CAAC;QAE/C,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,0BAA0B,CAAC,CAAC;QACtD,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,UAAU,IAAI,YAAY,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,kBAAkB,GAAG,QAAQ,CAAC;QACtC,MAAM,CACJ,OAAO,EACP,IAAI,EACJ,2CAA2C,YAAY,GAAG,CAC3D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,qCAAqC,CAAC,CAAC;QACzD,MAAM,CAAC,GAAG,EAAE,IAAI,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF,SAAS;AACT,eAAe,SAAS,CAAC"}
|
|
@@ -70,7 +70,7 @@ const createModel = (name, definition, route) => {
|
|
|
70
70
|
}
|
|
71
71
|
const cleanDefinition = normalizeDefinition(definition);
|
|
72
72
|
const schema = buildSchema(cleanDefinition);
|
|
73
|
-
AppLog("db", "modelFactory", `${name} model created!`);
|
|
73
|
+
// AppLog("db", "modelFactory", `${name} model created!`);
|
|
74
74
|
return mongoose.model(name, schema);
|
|
75
75
|
};
|
|
76
76
|
export default createModel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.factory.js","sourceRoot":"","sources":["../../../src/js/lib/model.factory.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"model.factory.js","sourceRoot":"","sources":["../../../src/js/lib/model.factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,25 @@
|
|
|
1
1
|
import type { NextFunction, Request, Response } from "express";
|
|
2
2
|
import type { Route } from "../types/Collection.js";
|
|
3
|
-
export declare const findUser: (id: string, routeObj: Route, userModelName: string) => Promise<
|
|
3
|
+
export declare const findUser: (id: string, routeObj: Route, userModelName: string) => Promise<{
|
|
4
|
+
success: boolean;
|
|
5
|
+
message: {
|
|
6
|
+
message: string;
|
|
7
|
+
code: string;
|
|
8
|
+
statusCode: number;
|
|
9
|
+
hint: string;
|
|
10
|
+
details: {
|
|
11
|
+
handler: import("../types/Route.js").Handler;
|
|
12
|
+
method: import("../types/Route.js").RouteMethod;
|
|
13
|
+
path: import("../types/Routepath.js").RoutePath | ({} & string);
|
|
14
|
+
model: string | undefined;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
data?: never;
|
|
18
|
+
} | {
|
|
19
|
+
success: boolean;
|
|
20
|
+
data: any;
|
|
21
|
+
message?: never;
|
|
22
|
+
}>;
|
|
4
23
|
declare const protect: (routeObj: Route) => (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
5
24
|
export default protect;
|
|
6
25
|
//# sourceMappingURL=auth.middleware.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.middleware.d.ts","sourceRoot":"","sources":["../../../src/js/middleware/auth.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAO/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAGpD,eAAO,MAAM,QAAQ,GACnB,IAAI,MAAM,EACV,UAAU,KAAK,EACf,eAAe,MAAM,
|
|
1
|
+
{"version":3,"file":"auth.middleware.d.ts","sourceRoot":"","sources":["../../../src/js/middleware/auth.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAO/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAGpD,eAAO,MAAM,QAAQ,GACnB,IAAI,MAAM,EACV,UAAU,KAAK,EACf,eAAe,MAAM;;;;;;;;;;;;;;;;;;;EAmCtB,CAAC;AAEF,QAAA,MAAM,OAAO,GACV,UAAU,KAAK,MACT,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,OAAO,CAAC,IAAI,CAgEpE,CAAC;AAEJ,eAAe,OAAO,CAAC"}
|
|
@@ -22,23 +22,25 @@ export const findUser = async (id, routeObj, userModelName) => {
|
|
|
22
22
|
details: getErrorDetail(routeObj),
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
|
-
const user = await Model.findById(id).select("+_id +email +role");
|
|
26
|
-
|
|
25
|
+
const user = await Model.findById(id).select("+_id +email +role").lean();
|
|
26
|
+
if (!user)
|
|
27
|
+
return {
|
|
28
|
+
success: false,
|
|
29
|
+
message: {
|
|
30
|
+
message: "User associated with the access token was not found",
|
|
31
|
+
code: "ACCESS_USER_NOT_FOUND",
|
|
32
|
+
statusCode: 401,
|
|
33
|
+
hint: "Sign in again with an existing account.",
|
|
34
|
+
details: getErrorDetail(routeObj),
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
return { success: true, data: user };
|
|
27
38
|
};
|
|
28
39
|
const protect = (routeObj) => async (req, res, next) => {
|
|
29
40
|
try {
|
|
30
|
-
const { userModelName,
|
|
31
|
-
const { verifyAccessUser } =
|
|
41
|
+
const { userModelName, authConfig } = getEnvs();
|
|
42
|
+
const { verifyAccessUser } = authConfig;
|
|
32
43
|
const token = handleGetToken({ req, routeObj, type: "accessTokenName" });
|
|
33
|
-
if (!token) {
|
|
34
|
-
return next(new AppError({
|
|
35
|
-
message: "Access token is missing",
|
|
36
|
-
code: "ACCESS_TOKEN_MISSING",
|
|
37
|
-
statusCode: 401,
|
|
38
|
-
hint: "Request a new access token using the endpoint. Default: /auth/refresh-token",
|
|
39
|
-
details: getErrorDetail(routeObj),
|
|
40
|
-
}));
|
|
41
|
-
}
|
|
42
44
|
const payload = verifyJWT({
|
|
43
45
|
token,
|
|
44
46
|
routeObj,
|
|
@@ -54,30 +56,29 @@ const protect = (routeObj) => async (req, res, next) => {
|
|
|
54
56
|
}
|
|
55
57
|
if (verifyAccessUser) {
|
|
56
58
|
const user = await findUser(payload.sub, routeObj, userModelName);
|
|
57
|
-
if (!user) {
|
|
58
|
-
return next(new AppError(
|
|
59
|
-
message: "User associated with the access token was not found",
|
|
60
|
-
code: "ACCESS_USER_NOT_FOUND",
|
|
61
|
-
statusCode: 401,
|
|
62
|
-
hint: "Sign in again with an existing account.",
|
|
63
|
-
details: getErrorDetail(routeObj),
|
|
64
|
-
}));
|
|
59
|
+
if (!user.success) {
|
|
60
|
+
return next(new AppError(user.message));
|
|
65
61
|
}
|
|
62
|
+
req.user = {
|
|
63
|
+
_id: user.data._id,
|
|
64
|
+
role: user.data.role,
|
|
65
|
+
};
|
|
66
66
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
if (!verifyAccessUser)
|
|
68
|
+
req.user = {
|
|
69
|
+
_id: payload.sub,
|
|
70
|
+
};
|
|
70
71
|
next();
|
|
71
72
|
}
|
|
72
73
|
catch (error) {
|
|
73
74
|
if (error instanceof AppError) {
|
|
74
75
|
return next(error);
|
|
75
76
|
}
|
|
76
|
-
console.error(error);
|
|
77
|
+
console.error("auth.middleware.js: ", error);
|
|
77
78
|
return next(new AppError({
|
|
78
79
|
message: "Authentication middleware failed",
|
|
79
80
|
statusCode: 500,
|
|
80
|
-
hint: "This issue requires a fix from the framework developer.",
|
|
81
|
+
hint: "This issue may requires a fix from the framework developer.",
|
|
81
82
|
details: getErrorDetail(routeObj),
|
|
82
83
|
}));
|
|
83
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.middleware.js","sourceRoot":"","sources":["../../../src/js/middleware/auth.middleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,cAAc,MAAM,4BAA4B,CAAC;AAExD,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAE7D,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC3B,EAAU,EACV,QAAe,EACf,aAAqB,EACrB,EAAE;IACF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,2CAA2C;YACpD,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,0DAA0D;YAChE,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,CAAC,aAAuB,CAAC,CAAC;IAErD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,eAAe,aAAa,qBAAqB;YAC1D,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,yDAAyD;YAC/D,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"auth.middleware.js","sourceRoot":"","sources":["../../../src/js/middleware/auth.middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,14 +14,14 @@ let appInfo = {
|
|
|
14
14
|
};
|
|
15
15
|
const resources = ["OTP", "RefreshToken"];
|
|
16
16
|
const setAppInfo = (req) => {
|
|
17
|
-
const {
|
|
17
|
+
const { authConfig } = getEnvs();
|
|
18
18
|
if (req.model && !resources.includes(req.model)) {
|
|
19
19
|
if (req.schema)
|
|
20
20
|
appInfo.modelsCount++;
|
|
21
21
|
resources.push(req.model);
|
|
22
22
|
}
|
|
23
|
-
if (
|
|
24
|
-
!resources.includes(
|
|
23
|
+
if (authConfig.mode === "builtin" &&
|
|
24
|
+
!resources.includes(authConfig.schemaObj?.model || "User"))
|
|
25
25
|
appInfo.modelsCount++;
|
|
26
26
|
if (req.validations)
|
|
27
27
|
appInfo.validationsCount++;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appInfo.js","sourceRoot":"","sources":["../../../src/js/terminal/appInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAiB5C,IAAI,OAAO,GAAY;IACrB,WAAW,EAAE,CAAC;IACd,gBAAgB,EAAE,CAAC;IACnB,WAAW,EAAE,CAAC;IACd,cAAc,EAAE,KAAK;IACrB,aAAa,EAAE,KAAK;IACpB,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,IAAI;IACnB,IAAI,EAAE,KAAK;IACX,kBAAkB,EAAE,IAAI;CACzB,CAAC;AAEF,MAAM,SAAS,GAAa,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AAEpD,MAAM,UAAU,GAAG,CAAC,GAAe,EAAE,EAAE;IACrC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"appInfo.js","sourceRoot":"","sources":["../../../src/js/terminal/appInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAiB5C,IAAI,OAAO,GAAY;IACrB,WAAW,EAAE,CAAC;IACd,gBAAgB,EAAE,CAAC;IACnB,WAAW,EAAE,CAAC;IACd,cAAc,EAAE,KAAK;IACrB,aAAa,EAAE,KAAK;IACpB,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,IAAI;IACnB,IAAI,EAAE,KAAK;IACX,kBAAkB,EAAE,IAAI;CACzB,CAAC;AAEF,MAAM,SAAS,GAAa,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AAEpD,MAAM,UAAU,GAAG,CAAC,GAAe,EAAE,EAAE;IACrC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC;IAEjC,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,IAAI,GAAG,CAAC,MAAM;YAAE,OAAO,CAAC,WAAY,EAAE,CAAC;QAEvC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,IACE,UAAU,CAAC,IAAI,KAAK,SAAS;QAC7B,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,IAAI,MAAM,CAAC;QAE1D,OAAO,CAAC,WAAY,EAAE,CAAC;IAEzB,IAAI,GAAG,CAAC,WAAW;QAAE,OAAO,CAAC,gBAAiB,EAAE,CAAC;IAEjD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAEvD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,OAAO,CAAC,WAAY,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QAC1C,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,EAAE,CAAC,KAAK;gBAAE,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;YACxC,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,EAAE,CAAC,IAAI,KAAK,gBAAgB;gBACrD,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;QACjC,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -1,3 +1,25 @@
|
|
|
1
|
-
|
|
1
|
+
interface Config {
|
|
2
|
+
env: string;
|
|
3
|
+
host: string;
|
|
4
|
+
port: number | string;
|
|
5
|
+
url: string;
|
|
6
|
+
apiPrefix: string;
|
|
7
|
+
health: string;
|
|
8
|
+
db: {
|
|
9
|
+
driver: string;
|
|
10
|
+
name: string;
|
|
11
|
+
connected: boolean;
|
|
12
|
+
status: string;
|
|
13
|
+
};
|
|
14
|
+
generated: {
|
|
15
|
+
models: number;
|
|
16
|
+
validators: number;
|
|
17
|
+
routes: number;
|
|
18
|
+
middlewares?: number;
|
|
19
|
+
};
|
|
20
|
+
features: string[];
|
|
21
|
+
resources: string[];
|
|
22
|
+
}
|
|
23
|
+
export declare const printBanner: (config: Config) => void;
|
|
2
24
|
export default printBanner;
|
|
3
25
|
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/js/terminal/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/js/terminal/logger.ts"],"names":[],"mappings":"AAgUA,UAAU,MAAM;IACd,GAAG,EAAE,MAAM,CAAC;IAEZ,IAAI,EAAE,MAAM,CAAC;IAEb,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAEtB,GAAG,EAAE,MAAM,CAAC;IAEZ,SAAS,EAAE,MAAM,CAAC;IAElB,MAAM,EAAE,MAAM,CAAC;IAEf,EAAE,EAAE;QACF,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,OAAO,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,SAAS,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAMD,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,SA2NzC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|