@starklabs/forge 1.3.23 → 1.3.24-beta.1
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/index.d.ts +1 -1
- package/dist/js/account/index.d.ts.map +1 -1
- package/dist/js/account/index.js +14 -7
- package/dist/js/account/index.js.map +1 -1
- package/dist/js/account/me.delete.d.ts +2 -2
- package/dist/js/account/me.delete.d.ts.map +1 -1
- package/dist/js/account/me.delete.js +15 -6
- package/dist/js/account/me.delete.js.map +1 -1
- package/dist/js/account/me.update.d.ts +3 -3
- package/dist/js/account/me.update.d.ts.map +1 -1
- package/dist/js/account/me.update.js +20 -7
- package/dist/js/account/me.update.js.map +1 -1
- package/dist/js/app.js +21 -8
- 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 +21 -11
- package/dist/js/auth/builtin/auth.collection.js.map +1 -1
- package/dist/js/auth/forgotPassword.d.ts +4 -4
- package/dist/js/auth/forgotPassword.d.ts.map +1 -1
- package/dist/js/auth/forgotPassword.js +12 -6
- package/dist/js/auth/forgotPassword.js.map +1 -1
- package/dist/js/auth/index.d.ts +1 -1
- package/dist/js/auth/index.d.ts.map +1 -1
- package/dist/js/auth/index.js +16 -8
- package/dist/js/auth/index.js.map +1 -1
- package/dist/js/auth/login.d.ts +4 -4
- package/dist/js/auth/login.d.ts.map +1 -1
- package/dist/js/auth/login.js +8 -4
- package/dist/js/auth/login.js.map +1 -1
- package/dist/js/auth/logout.js +6 -1
- package/dist/js/auth/logout.js.map +1 -1
- package/dist/js/auth/refresh.js +9 -0
- package/dist/js/auth/refresh.js.map +1 -1
- package/dist/js/auth/resendOTP.d.ts +4 -4
- package/dist/js/auth/resendOTP.d.ts.map +1 -1
- package/dist/js/auth/resendOTP.js +14 -4
- package/dist/js/auth/resendOTP.js.map +1 -1
- package/dist/js/auth/resetPassword.d.ts +4 -4
- package/dist/js/auth/resetPassword.d.ts.map +1 -1
- package/dist/js/auth/resetPassword.js +14 -4
- package/dist/js/auth/resetPassword.js.map +1 -1
- package/dist/js/auth/signup.d.ts +4 -4
- package/dist/js/auth/signup.d.ts.map +1 -1
- package/dist/js/auth/signup.js +10 -5
- package/dist/js/auth/signup.js.map +1 -1
- package/dist/js/auth/utils/authenticateUser.d.ts +3 -3
- package/dist/js/auth/utils/authenticateUser.d.ts.map +1 -1
- package/dist/js/auth/utils/authenticateUser.js +13 -3
- package/dist/js/auth/utils/authenticateUser.js.map +1 -1
- package/dist/js/auth/utils/createOTPModel.d.ts +1 -1
- package/dist/js/auth/utils/createOTPModel.d.ts.map +1 -1
- package/dist/js/auth/utils/createOTPModel.js +8 -3
- package/dist/js/auth/utils/createOTPModel.js.map +1 -1
- package/dist/js/auth/utils/createOTPUser.d.ts +3 -3
- package/dist/js/auth/utils/createOTPUser.d.ts.map +1 -1
- package/dist/js/auth/utils/createOTPUser.js +11 -3
- package/dist/js/auth/utils/createOTPUser.js.map +1 -1
- package/dist/js/auth/utils/createUser.d.ts +3 -3
- package/dist/js/auth/utils/createUser.d.ts.map +1 -1
- package/dist/js/auth/utils/createUser.js +12 -2
- package/dist/js/auth/utils/createUser.js.map +1 -1
- package/dist/js/auth/utils/findRefreshToken.js +5 -1
- package/dist/js/auth/utils/findRefreshToken.js.map +1 -1
- package/dist/js/auth/utils/findRefreshTokenUser.js +1 -0
- package/dist/js/auth/utils/findRefreshTokenUser.js.map +1 -1
- package/dist/js/auth/utils/getOTPUser.js +3 -0
- package/dist/js/auth/utils/getOTPUser.js.map +1 -1
- package/dist/js/auth/utils/getUser.d.ts +3 -3
- package/dist/js/auth/utils/getUser.d.ts.map +1 -1
- package/dist/js/auth/utils/getUser.js +6 -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 +2 -2
- package/dist/js/auth/utils/handleGetToken.js.map +1 -1
- package/dist/js/auth/utils/handleRefreshTokenValidation.js +7 -1
- package/dist/js/auth/utils/handleRefreshTokenValidation.js.map +1 -1
- package/dist/js/auth/utils/handleRotateRefreshToken.js +7 -1
- package/dist/js/auth/utils/handleRotateRefreshToken.js.map +1 -1
- package/dist/js/auth/utils/modeMap.d.ts +12 -12
- package/dist/js/auth/utils/otpVerifiedResponse.js +1 -0
- package/dist/js/auth/utils/otpVerifiedResponse.js.map +1 -1
- package/dist/js/auth/utils/sendCookie.js +10 -0
- 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.d.ts +3 -3
- package/dist/js/auth/utils/verifyCredentials.d.ts.map +1 -1
- package/dist/js/auth/utils/verifyCredentials.js +8 -6
- package/dist/js/auth/utils/verifyCredentials.js.map +1 -1
- package/dist/js/auth/verifyOTP.d.ts +4 -4
- package/dist/js/auth/verifyOTP.d.ts.map +1 -1
- package/dist/js/auth/verifyOTP.js +18 -5
- 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/cloudinary.js +1 -0
- package/dist/js/config/cloudinary.js.map +1 -1
- package/dist/js/config/duration.js +7 -0
- package/dist/js/config/duration.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 +50 -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 +7 -57
- package/dist/js/config/envs.js.map +1 -1
- package/dist/js/config/handleReqType.d.ts +1 -1
- package/dist/js/config/handleReqType.d.ts.map +1 -1
- package/dist/js/config/handleReqType.js +4 -3
- package/dist/js/config/handleReqType.js.map +1 -1
- package/dist/js/config/handlerMap.js +4 -0
- package/dist/js/config/handlerMap.js.map +1 -1
- package/dist/js/config/refreshModel.js +1 -0
- package/dist/js/config/refreshModel.js.map +1 -1
- package/dist/js/config/sendEmail.d.ts.map +1 -1
- package/dist/js/config/sendEmail.js +4 -1
- package/dist/js/config/sendEmail.js.map +1 -1
- package/dist/js/crud/bunch.crud.js +2 -0
- package/dist/js/crud/bunch.crud.js.map +1 -1
- package/dist/js/crud/create.d.ts +4 -4
- package/dist/js/crud/create.d.ts.map +1 -1
- package/dist/js/crud/create.js +23 -8
- package/dist/js/crud/create.js.map +1 -1
- package/dist/js/crud/createBulk.d.ts +4 -4
- package/dist/js/crud/createBulk.d.ts.map +1 -1
- package/dist/js/crud/createBulk.js +8 -3
- package/dist/js/crud/createBulk.js.map +1 -1
- package/dist/js/crud/email/index.d.ts +2 -0
- package/dist/js/crud/email/index.d.ts.map +1 -0
- package/dist/js/crud/email/index.js +2 -0
- package/dist/js/crud/email/index.js.map +1 -0
- package/dist/js/crud/encryption/handleDecryption.js +8 -3
- package/dist/js/crud/encryption/handleDecryption.js.map +1 -1
- package/dist/js/crud/encryption/handleEncryption.js +7 -3
- package/dist/js/crud/encryption/handleEncryption.js.map +1 -1
- package/dist/js/crud/handleUploads/file.add.d.ts +4 -4
- package/dist/js/crud/handleUploads/file.add.d.ts.map +1 -1
- package/dist/js/crud/handleUploads/file.add.js +16 -9
- package/dist/js/crud/handleUploads/file.add.js.map +1 -1
- package/dist/js/crud/handleUploads/file.delete.d.ts +4 -4
- package/dist/js/crud/handleUploads/file.delete.d.ts.map +1 -1
- package/dist/js/crud/handleUploads/file.delete.js +14 -5
- package/dist/js/crud/handleUploads/file.delete.js.map +1 -1
- package/dist/js/crud/handleUploads/file.update.d.ts +4 -4
- package/dist/js/crud/handleUploads/file.update.d.ts.map +1 -1
- package/dist/js/crud/handleUploads/file.update.js +15 -5
- package/dist/js/crud/handleUploads/file.update.js.map +1 -1
- package/dist/js/crud/index.d.ts +1 -1
- package/dist/js/crud/index.d.ts.map +1 -1
- package/dist/js/crud/index.js +18 -11
- package/dist/js/crud/index.js.map +1 -1
- package/dist/js/crud/read.d.ts +4 -4
- package/dist/js/crud/read.d.ts.map +1 -1
- package/dist/js/crud/read.js +19 -11
- package/dist/js/crud/read.js.map +1 -1
- package/dist/js/crud/readAll.d.ts +3 -3
- package/dist/js/crud/readAll.d.ts.map +1 -1
- package/dist/js/crud/readAll.js +16 -8
- package/dist/js/crud/readAll.js.map +1 -1
- package/dist/js/crud/remove.d.ts +3 -3
- package/dist/js/crud/remove.d.ts.map +1 -1
- package/dist/js/crud/remove.js +19 -8
- package/dist/js/crud/remove.js.map +1 -1
- package/dist/js/crud/removeAll.d.ts +3 -3
- package/dist/js/crud/removeAll.d.ts.map +1 -1
- package/dist/js/crud/removeAll.js +13 -5
- package/dist/js/crud/removeAll.js.map +1 -1
- package/dist/js/crud/removeMultiple.d.ts +4 -4
- package/dist/js/crud/removeMultiple.d.ts.map +1 -1
- package/dist/js/crud/removeMultiple.js +18 -7
- package/dist/js/crud/removeMultiple.js.map +1 -1
- package/dist/js/crud/security/handleDecryption.js +8 -3
- package/dist/js/crud/security/handleDecryption.js.map +1 -1
- package/dist/js/crud/security/handleEncryption.js +7 -3
- package/dist/js/crud/security/handleEncryption.js.map +1 -1
- package/dist/js/crud/security/handleHashing.js +8 -3
- package/dist/js/crud/security/handleHashing.js.map +1 -1
- package/dist/js/crud/update.d.ts +4 -4
- package/dist/js/crud/update.d.ts.map +1 -1
- package/dist/js/crud/update.js +24 -9
- package/dist/js/crud/update.js.map +1 -1
- package/dist/js/crud/utils/authorizeAccess.d.ts +2 -2
- package/dist/js/crud/utils/authorizeAccess.d.ts.map +1 -1
- package/dist/js/crud/utils/authorizeAccess.js +19 -13
- package/dist/js/crud/utils/authorizeAccess.js.map +1 -1
- package/dist/js/crud/utils/getItem.d.ts +3 -3
- package/dist/js/crud/utils/getItem.d.ts.map +1 -1
- package/dist/js/crud/utils/getItem.js +18 -9
- package/dist/js/crud/utils/getItem.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 +14 -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/health/health.collection.js +11 -11
- package/dist/js/health/health.collection.js.map +1 -1
- package/dist/js/health/index.d.ts +1 -1
- package/dist/js/health/index.d.ts.map +1 -1
- package/dist/js/health/index.js +2 -2
- package/dist/js/health/index.js.map +1 -1
- package/dist/js/lib/OAuthProviders.js +1 -1
- package/dist/js/lib/OAuthProviders.js.map +1 -1
- package/dist/js/lib/db.js +1 -0
- package/dist/js/lib/db.js.map +1 -1
- package/dist/js/lib/model.factory.d.ts +10 -1
- package/dist/js/lib/model.factory.d.ts.map +1 -1
- package/dist/js/lib/model.factory.js +18 -4
- package/dist/js/lib/model.factory.js.map +1 -1
- package/dist/js/lib/model.registry.js +1 -0
- package/dist/js/lib/model.registry.js.map +1 -1
- package/dist/js/lib/mongoose.fields.js +20 -0
- package/dist/js/lib/mongoose.fields.js.map +1 -1
- package/dist/js/lib/schema.builder.js +3 -0
- package/dist/js/lib/schema.builder.js.map +1 -1
- package/dist/js/lib/unified.fields.d.ts +5 -0
- package/dist/js/lib/unified.fields.d.ts.map +1 -1
- package/dist/js/lib/unified.fields.js +56 -0
- package/dist/js/lib/unified.fields.js.map +1 -1
- package/dist/js/lib/unified.types.d.ts +3 -0
- package/dist/js/lib/unified.types.d.ts.map +1 -1
- package/dist/js/lib/zod.factory.d.ts +13 -0
- package/dist/js/lib/zod.factory.d.ts.map +1 -1
- package/dist/js/lib/zod.factory.js +14 -0
- package/dist/js/lib/zod.factory.js.map +1 -1
- package/dist/js/lib/zod.fields.d.ts +55 -0
- package/dist/js/lib/zod.fields.d.ts.map +1 -1
- package/dist/js/lib/zod.fields.js +56 -0
- package/dist/js/lib/zod.fields.js.map +1 -1
- package/dist/js/middleware/error.middleware.js +1 -0
- package/dist/js/middleware/error.middleware.js.map +1 -1
- package/dist/js/middleware/multer.middleware.d.ts +1 -1
- package/dist/js/middleware/multer.middleware.d.ts.map +1 -1
- package/dist/js/middleware/multer.middleware.js +22 -7
- package/dist/js/middleware/multer.middleware.js.map +1 -1
- package/dist/js/terminal/appInfo.js +11 -11
- package/dist/js/terminal/appInfo.js.map +1 -1
- package/dist/js/terminal/logger.js +1 -1
- package/dist/js/terminal/logger.js.map +1 -1
- package/dist/js/types/ActionHandler.d.ts +82 -14
- package/dist/js/types/ActionHandler.d.ts.map +1 -1
- package/dist/js/types/Collection.d.ts +104 -15
- package/dist/js/types/Collection.d.ts.map +1 -1
- package/dist/js/types/Constructor.d.ts +4 -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 +131 -14
- package/dist/js/types/Route.d.ts.map +1 -1
- package/dist/js/types/Routepath.js +15 -0
- package/dist/js/types/Routepath.js.map +1 -1
- 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/upload.d.ts +57 -5
- package/dist/js/types/upload.d.ts.map +1 -1
- package/dist/js/upload/create.js +9 -6
- package/dist/js/upload/create.js.map +1 -1
- package/dist/js/upload/delete.js +21 -21
- package/dist/js/upload/delete.js.map +1 -1
- package/dist/js/upload/update.js +21 -21
- package/dist/js/upload/update.js.map +1 -1
- package/dist/js/utils/getErrorDetail.d.ts +2 -2
- package/dist/js/utils/getErrorDetail.d.ts.map +1 -1
- package/dist/js/utils/getErrorDetail.js +2 -2
- package/dist/js/utils/getErrorDetail.js.map +1 -1
- package/dist/js/utils/getModel.d.ts +3 -3
- package/dist/js/utils/getModel.d.ts.map +1 -1
- package/dist/js/utils/getModel.js +6 -6
- package/dist/js/utils/getModel.js.map +1 -1
- package/dist/js/utils/libsodium.js +6 -0
- package/dist/js/utils/libsodium.js.map +1 -1
- package/dist/js/utils/otpPurposes.js +38 -0
- package/dist/js/utils/otpPurposes.js.map +1 -1
- package/dist/js/utils/sanitize.js +23 -2
- package/dist/js/utils/sanitize.js.map +1 -1
- package/dist/js/utils/saveRefreshToken.js +2 -1
- package/dist/js/utils/saveRefreshToken.js.map +1 -1
- package/dist/js/utils/validate.js +5 -3
- package/dist/js/utils/validate.js.map +1 -1
- package/dist/js/utils/validationKeyError.d.ts +1 -1
- package/dist/js/utils/validationKeyError.d.ts.map +1 -1
- package/dist/js/utils/validationKeyError.js +13 -8
- package/dist/js/utils/validationKeyError.js.map +1 -1
- package/package.json +1 -1
- package/readme.md +29 -29
|
@@ -5,24 +5,34 @@ import appResponse from "../../utils/response.js";
|
|
|
5
5
|
import getValidationKey from "../../utils/validationKeyError.js";
|
|
6
6
|
import validate from "../../utils/validate.js";
|
|
7
7
|
import authorizeAccess from "../utils/authorizeAccess.js";
|
|
8
|
-
const updateFile = ({
|
|
8
|
+
const updateFile = ({ model, route, routeObj, validations, }) => {
|
|
9
9
|
return async (req, res) => {
|
|
10
|
-
|
|
10
|
+
// validationObj
|
|
11
|
+
const validationObj = getValidationKey(routeObj, validations);
|
|
12
|
+
// validation
|
|
11
13
|
const body = validate(validationObj, req.body, routeObj);
|
|
14
|
+
// get param
|
|
12
15
|
const param = getParam({ req, routeObj });
|
|
16
|
+
// get item
|
|
13
17
|
let item = await getItem({
|
|
14
|
-
|
|
15
|
-
|
|
18
|
+
model,
|
|
19
|
+
route,
|
|
16
20
|
_id: param,
|
|
17
21
|
path: routeObj.path,
|
|
18
22
|
clean: false,
|
|
19
23
|
routeObj
|
|
20
24
|
});
|
|
21
|
-
authorizeAccess
|
|
25
|
+
// authorizeAccess
|
|
26
|
+
authorizeAccess({ routeObj, route, item, req });
|
|
27
|
+
// update file
|
|
22
28
|
const { updated, _id, mongooseField } = (await handleUpdateFile(req, routeObj, body, item)) || {};
|
|
29
|
+
// get old
|
|
23
30
|
const old = item[mongooseField].id(_id);
|
|
31
|
+
// copy - paste updated init
|
|
24
32
|
Object.assign(old, updated);
|
|
33
|
+
// save
|
|
25
34
|
await item.save();
|
|
35
|
+
// app response
|
|
26
36
|
appResponse({ res, message: "File updated successfully!", data: item });
|
|
27
37
|
};
|
|
28
38
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.update.js","sourceRoot":"","sources":["../../../../src/js/crud/handleUploads/file.update.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,gBAAgB,MAAM,mCAAmC,CAAC;AACjE,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAE1D,MAAM,UAAU,GAAG,CAAC,EAClB,
|
|
1
|
+
{"version":3,"file":"file.update.js","sourceRoot":"","sources":["../../../../src/js/crud/handleUploads/file.update.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,gBAAgB,MAAM,mCAAmC,CAAC;AACjE,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAE1D,MAAM,UAAU,GAAG,CAAC,EAClB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,WAAW,GAMZ,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC1D,gBAAgB;QAChB,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE9D,aAAa;QACb,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEzD,YAAY;QACZ,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE1C,WAAW;QACX,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC;YACvB,KAAK;YACL,KAAK;YACL,GAAG,EAAE,KAAe;YACpB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,KAAK;YACZ,QAAQ;SACT,CAAC,CAAC;QAEH,kBAAkB;QAClB,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAEhD,cAAc;QACd,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,GACnC,CAAC,MAAM,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5D,UAAU;QACV,MAAM,GAAG,GAAG,IAAI,CAAC,aAAuB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAElD,4BAA4B;QAC5B,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE5B,OAAO;QACP,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,eAAe;QACf,WAAW,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,4BAA4B,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
package/dist/js/crud/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Express } from "express";
|
|
2
2
|
import type { ValidationsObj, Route } from "../types/Collection.ts";
|
|
3
|
-
declare const crud: (app: Express,
|
|
3
|
+
declare const crud: (app: Express, route: string, routes: Route[], model: string | undefined, validations?: ValidationsObj) => void;
|
|
4
4
|
export default crud;
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/js/crud/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIvC,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAMpE,QAAA,MAAM,IAAI,GACR,KAAK,OAAO,EACZ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/js/crud/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIvC,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAMpE,QAAA,MAAM,IAAI,GACR,KAAK,OAAO,EACZ,OAAO,MAAM,EACb,QAAQ,KAAK,EAAE,EACf,OAAO,MAAM,GAAG,SAAS,EACzB,cAAc,cAAc,SA2C7B,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
package/dist/js/crud/index.js
CHANGED
|
@@ -5,29 +5,36 @@ import protect from "../middleware/auth.middleware.js";
|
|
|
5
5
|
import AppError from "../utils/AppError.js";
|
|
6
6
|
import { handleMulterMiddleware } from "../middleware/multer.middleware.js";
|
|
7
7
|
import getErrorDetail from "../utils/getErrorDetail.js";
|
|
8
|
-
const crud = (app,
|
|
8
|
+
const crud = (app, route, routes, model, validations) => {
|
|
9
9
|
const { apiVersion } = getEnvs();
|
|
10
10
|
for (const routeObj of routes) {
|
|
11
|
-
|
|
11
|
+
// push middleware to middlewares
|
|
12
|
+
if (!routeObj.auth ||
|
|
12
13
|
!routeObj.handler ||
|
|
13
14
|
!routeObj.method ||
|
|
14
15
|
!routeObj.path)
|
|
15
16
|
throw new AppError({
|
|
16
|
-
message: "
|
|
17
|
+
message: "auth, handler, method and path are required required",
|
|
17
18
|
statusCode: 409,
|
|
18
|
-
hint: "Check if
|
|
19
|
+
hint: "Check if auth, handler, method or path is missing in collections -> routes.",
|
|
19
20
|
details: getErrorDetail(routeObj),
|
|
20
21
|
});
|
|
22
|
+
// middlewares array
|
|
21
23
|
const middlewares = [];
|
|
22
|
-
|
|
24
|
+
// protect
|
|
25
|
+
if (routeObj.auth !== "public")
|
|
23
26
|
middlewares.push(protect(routeObj));
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
// upload in routeObj
|
|
28
|
+
if (routeObj?.files)
|
|
29
|
+
middlewares.push(handleMulterMiddleware(routeObj.files, routeObj));
|
|
30
|
+
// app.get("/", (req, res) => {})
|
|
31
|
+
app[routeObj.method](`/api/v${apiVersion}/${route}${routeObj.path}`, ...middlewares, asyncHandler(
|
|
32
|
+
// redirect -> handler
|
|
33
|
+
handlerMap[routeObj.handler]({
|
|
34
|
+
model,
|
|
35
|
+
route,
|
|
29
36
|
routeObj,
|
|
30
|
-
|
|
37
|
+
validations,
|
|
31
38
|
})));
|
|
32
39
|
}
|
|
33
40
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/js/crud/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAEjD,OAAO,OAAO,MAAM,kCAAkC,CAAC;AACvD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,cAAc,MAAM,4BAA4B,CAAC;AAExD,MAAM,IAAI,GAAG,CACX,GAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/js/crud/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAEjD,OAAO,OAAO,MAAM,kCAAkC,CAAC;AACvD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,cAAc,MAAM,4BAA4B,CAAC;AAExD,MAAM,IAAI,GAAG,CACX,GAAY,EACZ,KAAa,EACb,MAAe,EACf,KAAyB,EACzB,WAA4B,EAC5B,EAAE;IACF,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC;IACjC,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;QAC9B,iCAAiC;QACjC,IACE,CAAC,QAAQ,CAAC,IAAI;YACd,CAAC,QAAQ,CAAC,OAAO;YACjB,CAAC,QAAQ,CAAC,MAAM;YAChB,CAAC,QAAQ,CAAC,IAAI;YAEd,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,sDAAsD;gBAC/D,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,6EAA6E;gBACnF,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAEL,oBAAoB;QACpB,MAAM,WAAW,GAAG,EAAE,CAAC;QAEvB,UAAU;QACV,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ;YAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEpE,qBAAqB;QACrB,IAAI,QAAQ,EAAE,KAAK;YACjB,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QAErE,iCAAiC;QACjC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAClB,SAAS,UAAU,IAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,EAC9C,GAAG,WAAW,EACd,YAAY;QACV,sBAAsB;QACtB,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3B,KAAK;YACL,KAAK;YACL,QAAQ;YACR,WAAW;SACZ,CAAC,CACH,CACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
package/dist/js/crud/read.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Request, Response } from "express";
|
|
2
2
|
import type { Route, ValidationsObj } from "../types/Collection.js";
|
|
3
|
-
declare const read: ({
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
declare const read: ({ model, route, routeObj, }: {
|
|
4
|
+
model: string;
|
|
5
|
+
route: string;
|
|
6
6
|
routeObj: Route;
|
|
7
|
-
|
|
7
|
+
validations: ValidationsObj;
|
|
8
8
|
}) => (req: Request, res: Response) => Promise<void>;
|
|
9
9
|
export default read;
|
|
10
10
|
//# sourceMappingURL=read.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/js/crud/read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAKpE,QAAA,MAAM,IAAI,GAAI,
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/js/crud/read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAKpE,QAAA,MAAM,IAAI,GAAI,6BAIX;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;IAChB,WAAW,EAAE,cAAc,CAAC;CAC7B,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAqDzD,CAAC;AACF,eAAe,IAAI,CAAC"}
|
package/dist/js/crud/read.js
CHANGED
|
@@ -4,39 +4,47 @@ import getParam from "./utils/getParam.js";
|
|
|
4
4
|
import authorizeAccess from "./utils/authorizeAccess.js";
|
|
5
5
|
import handleDecryption from "./encryption/handleDecryption.js";
|
|
6
6
|
import runActions from "./utils/runActions.js";
|
|
7
|
-
const read = ({
|
|
7
|
+
const read = ({ model, route, routeObj, }) => {
|
|
8
8
|
return async (req, res) => {
|
|
9
|
+
// get /:parameter
|
|
9
10
|
const id = getParam({ req, routeObj });
|
|
11
|
+
// runActions object
|
|
10
12
|
const ActionObj = {
|
|
11
13
|
req,
|
|
12
14
|
user: req.user,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
+
route,
|
|
16
|
+
model,
|
|
15
17
|
};
|
|
18
|
+
// before action
|
|
16
19
|
let modifiedResponse = await runActions(routeObj.actions?.before, {
|
|
17
20
|
operation: "read",
|
|
18
21
|
...ActionObj,
|
|
19
22
|
});
|
|
23
|
+
// findById item
|
|
20
24
|
const item = await getItem({
|
|
21
|
-
|
|
22
|
-
|
|
25
|
+
model,
|
|
26
|
+
route,
|
|
23
27
|
_id: id,
|
|
24
28
|
path: routeObj.path,
|
|
25
29
|
routeObj,
|
|
26
30
|
});
|
|
27
|
-
if
|
|
28
|
-
|
|
29
|
-
|
|
31
|
+
// if not public -> do authorizeAccess
|
|
32
|
+
if (routeObj.auth !== "public")
|
|
33
|
+
authorizeAccess({ routeObj, route, item, req });
|
|
34
|
+
// if '_id' excluded
|
|
35
|
+
const idExcluded = routeObj.config?.hiddenFields?.includes("_id");
|
|
30
36
|
if (idExcluded)
|
|
31
37
|
delete item["_id"];
|
|
38
|
+
// if decryption
|
|
32
39
|
const decryption = await handleDecryption(item, routeObj);
|
|
40
|
+
// after action
|
|
33
41
|
modifiedResponse = await runActions(routeObj.actions?.after, {
|
|
34
42
|
operation: "read",
|
|
35
43
|
...ActionObj,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
},
|
|
44
|
+
item,
|
|
45
|
+
result: decryption,
|
|
39
46
|
});
|
|
47
|
+
// return response
|
|
40
48
|
appResponse({
|
|
41
49
|
res,
|
|
42
50
|
data: modifiedResponse ?? { ...item, ...decryption },
|
package/dist/js/crud/read.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/js/crud/read.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAE3C,OAAO,eAAe,MAAM,4BAA4B,CAAC;AACzD,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,MAAM,IAAI,GAAG,CAAC,EACZ,
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/js/crud/read.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAE3C,OAAO,eAAe,MAAM,4BAA4B,CAAC;AACzD,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,MAAM,IAAI,GAAG,CAAC,EACZ,KAAK,EACL,KAAK,EACL,QAAQ,GAMT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC1D,kBAAkB;QAClB,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEvC,oBAAoB;QACpB,MAAM,SAAS,GAAG;YAChB,GAAG;YACH,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK;YACL,KAAK;SACN,CAAC;QAEF,gBAAgB;QAChB,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;YAChE,SAAS,EAAE,MAAM;YACjB,GAAG,SAAS;SACb,CAAC,CAAC;QAEH,gBAAgB;QAChB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;YACzB,KAAK;YACL,KAAK;YACL,GAAG,EAAE,EAAY;YACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ;SACT,CAAC,CAAC;QAEH,sCAAsC;QACtC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ;YAC5B,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAElD,oBAAoB;QACpB,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,UAAU;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnC,gBAAgB;QAChB,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE1D,eAAe;QACf,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE;YAC3D,SAAS,EAAE,MAAM;YACjB,GAAG,SAAS;YACZ,IAAI;YACJ,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC;QAEH,kBAAkB;QAClB,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,gBAAgB,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,EAAE;YACpD,OAAO,EAAE,0BAA0B;SACpC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,IAAI,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Request, Response } from "express";
|
|
2
2
|
import type { Route } from "../types/Collection.js";
|
|
3
|
-
declare const read: ({
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
declare const read: ({ model, route, routeObj, }: {
|
|
4
|
+
model: string;
|
|
5
|
+
route: string;
|
|
6
6
|
routeObj: Route;
|
|
7
7
|
}) => (req: Request, res: Response) => Promise<void>;
|
|
8
8
|
export default read;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readAll.d.ts","sourceRoot":"","sources":["../../../src/js/crud/readAll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAKpD,QAAA,MAAM,IAAI,GAAI,
|
|
1
|
+
{"version":3,"file":"readAll.d.ts","sourceRoot":"","sources":["../../../src/js/crud/readAll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAKpD,QAAA,MAAM,IAAI,GAAI,6BAIX;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;CACjB,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAgEzD,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
package/dist/js/crud/readAll.js
CHANGED
|
@@ -3,33 +3,39 @@ import appResponse from "../utils/response.js";
|
|
|
3
3
|
import authorizeAccess from "./utils/authorizeAccess.js";
|
|
4
4
|
import runActions from "./utils/runActions.js";
|
|
5
5
|
import handleDecryption from "./encryption/handleDecryption.js";
|
|
6
|
-
const read = ({
|
|
6
|
+
const read = ({ model, route, routeObj, }) => {
|
|
7
7
|
return async (req, res) => {
|
|
8
|
+
// runActions object
|
|
8
9
|
const ActionObj = {
|
|
9
10
|
req,
|
|
10
11
|
user: req.user,
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
route,
|
|
13
|
+
model,
|
|
13
14
|
};
|
|
15
|
+
// before action
|
|
14
16
|
let modifiedResponse = await runActions(routeObj.actions?.before, {
|
|
15
17
|
operation: "readAll",
|
|
16
18
|
...ActionObj,
|
|
17
19
|
});
|
|
20
|
+
// Find item
|
|
18
21
|
const items = await getItem({
|
|
19
|
-
|
|
20
|
-
|
|
22
|
+
model,
|
|
23
|
+
route,
|
|
21
24
|
path: routeObj.path,
|
|
22
25
|
routeObj,
|
|
23
26
|
});
|
|
24
|
-
|
|
27
|
+
// If not public -> authorize access
|
|
28
|
+
if (routeObj.auth !== "public") {
|
|
25
29
|
authorizeAccess({
|
|
26
30
|
routeObj,
|
|
27
|
-
|
|
31
|
+
route,
|
|
28
32
|
item: items[0],
|
|
29
33
|
req,
|
|
30
34
|
});
|
|
31
35
|
}
|
|
32
|
-
|
|
36
|
+
// if '_id' excluded
|
|
37
|
+
const idExcluded = routeObj.config?.hiddenFields?.includes("_id");
|
|
38
|
+
// Decrypt fields
|
|
33
39
|
const decryptedItems = await Promise.all(items.map(async (item) => {
|
|
34
40
|
if (idExcluded)
|
|
35
41
|
delete item["_id"];
|
|
@@ -39,12 +45,14 @@ const read = ({ modelName, routeName, routeObj, }) => {
|
|
|
39
45
|
...decryption,
|
|
40
46
|
};
|
|
41
47
|
}));
|
|
48
|
+
// before action
|
|
42
49
|
modifiedResponse = await runActions(routeObj.actions?.after, {
|
|
43
50
|
operation: "readAll",
|
|
44
51
|
...ActionObj,
|
|
45
52
|
item: decryptedItems,
|
|
46
53
|
result: decryptedItems,
|
|
47
54
|
});
|
|
55
|
+
// Return response
|
|
48
56
|
appResponse({
|
|
49
57
|
res,
|
|
50
58
|
data: modifiedResponse ?? decryptedItems,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readAll.js","sourceRoot":"","sources":["../../../src/js/crud/readAll.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAE/C,OAAO,eAAe,MAAM,4BAA4B,CAAC;AACzD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAEhE,MAAM,IAAI,GAAG,CAAC,EACZ,
|
|
1
|
+
{"version":3,"file":"readAll.js","sourceRoot":"","sources":["../../../src/js/crud/readAll.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAE/C,OAAO,eAAe,MAAM,4BAA4B,CAAC;AACzD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAEhE,MAAM,IAAI,GAAG,CAAC,EACZ,KAAK,EACL,KAAK,EACL,QAAQ,GAKT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC1D,oBAAoB;QACpB,MAAM,SAAS,GAAG;YAChB,GAAG;YACH,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK;YACL,KAAK;SACN,CAAC;QAEF,gBAAgB;QAChB,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;YAChE,SAAS,EAAE,SAAS;YACpB,GAAG,SAAS;SACb,CAAC,CAAC;QAEH,YAAY;QACZ,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;YAC1B,KAAK;YACL,KAAK;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ;SACT,CAAC,CAAC;QAEH,oCAAoC;QACpC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,eAAe,CAAC;gBACd,QAAQ;gBACR,KAAK;gBACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,GAAG;aACJ,CAAC,CAAC;QACL,CAAC;QACD,oBAAoB;QACpB,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAElE,iBAAiB;QACjB,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAS,EAAE,EAAE;YAC5B,IAAI,UAAU;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;YAEnC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAE1D,OAAO;gBACL,GAAG,IAAI;gBACP,GAAG,UAAU;aACd,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QAEF,gBAAgB;QAChB,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE;YAC3D,SAAS,EAAE,SAAS;YACpB,GAAG,SAAS;YACZ,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;QAEH,kBAAkB;QAClB,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,gBAAgB,IAAI,cAAc;YACxC,OAAO,EAAE,2BAA2B;SACrC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
package/dist/js/crud/remove.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Request, Response } from "express";
|
|
2
2
|
import type { Route } from "../types/Collection.ts";
|
|
3
|
-
declare const remove: ({
|
|
4
|
-
|
|
3
|
+
declare const remove: ({ model, route, routeObj, }: {
|
|
4
|
+
model: string;
|
|
5
5
|
routeObj: Route;
|
|
6
|
-
|
|
6
|
+
route: string;
|
|
7
7
|
}) => (req: Request, res: Response) => Promise<void>;
|
|
8
8
|
export default remove;
|
|
9
9
|
//# sourceMappingURL=remove.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../src/js/crud/remove.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAMjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAIpD,QAAA,MAAM,MAAM,GAAI,
|
|
1
|
+
{"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../src/js/crud/remove.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAMjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAIpD,QAAA,MAAM,MAAM,GAAI,6BAIb;IACD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CA2DzD,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/dist/js/crud/remove.js
CHANGED
|
@@ -5,38 +5,49 @@ import appResponse from "../utils/response.js";
|
|
|
5
5
|
import authorizeAccess from "./utils/authorizeAccess.js";
|
|
6
6
|
import { sanitizeOne } from "../utils/sanitize.js";
|
|
7
7
|
import runActions from "./utils/runActions.js";
|
|
8
|
-
const remove = ({
|
|
8
|
+
const remove = ({ model, route, routeObj, }) => {
|
|
9
9
|
return async (req, res) => {
|
|
10
|
+
// get /:parameter
|
|
10
11
|
const id = getParam({ req, routeObj });
|
|
12
|
+
// ensure item exists
|
|
11
13
|
const item = await getItem({
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
model,
|
|
15
|
+
route,
|
|
14
16
|
_id: id,
|
|
15
17
|
routeObj,
|
|
16
18
|
});
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
// authorize access
|
|
20
|
+
authorizeAccess({ routeObj, route, item, req });
|
|
21
|
+
// model
|
|
22
|
+
const Model = getModel({ model, route, routeObj });
|
|
23
|
+
// runActions object
|
|
19
24
|
const ActionObj = {
|
|
20
25
|
req,
|
|
21
26
|
user: req.user,
|
|
22
|
-
|
|
23
|
-
|
|
27
|
+
route,
|
|
28
|
+
model,
|
|
24
29
|
Model,
|
|
25
30
|
};
|
|
31
|
+
// before action
|
|
26
32
|
let modifiedResponse = await runActions(routeObj.actions?.before, {
|
|
27
33
|
operation: "remove",
|
|
28
34
|
...ActionObj,
|
|
29
35
|
});
|
|
36
|
+
// delete
|
|
30
37
|
const deletedItem = await Model.findByIdAndDelete(id);
|
|
38
|
+
// clean
|
|
31
39
|
const cleaned = sanitizeOne(deletedItem.toObject(), routeObj);
|
|
32
|
-
|
|
40
|
+
// if '_id' excluded
|
|
41
|
+
const idExcluded = routeObj.config?.hiddenFields?.includes("_id");
|
|
33
42
|
if (idExcluded)
|
|
34
43
|
delete cleaned["_id"];
|
|
44
|
+
// after action
|
|
35
45
|
modifiedResponse = await runActions(routeObj.actions?.after, {
|
|
36
46
|
...ActionObj,
|
|
37
47
|
operation: "remove",
|
|
38
48
|
item: cleaned,
|
|
39
49
|
});
|
|
50
|
+
// return response
|
|
40
51
|
appResponse({
|
|
41
52
|
res,
|
|
42
53
|
message: "Item deleted successfully!",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/js/crud/remove.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,eAAe,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,MAAM,MAAM,GAAG,CAAC,EACd,
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/js/crud/remove.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,eAAe,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,MAAM,MAAM,GAAG,CAAC,EACd,KAAK,EACL,KAAK,EACL,QAAQ,GAKT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC1D,kBAAkB;QAClB,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEvC,qBAAqB;QACrB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;YACzB,KAAK;YACL,KAAK;YACL,GAAG,EAAE,EAAY;YACjB,QAAQ;SACT,CAAC,CAAC;QAEH,mBAAmB;QACnB,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAEhD,QAAQ;QACR,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEnD,oBAAoB;QACpB,MAAM,SAAS,GAAG;YAChB,GAAG;YACH,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK;YACL,KAAK;YACL,KAAK;SACN,CAAC;QAEF,gBAAgB;QAChB,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;YAChE,SAAS,EAAE,QAAQ;YACnB,GAAG,SAAS;SACb,CAAC,CAAC;QAEH,SAAS;QACT,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAEtD,QAAQ;QACR,MAAM,OAAO,GAAG,WAAW,CAAC,WAAY,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;QAE/D,oBAAoB;QACpB,MAAM,UAAU,GACd,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,UAAU;YAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QAEtC,eAAe;QACf,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE;YAC3D,GAAG,SAAS;YACZ,SAAS,EAAE,QAAQ;YACnB,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;QAEH,kBAAkB;QAClB,WAAW,CAAC;YACV,GAAG;YACH,OAAO,EAAE,4BAA4B;YACrC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,gBAAgB,IAAI,OAAO;SAClC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Request, Response } from "express";
|
|
2
2
|
import type { Route } from "../types/Collection.ts";
|
|
3
|
-
declare const removeAll: ({
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
declare const removeAll: ({ model, route, routeObj, }: {
|
|
4
|
+
model: string;
|
|
5
|
+
route: string;
|
|
6
6
|
routeObj: Route;
|
|
7
7
|
}) => (req: Request, res: Response) => Promise<void>;
|
|
8
8
|
export default removeAll;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeAll.d.ts","sourceRoot":"","sources":["../../../src/js/crud/removeAll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAU,MAAM,SAAS,CAAC;AAIzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAKpD,QAAA,MAAM,SAAS,GAAI,
|
|
1
|
+
{"version":3,"file":"removeAll.d.ts","sourceRoot":"","sources":["../../../src/js/crud/removeAll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAU,MAAM,SAAS,CAAC;AAIzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAKpD,QAAA,MAAM,SAAS,GAAI,6BAIhB;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;CACjB,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAsDzD,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -4,22 +4,28 @@ import authorizeAccess from "./utils/authorizeAccess.js";
|
|
|
4
4
|
import AppError from "../utils/AppError.js";
|
|
5
5
|
import getErrorDetail from "../utils/getErrorDetail.js";
|
|
6
6
|
import runActions from "./utils/runActions.js";
|
|
7
|
-
const removeAll = ({
|
|
7
|
+
const removeAll = ({ model, route, routeObj, }) => {
|
|
8
8
|
return async (req, res) => {
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
// authorize access
|
|
10
|
+
authorizeAccess({ routeObj, route, req });
|
|
11
|
+
// model
|
|
12
|
+
const Model = getModel({ model, route, routeObj });
|
|
13
|
+
// runActions object
|
|
11
14
|
const ActionObj = {
|
|
12
15
|
req,
|
|
13
16
|
user: req.user,
|
|
14
|
-
|
|
15
|
-
|
|
17
|
+
route,
|
|
18
|
+
model,
|
|
16
19
|
Model,
|
|
17
20
|
};
|
|
21
|
+
// before action
|
|
18
22
|
let modifiedResponse = await runActions(routeObj.actions?.before, {
|
|
19
23
|
operation: "removeAll",
|
|
20
24
|
...ActionObj,
|
|
21
25
|
});
|
|
26
|
+
// delete all
|
|
22
27
|
const result = await Model.deleteMany({});
|
|
28
|
+
// if item(s) not found
|
|
23
29
|
const notFound = !result || result.deletedCount === 0;
|
|
24
30
|
if (notFound) {
|
|
25
31
|
throw new AppError({
|
|
@@ -29,11 +35,13 @@ const removeAll = ({ modelName, routeName, routeObj, }) => {
|
|
|
29
35
|
details: getErrorDetail(routeObj),
|
|
30
36
|
});
|
|
31
37
|
}
|
|
38
|
+
// after action
|
|
32
39
|
modifiedResponse = await runActions(routeObj.actions?.before, {
|
|
33
40
|
operation: "removeAll",
|
|
34
41
|
...ActionObj,
|
|
35
42
|
item: result,
|
|
36
43
|
});
|
|
44
|
+
// return response
|
|
37
45
|
appResponse({
|
|
38
46
|
res,
|
|
39
47
|
data: modifiedResponse ?? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeAll.js","sourceRoot":"","sources":["../../../src/js/crud/removeAll.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,eAAe,MAAM,4BAA4B,CAAC;AAEzD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,MAAM,SAAS,GAAG,CAAC,EACjB,
|
|
1
|
+
{"version":3,"file":"removeAll.js","sourceRoot":"","sources":["../../../src/js/crud/removeAll.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,eAAe,MAAM,4BAA4B,CAAC;AAEzD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,MAAM,SAAS,GAAG,CAAC,EACjB,KAAK,EACL,KAAK,EACL,QAAQ,GAKT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC1D,mBAAmB;QACnB,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAE1C,QAAQ;QACR,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEnD,oBAAoB;QACpB,MAAM,SAAS,GAAG;YAChB,GAAG;YACH,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK;YACL,KAAK;YACL,KAAK;SACN,CAAC;QAEF,gBAAgB;QAChB,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;YAChE,SAAS,EAAE,WAAW;YACtB,GAAG,SAAS;SACb,CAAC,CAAC;QAEH,aAAa;QACb,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAE1C,uBAAuB;QACvB,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC;QAEtD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,0BAA0B;gBACnC,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,sCAAsC;gBAC5C,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAED,eAAe;QACf,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;YAC5D,SAAS,EAAE,WAAW;YACtB,GAAG,SAAS;YACZ,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;QAEH,kBAAkB;QAClB,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,gBAAgB,IAAI;gBACxB,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC;YACD,OAAO,EAAE,6BAA6B;YACtC,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Request, Response } from "express";
|
|
2
2
|
import type { Route, ValidationsObj } from "../types/Collection.ts";
|
|
3
|
-
declare const removeMultiple: ({
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
declare const removeMultiple: ({ model, route, routeObj, validations, }: {
|
|
4
|
+
model: string;
|
|
5
|
+
route: string;
|
|
6
6
|
routeObj: Route;
|
|
7
|
-
|
|
7
|
+
validations: ValidationsObj;
|
|
8
8
|
}) => (req: Request, res: Response) => Promise<void>;
|
|
9
9
|
export default removeMultiple;
|
|
10
10
|
//# sourceMappingURL=removeMultiple.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeMultiple.d.ts","sourceRoot":"","sources":["../../../src/js/crud/removeMultiple.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAU,MAAM,SAAS,CAAC;AAGzD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAOpE,QAAA,MAAM,cAAc,GAAI,
|
|
1
|
+
{"version":3,"file":"removeMultiple.d.ts","sourceRoot":"","sources":["../../../src/js/crud/removeMultiple.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAU,MAAM,SAAS,CAAC;AAGzD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAOpE,QAAA,MAAM,cAAc,GAAI,0CAKrB;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;IAChB,WAAW,EAAE,cAAc,CAAC;CAC7B,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAwEzD,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -5,34 +5,43 @@ import getValidationKey from "../utils/validationKeyError.js";
|
|
|
5
5
|
import getErrorDetail from "../utils/getErrorDetail.js";
|
|
6
6
|
import validate from "../utils/validate.js";
|
|
7
7
|
import runActions from "./utils/runActions.js";
|
|
8
|
-
const removeMultiple = ({
|
|
8
|
+
const removeMultiple = ({ model, route, routeObj, validations, }) => {
|
|
9
9
|
return async (req, res) => {
|
|
10
|
-
|
|
11
|
-
const
|
|
10
|
+
// validationObj
|
|
11
|
+
const validationObj = getValidationKey(routeObj, validations);
|
|
12
|
+
// authorize access
|
|
13
|
+
// model
|
|
14
|
+
const Model = getModel({ model, route, routeObj });
|
|
15
|
+
// runActions object
|
|
12
16
|
const ActionObj = {
|
|
13
17
|
req,
|
|
14
18
|
user: req.user,
|
|
15
|
-
|
|
16
|
-
|
|
19
|
+
route,
|
|
20
|
+
model,
|
|
17
21
|
Model,
|
|
18
22
|
};
|
|
23
|
+
// before action
|
|
19
24
|
let modifiedResponse = await runActions(routeObj.actions?.before, {
|
|
20
25
|
operation: "removeMultiple",
|
|
21
26
|
...ActionObj,
|
|
22
27
|
});
|
|
28
|
+
// body
|
|
23
29
|
const body = validate(validationObj, req.body, routeObj);
|
|
24
|
-
|
|
30
|
+
// ids - field name
|
|
31
|
+
const idsFieldName = routeObj.config?.targetField;
|
|
25
32
|
if (!idsFieldName)
|
|
26
33
|
throw new AppError({
|
|
27
34
|
details: getErrorDetail(routeObj),
|
|
28
|
-
hint: "Write the array name in routes -> route ->
|
|
35
|
+
hint: "Write the array name in routes -> route -> config -> targetField that has items' ids to delete",
|
|
29
36
|
message: "Ids field name missing",
|
|
30
37
|
statusCode: 409,
|
|
31
38
|
});
|
|
39
|
+
// delete all
|
|
32
40
|
const result = await Model.deleteMany({
|
|
33
41
|
_id: { $in: body[idsFieldName] },
|
|
34
42
|
owner: req.user._id,
|
|
35
43
|
});
|
|
44
|
+
// if item(s) not found
|
|
36
45
|
const notFound = !result || result.deletedCount === 0;
|
|
37
46
|
if (notFound) {
|
|
38
47
|
throw new AppError({
|
|
@@ -42,11 +51,13 @@ const removeMultiple = ({ modelName, routeName, routeObj, validationsObj, }) =>
|
|
|
42
51
|
details: getErrorDetail(routeObj),
|
|
43
52
|
});
|
|
44
53
|
}
|
|
54
|
+
// after action
|
|
45
55
|
modifiedResponse = await runActions(routeObj.actions?.before, {
|
|
46
56
|
operation: "removeMultiple",
|
|
47
57
|
...ActionObj,
|
|
48
58
|
item: result,
|
|
49
59
|
});
|
|
60
|
+
// return response
|
|
50
61
|
appResponse({
|
|
51
62
|
res,
|
|
52
63
|
data: modifiedResponse ?? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeMultiple.js","sourceRoot":"","sources":["../../../src/js/crud/removeMultiple.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAE/C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,MAAM,cAAc,GAAG,CAAC,EACtB,
|
|
1
|
+
{"version":3,"file":"removeMultiple.js","sourceRoot":"","sources":["../../../src/js/crud/removeMultiple.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAE/C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,MAAM,cAAc,GAAG,CAAC,EACtB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,WAAW,GAMZ,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC1D,gBAAgB;QAChB,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE9D,mBAAmB;QAEnB,QAAQ;QACR,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEnD,oBAAoB;QACpB,MAAM,SAAS,GAAG;YAChB,GAAG;YACH,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK;YACL,KAAK;YACL,KAAK;SACN,CAAC;QAEF,gBAAgB;QAChB,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;YAChE,SAAS,EAAE,gBAAgB;YAC3B,GAAG,SAAS;SACb,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEzD,mBAAmB;QACnB,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;QAClD,IAAI,CAAC,YAAY;YACf,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;gBACjC,IAAI,EAAE,gGAAgG;gBACtG,OAAO,EAAE,wBAAwB;gBACjC,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QAEL,aAAa;QACb,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC;YACpC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE;YAChC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG;SACpB,CAAC,CAAC;QAEH,uBAAuB;QACvB,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC;QAEtD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,0BAA0B;gBACnC,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,kCAAkC,YAAY,qDAAqD;gBACzG,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAED,eAAe;QACf,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;YAC5D,SAAS,EAAE,gBAAgB;YAC3B,GAAG,SAAS;YACZ,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;QAEH,kBAAkB;QAClB,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,gBAAgB,IAAI;gBACxB,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC;YACD,OAAO,EAAE,6BAA6B;YACtC,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -2,29 +2,34 @@ import { unSeal } from "../../utils/libsodium.js";
|
|
|
2
2
|
import AppError from "../../utils/AppError.js";
|
|
3
3
|
import getErrorDetail from "../../utils/getErrorDetail.js";
|
|
4
4
|
const handleDecryption = async (item, routeObj) => {
|
|
5
|
-
const decArr = routeObj.
|
|
5
|
+
const decArr = routeObj.decryptedFields;
|
|
6
|
+
// If decryptedFields is not configured, skip decryption.
|
|
6
7
|
if (!decArr)
|
|
7
8
|
return;
|
|
9
|
+
// Validate configuration type.
|
|
8
10
|
if (!Array.isArray(decArr)) {
|
|
9
11
|
throw new AppError({
|
|
10
12
|
details: getErrorDetail(routeObj),
|
|
11
|
-
hint: "
|
|
13
|
+
hint: "decryptedFields must be an array of field names.",
|
|
12
14
|
message: "Decryption configuration is invalid.",
|
|
13
15
|
statusCode: 409,
|
|
14
16
|
});
|
|
15
17
|
}
|
|
18
|
+
// Validate configuration is not empty.
|
|
16
19
|
if (!decArr.length) {
|
|
17
20
|
throw new AppError({
|
|
18
21
|
details: getErrorDetail(routeObj),
|
|
19
|
-
hint: "Add at least one field name to
|
|
22
|
+
hint: "Add at least one field name to decryptedFields.",
|
|
20
23
|
message: "Decryption configuration is empty.",
|
|
21
24
|
statusCode: 409,
|
|
22
25
|
});
|
|
23
26
|
}
|
|
24
27
|
const decrypted = {};
|
|
25
28
|
for (let field of decArr) {
|
|
29
|
+
// clean the optional
|
|
26
30
|
const optional = field.endsWith("?");
|
|
27
31
|
field = optional ? field.slice(0, -1) : field;
|
|
32
|
+
// Validate that the field exists in the request body.
|
|
28
33
|
if (!Object.hasOwn(item, field))
|
|
29
34
|
if (optional) {
|
|
30
35
|
continue;
|