@axiumine/koa-utils 3.7.3
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/LICENSE +236 -0
- package/dist/dataSources/MariaDB.d.mts +4 -0
- package/dist/dataSources/MariaDB.mjs +74 -0
- package/dist/dataSources/MariaDB.mjs.map +1 -0
- package/dist/dataSources/MongoDB.d.mts +2 -0
- package/dist/dataSources/MongoDB.mjs +35 -0
- package/dist/dataSources/MongoDB.mjs.map +1 -0
- package/dist/dataSources/PostgreSQL.d.mts +17 -0
- package/dist/dataSources/PostgreSQL.mjs +109 -0
- package/dist/dataSources/PostgreSQL.mjs.map +1 -0
- package/dist/dataSources/Redis.d.mts +4629 -0
- package/dist/dataSources/Redis.mjs +44 -0
- package/dist/dataSources/Redis.mjs.map +1 -0
- package/dist/email/SocketLabsLib.d.mts +109 -0
- package/dist/email/SocketLabsLib.mjs +500 -0
- package/dist/email/SocketLabsLib.mjs.map +1 -0
- package/dist/files/IUploadTemp.d.mts +4 -0
- package/dist/files/IUploadTemp.mjs +2 -0
- package/dist/files/IUploadTemp.mjs.map +1 -0
- package/dist/files/checkForNSFW.d.mts +1 -0
- package/dist/files/checkForNSFW.mjs +22 -0
- package/dist/files/checkForNSFW.mjs.map +1 -0
- package/dist/files/fileConst.d.mts +7 -0
- package/dist/files/fileConst.mjs +4 -0
- package/dist/files/fileConst.mjs.map +1 -0
- package/dist/files/moveFileStaticDomain.d.mts +8 -0
- package/dist/files/moveFileStaticDomain.mjs +13 -0
- package/dist/files/moveFileStaticDomain.mjs.map +1 -0
- package/dist/files/moveImageFile.d.mts +1 -0
- package/dist/files/moveImageFile.mjs +7 -0
- package/dist/files/moveImageFile.mjs.map +1 -0
- package/dist/files/moveTempFile.d.mts +7 -0
- package/dist/files/moveTempFile.mjs +18 -0
- package/dist/files/moveTempFile.mjs.map +1 -0
- package/dist/files/reEncodeToJpeg.d.mts +1 -0
- package/dist/files/reEncodeToJpeg.mjs +5 -0
- package/dist/files/reEncodeToJpeg.mjs.map +1 -0
- package/dist/files/reEncodeToPng.d.mts +1 -0
- package/dist/files/reEncodeToPng.mjs +5 -0
- package/dist/files/reEncodeToPng.mjs.map +1 -0
- package/dist/files/reEncodeToWebp.d.mts +1 -0
- package/dist/files/reEncodeToWebp.mjs +5 -0
- package/dist/files/reEncodeToWebp.mjs.map +1 -0
- package/dist/files/scanVirus.d.mts +6 -0
- package/dist/files/scanVirus.mjs +56 -0
- package/dist/files/scanVirus.mjs.map +1 -0
- package/dist/files/storeUploadAsTemp.d.mts +3 -0
- package/dist/files/storeUploadAsTemp.mjs +54 -0
- package/dist/files/storeUploadAsTemp.mjs.map +1 -0
- package/dist/files/uploadTempImage.d.mts +8 -0
- package/dist/files/uploadTempImage.mjs +42 -0
- package/dist/files/uploadTempImage.mjs.map +1 -0
- package/dist/files/uploadTempPdf.d.mts +8 -0
- package/dist/files/uploadTempPdf.mjs +42 -0
- package/dist/files/uploadTempPdf.mjs.map +1 -0
- package/dist/files/validateExtension.d.mts +6 -0
- package/dist/files/validateExtension.mjs +11 -0
- package/dist/files/validateExtension.mjs.map +1 -0
- package/dist/files/validateJpgPngExtension.d.mts +1 -0
- package/dist/files/validateJpgPngExtension.mjs +9 -0
- package/dist/files/validateJpgPngExtension.mjs.map +1 -0
- package/dist/files/validateMimeType.d.mts +6 -0
- package/dist/files/validateMimeType.mjs +18 -0
- package/dist/files/validateMimeType.mjs.map +1 -0
- package/dist/files/validateMimeTypeImages.d.mts +5 -0
- package/dist/files/validateMimeTypeImages.mjs +9 -0
- package/dist/files/validateMimeTypeImages.mjs.map +1 -0
- package/dist/files/validateMimeTypePdf.d.mts +5 -0
- package/dist/files/validateMimeTypePdf.mjs +9 -0
- package/dist/files/validateMimeTypePdf.mjs.map +1 -0
- package/dist/files/validatePdfExtension.d.mts +1 -0
- package/dist/files/validatePdfExtension.mjs +9 -0
- package/dist/files/validatePdfExtension.mjs.map +1 -0
- package/dist/graphQL/models/MongoDB/UserBase.d.mts +61 -0
- package/dist/graphQL/models/MongoDB/UserBase.mjs +112 -0
- package/dist/graphQL/models/MongoDB/UserBase.mjs.map +1 -0
- package/dist/graphQL/models/MongoDB/log/DevStatsGraphQLCalls.d.mts +25 -0
- package/dist/graphQL/models/MongoDB/log/DevStatsGraphQLCalls.mjs +36 -0
- package/dist/graphQL/models/MongoDB/log/DevStatsGraphQLCalls.mjs.map +1 -0
- package/dist/graphQL/models/MongoDB/log/LogGlobalError.d.mts +16 -0
- package/dist/graphQL/models/MongoDB/log/LogGlobalError.mjs +25 -0
- package/dist/graphQL/models/MongoDB/log/LogGlobalError.mjs.map +1 -0
- package/dist/graphQL/models/MongoDB/log/LogStatsGraphql.d.mts +18 -0
- package/dist/graphQL/models/MongoDB/log/LogStatsGraphql.mjs +33 -0
- package/dist/graphQL/models/MongoDB/log/LogStatsGraphql.mjs.map +1 -0
- package/dist/graphQL/models/MongoDB/log/LogThrow.d.mts +17 -0
- package/dist/graphQL/models/MongoDB/log/LogThrow.mjs +28 -0
- package/dist/graphQL/models/MongoDB/log/LogThrow.mjs.map +1 -0
- package/dist/graphQL/schema/GraphQLInput/GraphQLInputLogin.d.mts +2 -0
- package/dist/graphQL/schema/GraphQLInput/GraphQLInputLogin.mjs +9 -0
- package/dist/graphQL/schema/GraphQLInput/GraphQLInputLogin.mjs.map +1 -0
- package/dist/graphQL/schema/context/IContextAuthenticatedResource.d.mts +16 -0
- package/dist/graphQL/schema/context/IContextAuthenticatedResource.mjs +2 -0
- package/dist/graphQL/schema/context/IContextAuthenticatedResource.mjs.map +1 -0
- package/dist/graphQL/schema/context/IContextKoaErrorHandler.d.mts +11 -0
- package/dist/graphQL/schema/context/IContextKoaErrorHandler.mjs +2 -0
- package/dist/graphQL/schema/context/IContextKoaErrorHandler.mjs.map +1 -0
- package/dist/graphQL/schema/context/IContextLogin.d.mts +4 -0
- package/dist/graphQL/schema/context/IContextLogin.mjs +2 -0
- package/dist/graphQL/schema/context/IContextLogin.mjs.map +1 -0
- package/dist/graphQL/schema/context/IContextLogout.d.mts +18 -0
- package/dist/graphQL/schema/context/IContextLogout.mjs +2 -0
- package/dist/graphQL/schema/context/IContextLogout.mjs.map +1 -0
- package/dist/graphQL/schema/context/IContextRefresh.d.mts +19 -0
- package/dist/graphQL/schema/context/IContextRefresh.mjs +2 -0
- package/dist/graphQL/schema/context/IContextRefresh.mjs.map +1 -0
- package/dist/graphQL/schema/context/TCommonHeaders.d.mts +15 -0
- package/dist/graphQL/schema/context/TCommonHeaders.mjs +2 -0
- package/dist/graphQL/schema/context/TCommonHeaders.mjs.map +1 -0
- package/dist/graphQL/schema/interfaces/IFindAndUpdate.d.mts +16 -0
- package/dist/graphQL/schema/interfaces/IFindAndUpdate.mjs +2 -0
- package/dist/graphQL/schema/interfaces/IFindAndUpdate.mjs.map +1 -0
- package/dist/graphQL/schema/mutations/emailChangeHashVerify.d.mts +22 -0
- package/dist/graphQL/schema/mutations/emailChangeHashVerify.mjs +94 -0
- package/dist/graphQL/schema/mutations/emailChangeHashVerify.mjs.map +1 -0
- package/dist/graphQL/schema/mutations/login4Ever.d.mts +22 -0
- package/dist/graphQL/schema/mutations/login4Ever.mjs +60 -0
- package/dist/graphQL/schema/mutations/login4Ever.mjs.map +1 -0
- package/dist/graphQL/schema/mutations/loginAdmin.d.mts +29 -0
- package/dist/graphQL/schema/mutations/loginAdmin.mjs +59 -0
- package/dist/graphQL/schema/mutations/loginAdmin.mjs.map +1 -0
- package/dist/graphQL/schema/mutations/loginRememberme.d.mts +26 -0
- package/dist/graphQL/schema/mutations/loginRememberme.mjs +54 -0
- package/dist/graphQL/schema/mutations/loginRememberme.mjs.map +1 -0
- package/dist/graphQL/schema/mutations/logout.d.mts +7 -0
- package/dist/graphQL/schema/mutations/logout.mjs +28 -0
- package/dist/graphQL/schema/mutations/logout.mjs.map +1 -0
- package/dist/graphQL/schema/mutations/refresh.d.mts +10 -0
- package/dist/graphQL/schema/mutations/refresh.mjs +59 -0
- package/dist/graphQL/schema/mutations/refresh.mjs.map +1 -0
- package/dist/graphQL/schema/mutations/resetPwd.d.mts +19 -0
- package/dist/graphQL/schema/mutations/resetPwd.mjs +91 -0
- package/dist/graphQL/schema/mutations/resetPwd.mjs.map +1 -0
- package/dist/graphQL/schema/mutations/signUp.d.mts +19 -0
- package/dist/graphQL/schema/mutations/signUp.mjs +55 -0
- package/dist/graphQL/schema/mutations/signUp.mjs.map +1 -0
- package/dist/graphQL/schema/mutations/updatePassword.d.mts +23 -0
- package/dist/graphQL/schema/mutations/updatePassword.mjs +70 -0
- package/dist/graphQL/schema/mutations/updatePassword.mjs.map +1 -0
- package/dist/graphQL/schema/types/DeleteType.d.mts +6 -0
- package/dist/graphQL/schema/types/DeleteType.mjs +13 -0
- package/dist/graphQL/schema/types/DeleteType.mjs.map +1 -0
- package/dist/graphQL/schema/types/DoneType.d.mts +2 -0
- package/dist/graphQL/schema/types/DoneType.mjs +10 -0
- package/dist/graphQL/schema/types/DoneType.mjs.map +1 -0
- package/dist/graphQL/schema/types/FindOneAndUpdateType.d.mts +2 -0
- package/dist/graphQL/schema/types/FindOneAndUpdateType.mjs +15 -0
- package/dist/graphQL/schema/types/FindOneAndUpdateType.mjs.map +1 -0
- package/dist/graphQL/schema/types/LoginAppType.d.mts +2 -0
- package/dist/graphQL/schema/types/LoginAppType.mjs +11 -0
- package/dist/graphQL/schema/types/LoginAppType.mjs.map +1 -0
- package/dist/graphQL/schema/types/LoginType.d.mts +2 -0
- package/dist/graphQL/schema/types/LoginType.mjs +9 -0
- package/dist/graphQL/schema/types/LoginType.mjs.map +1 -0
- package/dist/graphQL/schema/types/MidNameType.d.mts +5 -0
- package/dist/graphQL/schema/types/MidNameType.mjs +12 -0
- package/dist/graphQL/schema/types/MidNameType.mjs.map +1 -0
- package/dist/graphQL/schema/types/OnlyIdType.d.mts +2 -0
- package/dist/graphQL/schema/types/OnlyIdType.mjs +8 -0
- package/dist/graphQL/schema/types/OnlyIdType.mjs.map +1 -0
- package/dist/graphQL/schema/types/RefreshType.d.mts +2 -0
- package/dist/graphQL/schema/types/RefreshType.mjs +10 -0
- package/dist/graphQL/schema/types/RefreshType.mjs.map +1 -0
- package/dist/graphQL/schema/types/RetStatusMexType.d.mts +2 -0
- package/dist/graphQL/schema/types/RetStatusMexType.mjs +9 -0
- package/dist/graphQL/schema/types/RetStatusMexType.mjs.map +1 -0
- package/dist/graphQL/schema/types/RetStatusType.d.mts +2 -0
- package/dist/graphQL/schema/types/RetStatusType.mjs +8 -0
- package/dist/graphQL/schema/types/RetStatusType.mjs.map +1 -0
- package/dist/graphQL/schema/types/SaveType.d.mts +2 -0
- package/dist/graphQL/schema/types/SaveType.mjs +9 -0
- package/dist/graphQL/schema/types/SaveType.mjs.map +1 -0
- package/dist/graphQL/schema/types/SidNameType.d.mts +5 -0
- package/dist/graphQL/schema/types/SidNameType.mjs +12 -0
- package/dist/graphQL/schema/types/SidNameType.mjs.map +1 -0
- package/dist/graphQL/schema/types/SidNomeType.d.mts +5 -0
- package/dist/graphQL/schema/types/SidNomeType.mjs +12 -0
- package/dist/graphQL/schema/types/SidNomeType.mjs.map +1 -0
- package/dist/graphQL/schema/types/UpdateResultType.d.mts +2 -0
- package/dist/graphQL/schema/types/UpdateResultType.mjs +9 -0
- package/dist/graphQL/schema/types/UpdateResultType.mjs.map +1 -0
- package/dist/graphQL/status.d.mts +7 -0
- package/dist/graphQL/status.mjs +8 -0
- package/dist/graphQL/status.mjs.map +1 -0
- package/dist/graphQL/throw/throwAccessTokenExpiredOrDeleted.d.mts +1 -0
- package/dist/graphQL/throw/throwAccessTokenExpiredOrDeleted.mjs +5 -0
- package/dist/graphQL/throw/throwAccessTokenExpiredOrDeleted.mjs.map +1 -0
- package/dist/graphQL/throw/throwAccessTokenRequired.d.mts +1 -0
- package/dist/graphQL/throw/throwAccessTokenRequired.mjs +5 -0
- package/dist/graphQL/throw/throwAccessTokenRequired.mjs.map +1 -0
- package/dist/graphQL/throw/throwAlreadyDone.d.mts +4 -0
- package/dist/graphQL/throw/throwAlreadyDone.mjs +8 -0
- package/dist/graphQL/throw/throwAlreadyDone.mjs.map +1 -0
- package/dist/graphQL/throw/throwAlreadyTakenError.d.mts +1 -0
- package/dist/graphQL/throw/throwAlreadyTakenError.mjs +6 -0
- package/dist/graphQL/throw/throwAlreadyTakenError.mjs.map +1 -0
- package/dist/graphQL/throw/throwConflictError.d.mts +1 -0
- package/dist/graphQL/throw/throwConflictError.mjs +6 -0
- package/dist/graphQL/throw/throwConflictError.mjs.map +1 -0
- package/dist/graphQL/throw/throwErrorWrongUserInput.d.mts +1 -0
- package/dist/graphQL/throw/throwErrorWrongUserInput.mjs +5 -0
- package/dist/graphQL/throw/throwErrorWrongUserInput.mjs.map +1 -0
- package/dist/graphQL/throw/throwForbiddenError.d.mts +1 -0
- package/dist/graphQL/throw/throwForbiddenError.mjs +5 -0
- package/dist/graphQL/throw/throwForbiddenError.mjs.map +1 -0
- package/dist/graphQL/throw/throwGoneError.d.mts +1 -0
- package/dist/graphQL/throw/throwGoneError.mjs +6 -0
- package/dist/graphQL/throw/throwGoneError.mjs.map +1 -0
- package/dist/graphQL/throw/throwGraphQLError.d.mts +1 -0
- package/dist/graphQL/throw/throwGraphQLError.mjs +10 -0
- package/dist/graphQL/throw/throwGraphQLError.mjs.map +1 -0
- package/dist/graphQL/throw/throwInternalError.d.mts +1 -0
- package/dist/graphQL/throw/throwInternalError.mjs +5 -0
- package/dist/graphQL/throw/throwInternalError.mjs.map +1 -0
- package/dist/graphQL/throw/throwMethodNotAllowedError.d.mts +1 -0
- package/dist/graphQL/throw/throwMethodNotAllowedError.mjs +6 -0
- package/dist/graphQL/throw/throwMethodNotAllowedError.mjs.map +1 -0
- package/dist/graphQL/throw/throwMissingMalformedInvalidToken.d.mts +1 -0
- package/dist/graphQL/throw/throwMissingMalformedInvalidToken.mjs +5 -0
- package/dist/graphQL/throw/throwMissingMalformedInvalidToken.mjs.map +1 -0
- package/dist/graphQL/throw/throwNotAcceptableError.d.mts +1 -0
- package/dist/graphQL/throw/throwNotAcceptableError.mjs +6 -0
- package/dist/graphQL/throw/throwNotAcceptableError.mjs.map +1 -0
- package/dist/graphQL/throw/throwNotFoundError.d.mts +1 -0
- package/dist/graphQL/throw/throwNotFoundError.mjs +6 -0
- package/dist/graphQL/throw/throwNotFoundError.mjs.map +1 -0
- package/dist/graphQL/throw/throwNotImplementedError.d.mts +1 -0
- package/dist/graphQL/throw/throwNotImplementedError.mjs +6 -0
- package/dist/graphQL/throw/throwNotImplementedError.mjs.map +1 -0
- package/dist/graphQL/throw/throwPaymentRequiredError.d.mts +1 -0
- package/dist/graphQL/throw/throwPaymentRequiredError.mjs +5 -0
- package/dist/graphQL/throw/throwPaymentRequiredError.mjs.map +1 -0
- package/dist/graphQL/throw/throwPreconditionFailedNoAuthCookie.d.mts +1 -0
- package/dist/graphQL/throw/throwPreconditionFailedNoAuthCookie.mjs +5 -0
- package/dist/graphQL/throw/throwPreconditionFailedNoAuthCookie.mjs.map +1 -0
- package/dist/graphQL/throw/throwPreconditionFailedNoAuthHeader.d.mts +1 -0
- package/dist/graphQL/throw/throwPreconditionFailedNoAuthHeader.mjs +5 -0
- package/dist/graphQL/throw/throwPreconditionFailedNoAuthHeader.mjs.map +1 -0
- package/dist/graphQL/throw/throwRefreshTokenExpiredOrDeleted.d.mts +1 -0
- package/dist/graphQL/throw/throwRefreshTokenExpiredOrDeleted.mjs +5 -0
- package/dist/graphQL/throw/throwRefreshTokenExpiredOrDeleted.mjs.map +1 -0
- package/dist/graphQL/throw/throwRefreshTokenRequired.d.mts +1 -0
- package/dist/graphQL/throw/throwRefreshTokenRequired.mjs +5 -0
- package/dist/graphQL/throw/throwRefreshTokenRequired.mjs.map +1 -0
- package/dist/graphQL/throw/throwRefreshTokenSignatureRequired.d.mts +1 -0
- package/dist/graphQL/throw/throwRefreshTokenSignatureRequired.mjs +5 -0
- package/dist/graphQL/throw/throwRefreshTokenSignatureRequired.mjs.map +1 -0
- package/dist/graphQL/throw/throwTooManyRequestsError.d.mts +1 -0
- package/dist/graphQL/throw/throwTooManyRequestsError.mjs +5 -0
- package/dist/graphQL/throw/throwTooManyRequestsError.mjs.map +1 -0
- package/dist/graphQL/throw/throwUnauthorizedError.d.mts +1 -0
- package/dist/graphQL/throw/throwUnauthorizedError.mjs +5 -0
- package/dist/graphQL/throw/throwUnauthorizedError.mjs.map +1 -0
- package/dist/graphQL/throw/throwUnprocessableContentError.d.mts +1 -0
- package/dist/graphQL/throw/throwUnprocessableContentError.mjs +5 -0
- package/dist/graphQL/throw/throwUnprocessableContentError.mjs.map +1 -0
- package/dist/graphQL/throw/throwUnsupportedMediaTypeError.d.mts +1 -0
- package/dist/graphQL/throw/throwUnsupportedMediaTypeError.mjs +5 -0
- package/dist/graphQL/throw/throwUnsupportedMediaTypeError.mjs.map +1 -0
- package/dist/koa/IFileUpload.d.mts +6 -0
- package/dist/koa/IFileUpload.mjs +2 -0
- package/dist/koa/IFileUpload.mjs.map +1 -0
- package/dist/koa/IKoaError.d.mts +15 -0
- package/dist/koa/IKoaError.mjs +2 -0
- package/dist/koa/IKoaError.mjs.map +1 -0
- package/dist/koa/customFormatErrorFn.d.mts +2 -0
- package/dist/koa/customFormatErrorFn.mjs +10 -0
- package/dist/koa/customFormatErrorFn.mjs.map +1 -0
- package/dist/koa/logRequestToDb.d.mts +3 -0
- package/dist/koa/logRequestToDb.mjs +16 -0
- package/dist/koa/logRequestToDb.mjs.map +1 -0
- package/dist/koa/middleware/authenticatedAuthorizationHandler/TCookieRefreshToken.d.mts +4 -0
- package/dist/koa/middleware/authenticatedAuthorizationHandler/TCookieRefreshToken.mjs +2 -0
- package/dist/koa/middleware/authenticatedAuthorizationHandler/TCookieRefreshToken.mjs.map +1 -0
- package/dist/koa/middleware/authenticatedAuthorizationHandler/index.d.mts +4 -0
- package/dist/koa/middleware/authenticatedAuthorizationHandler/index.mjs +35 -0
- package/dist/koa/middleware/authenticatedAuthorizationHandler/index.mjs.map +1 -0
- package/dist/koa/middleware/authenticatedAuthorizationHandler/verifySignedRefreshToken.d.mts +3 -0
- package/dist/koa/middleware/authenticatedAuthorizationHandler/verifySignedRefreshToken.mjs +41 -0
- package/dist/koa/middleware/authenticatedAuthorizationHandler/verifySignedRefreshToken.mjs.map +1 -0
- package/dist/koa/middleware/authenticatedLogoutHandler/index.d.mts +4 -0
- package/dist/koa/middleware/authenticatedLogoutHandler/index.mjs +65 -0
- package/dist/koa/middleware/authenticatedLogoutHandler/index.mjs.map +1 -0
- package/dist/koa/middleware/authenticatedResourceHandler/index.d.mts +6 -0
- package/dist/koa/middleware/authenticatedResourceHandler/index.mjs +47 -0
- package/dist/koa/middleware/authenticatedResourceHandler/index.mjs.map +1 -0
- package/dist/koa/middleware/debug/index.d.mts +3 -0
- package/dist/koa/middleware/debug/index.mjs +9 -0
- package/dist/koa/middleware/debug/index.mjs.map +1 -0
- package/dist/koa/router/verifyEmail.d.mts +2 -0
- package/dist/koa/router/verifyEmail.mjs +46 -0
- package/dist/koa/router/verifyEmail.mjs.map +1 -0
- package/dist/koa/tdwKoaErrorHandler.d.mts +3 -0
- package/dist/koa/tdwKoaErrorHandler.mjs +40 -0
- package/dist/koa/tdwKoaErrorHandler.mjs.map +1 -0
- package/dist/lib/ArrayLib.d.mts +4 -0
- package/dist/lib/ArrayLib.mjs +10 -0
- package/dist/lib/ArrayLib.mjs.map +1 -0
- package/dist/lib/Constants.d.mts +7 -0
- package/dist/lib/Constants.mjs +8 -0
- package/dist/lib/Constants.mjs.map +1 -0
- package/dist/lib/DateLib.d.mts +9 -0
- package/dist/lib/DateLib.mjs +36 -0
- package/dist/lib/DateLib.mjs.map +1 -0
- package/dist/lib/IAuthorizationDisDel.d.mts +4 -0
- package/dist/lib/IAuthorizationDisDel.mjs +2 -0
- package/dist/lib/IAuthorizationDisDel.mjs.map +1 -0
- package/dist/lib/ICookies.d.mts +13 -0
- package/dist/lib/ICookies.mjs +2 -0
- package/dist/lib/ICookies.mjs.map +1 -0
- package/dist/lib/MariaDB/IMariaDBErr.d.mts +6 -0
- package/dist/lib/MariaDB/IMariaDBErr.mjs +2 -0
- package/dist/lib/MariaDB/IMariaDBErr.mjs.map +1 -0
- package/dist/lib/MariaDB/MariaDBErrType.d.mts +3 -0
- package/dist/lib/MariaDB/MariaDBErrType.mjs +6 -0
- package/dist/lib/MariaDB/MariaDBErrType.mjs.map +1 -0
- package/dist/lib/MariaDB/throwSqlErrors.d.mts +2 -0
- package/dist/lib/MariaDB/throwSqlErrors.mjs +22 -0
- package/dist/lib/MariaDB/throwSqlErrors.mjs.map +1 -0
- package/dist/lib/MongoDB/IMongoDBError.d.mts +12 -0
- package/dist/lib/MongoDB/IMongoDBError.mjs +2 -0
- package/dist/lib/MongoDB/IMongoDBError.mjs.map +1 -0
- package/dist/lib/MongoDB/IOnboarding.d.mts +4 -0
- package/dist/lib/MongoDB/IOnboarding.mjs +2 -0
- package/dist/lib/MongoDB/IOnboarding.mjs.map +1 -0
- package/dist/lib/MongoDB/MongoDBErrType.d.mts +3 -0
- package/dist/lib/MongoDB/MongoDBErrType.mjs +5 -0
- package/dist/lib/MongoDB/MongoDBErrType.mjs.map +1 -0
- package/dist/lib/MongoDB/throwIfMongoErr.d.mts +2 -0
- package/dist/lib/MongoDB/throwIfMongoErr.mjs +16 -0
- package/dist/lib/MongoDB/throwIfMongoErr.mjs.map +1 -0
- package/dist/lib/MongoDB/throwMongoErrors.d.mts +2 -0
- package/dist/lib/MongoDB/throwMongoErrors.mjs +10 -0
- package/dist/lib/MongoDB/throwMongoErrors.mjs.map +1 -0
- package/dist/lib/NumLib.d.mts +10 -0
- package/dist/lib/NumLib.mjs +14 -0
- package/dist/lib/NumLib.mjs.map +1 -0
- package/dist/lib/PostgreSQL/IPostgresError.d.mts +6 -0
- package/dist/lib/PostgreSQL/IPostgresError.mjs +2 -0
- package/dist/lib/PostgreSQL/IPostgresError.mjs.map +1 -0
- package/dist/lib/PostgreSQL/IPostgresErrorCodes.d.mts +3 -0
- package/dist/lib/PostgreSQL/IPostgresErrorCodes.mjs +5 -0
- package/dist/lib/PostgreSQL/IPostgresErrorCodes.mjs.map +1 -0
- package/dist/lib/PostgreSQL/makePostgreSqlLogError.d.mts +2 -0
- package/dist/lib/PostgreSQL/makePostgreSqlLogError.mjs +4 -0
- package/dist/lib/PostgreSQL/makePostgreSqlLogError.mjs.map +1 -0
- package/dist/lib/Redis/RedisBoolean.d.mts +4 -0
- package/dist/lib/Redis/RedisBoolean.mjs +6 -0
- package/dist/lib/Redis/RedisBoolean.mjs.map +1 -0
- package/dist/lib/Redis/fromRedisBooleanValue.d.mts +2 -0
- package/dist/lib/Redis/fromRedisBooleanValue.mjs +5 -0
- package/dist/lib/Redis/fromRedisBooleanValue.mjs.map +1 -0
- package/dist/lib/Redis/toRedisBooleanValue.d.mts +2 -0
- package/dist/lib/Redis/toRedisBooleanValue.mjs +5 -0
- package/dist/lib/Redis/toRedisBooleanValue.mjs.map +1 -0
- package/dist/lib/StringLib.d.mts +16 -0
- package/dist/lib/StringLib.mjs +58 -0
- package/dist/lib/StringLib.mjs.map +1 -0
- package/dist/lib/checkEmailLen.d.mts +1 -0
- package/dist/lib/checkEmailLen.mjs +11 -0
- package/dist/lib/checkEmailLen.mjs.map +1 -0
- package/dist/lib/checkPwdLen.d.mts +1 -0
- package/dist/lib/checkPwdLen.mjs +13 -0
- package/dist/lib/checkPwdLen.mjs.map +1 -0
- package/dist/lib/db/log/hitStat.d.mts +1 -0
- package/dist/lib/db/log/hitStat.mjs +13 -0
- package/dist/lib/db/log/hitStat.mjs.map +1 -0
- package/dist/lib/db/log/logGlobalError.d.mts +6 -0
- package/dist/lib/db/log/logGlobalError.mjs +12 -0
- package/dist/lib/db/log/logGlobalError.mjs.map +1 -0
- package/dist/lib/db/log/logGraphql.d.mts +9 -0
- package/dist/lib/db/log/logGraphql.mjs +27 -0
- package/dist/lib/db/log/logGraphql.mjs.map +1 -0
- package/dist/lib/db/log/logThrow.d.mts +1 -0
- package/dist/lib/db/log/logThrow.mjs +15 -0
- package/dist/lib/db/log/logThrow.mjs.map +1 -0
- package/dist/lib/db/login/ILoginSet.d.mts +7 -0
- package/dist/lib/db/login/ILoginSet.mjs +2 -0
- package/dist/lib/db/login/ILoginSet.mjs.map +1 -0
- package/dist/lib/db/login/ILoginUnset.d.mts +5 -0
- package/dist/lib/db/login/ILoginUnset.mjs +2 -0
- package/dist/lib/db/login/ILoginUnset.mjs.map +1 -0
- package/dist/lib/db/registerNewUser.d.mts +2 -0
- package/dist/lib/db/registerNewUser.mjs +33 -0
- package/dist/lib/db/registerNewUser.mjs.map +1 -0
- package/dist/lib/db/userExist.d.mts +2 -0
- package/dist/lib/db/userExist.mjs +8 -0
- package/dist/lib/db/userExist.mjs.map +1 -0
- package/dist/lib/emailHash.d.mts +1 -0
- package/dist/lib/emailHash.mjs +7 -0
- package/dist/lib/emailHash.mjs.map +1 -0
- package/dist/lib/encryptPassword.d.mts +1 -0
- package/dist/lib/encryptPassword.mjs +6 -0
- package/dist/lib/encryptPassword.mjs.map +1 -0
- package/dist/lib/hash.d.mts +6 -0
- package/dist/lib/hash.mjs +15 -0
- package/dist/lib/hash.mjs.map +1 -0
- package/dist/lib/makeOnboardingData.d.mts +2 -0
- package/dist/lib/makeOnboardingData.mjs +4 -0
- package/dist/lib/makeOnboardingData.mjs.map +1 -0
- package/dist/lib/setLoginCookies.d.mts +2 -0
- package/dist/lib/setLoginCookies.mjs +10 -0
- package/dist/lib/setLoginCookies.mjs.map +1 -0
- package/dist/lib/sleepMs.d.mts +1 -0
- package/dist/lib/sleepMs.mjs +2 -0
- package/dist/lib/sleepMs.mjs.map +1 -0
- package/dist/lib/throwIfNotValidEnumValue.d.mts +1 -0
- package/dist/lib/throwIfNotValidEnumValue.mjs +8 -0
- package/dist/lib/throwIfNotValidEnumValue.mjs.map +1 -0
- package/dist/lib/tokenOptions.d.mts +12 -0
- package/dist/lib/tokenOptions.mjs +17 -0
- package/dist/lib/tokenOptions.mjs.map +1 -0
- package/dist/lib/tokens.d.mts +4 -0
- package/dist/lib/tokens.mjs +22 -0
- package/dist/lib/tokens.mjs.map +1 -0
- package/dist/lib/tryCatchRethrow.d.mts +2 -0
- package/dist/lib/tryCatchRethrow.mjs +20 -0
- package/dist/lib/tryCatchRethrow.mjs.map +1 -0
- package/dist/private/files/_validateMimeType.d.mts +6 -0
- package/dist/private/files/_validateMimeType.mjs +21 -0
- package/dist/private/files/_validateMimeType.mjs.map +1 -0
- package/dist/private/files/reEncode.d.mts +10 -0
- package/dist/private/files/reEncode.mjs +61 -0
- package/dist/private/files/reEncode.mjs.map +1 -0
- package/dist/private/graphQL/Consts.d.mts +2 -0
- package/dist/private/graphQL/Consts.mjs +3 -0
- package/dist/private/graphQL/Consts.mjs.map +1 -0
- package/dist/private/graphQL/models/MongoDB/private/UserAdminKoaUtils.d.mts +58 -0
- package/dist/private/graphQL/models/MongoDB/private/UserAdminKoaUtils.mjs +107 -0
- package/dist/private/graphQL/models/MongoDB/private/UserAdminKoaUtils.mjs.map +1 -0
- package/dist/private/graphQL/schema/context/IContextLog.d.mts +15 -0
- package/dist/private/graphQL/schema/context/IContextLog.mjs +2 -0
- package/dist/private/graphQL/schema/context/IContextLog.mjs.map +1 -0
- package/dist/private/graphQL/schema/context/IContextVerifyEmail.d.mts +7 -0
- package/dist/private/graphQL/schema/context/IContextVerifyEmail.mjs +2 -0
- package/dist/private/graphQL/schema/context/IContextVerifyEmail.mjs.map +1 -0
- package/dist/private/graphQL/schema/mutations/checkUserAdminLoginAuthorization.d.mts +5 -0
- package/dist/private/graphQL/schema/mutations/checkUserAdminLoginAuthorization.mjs +30 -0
- package/dist/private/graphQL/schema/mutations/checkUserAdminLoginAuthorization.mjs.map +1 -0
- package/dist/private/graphQL/schema/mutations/checkUserLoginAuthorization.d.mts +5 -0
- package/dist/private/graphQL/schema/mutations/checkUserLoginAuthorization.mjs +32 -0
- package/dist/private/graphQL/schema/mutations/checkUserLoginAuthorization.mjs.map +1 -0
- package/dist/private/graphQL/schema/mutations/infoUserAdminForLogin.d.mts +3 -0
- package/dist/private/graphQL/schema/mutations/infoUserAdminForLogin.mjs +14 -0
- package/dist/private/graphQL/schema/mutations/infoUserAdminForLogin.mjs.map +1 -0
- package/dist/private/graphQL/schema/mutations/infoUserForLogin.d.mts +3 -0
- package/dist/private/graphQL/schema/mutations/infoUserForLogin.mjs +14 -0
- package/dist/private/graphQL/schema/mutations/infoUserForLogin.mjs.map +1 -0
- package/dist/private/graphQL/schema/mutations/infoUserForLoginSQL.d.mts +8 -0
- package/dist/private/graphQL/schema/mutations/infoUserForLoginSQL.mjs +16 -0
- package/dist/private/graphQL/schema/mutations/infoUserForLoginSQL.mjs.map +1 -0
- package/dist/private/graphQL/schema/mutations/setLastLoginSQL.d.mts +1 -0
- package/dist/private/graphQL/schema/mutations/setLastLoginSQL.mjs +25 -0
- package/dist/private/graphQL/schema/mutations/setLastLoginSQL.mjs.map +1 -0
- package/dist/private/graphQL/schema/mutations/setRedisLoginSession.d.mts +2 -0
- package/dist/private/graphQL/schema/mutations/setRedisLoginSession.mjs +33 -0
- package/dist/private/graphQL/schema/mutations/setRedisLoginSession.mjs.map +1 -0
- package/dist/private/graphQL/schema/mutations/updateAdminLoginStats.d.mts +2 -0
- package/dist/private/graphQL/schema/mutations/updateAdminLoginStats.mjs +27 -0
- package/dist/private/graphQL/schema/mutations/updateAdminLoginStats.mjs.map +1 -0
- package/dist/private/graphQL/schema/mutations/updateLoginStats4ever.d.mts +2 -0
- package/dist/private/graphQL/schema/mutations/updateLoginStats4ever.mjs +18 -0
- package/dist/private/graphQL/schema/mutations/updateLoginStats4ever.mjs.map +1 -0
- package/dist/private/graphQL/schema/mutations/updateLoginStatsRememberme.d.mts +2 -0
- package/dist/private/graphQL/schema/mutations/updateLoginStatsRememberme.mjs +27 -0
- package/dist/private/graphQL/schema/mutations/updateLoginStatsRememberme.mjs.map +1 -0
- package/dist/private/lib/access/Constants.d.mts +2 -0
- package/dist/private/lib/access/Constants.mjs +4 -0
- package/dist/private/lib/access/Constants.mjs.map +1 -0
- package/dist/private/lib/access/db/confirmNewEmail.d.mts +2 -0
- package/dist/private/lib/access/db/confirmNewEmail.mjs +13 -0
- package/dist/private/lib/access/db/confirmNewEmail.mjs.map +1 -0
- package/dist/private/lib/access/db/deleteUserByEmail.d.mts +1 -0
- package/dist/private/lib/access/db/deleteUserByEmail.mjs +8 -0
- package/dist/private/lib/access/db/deleteUserByEmail.mjs.map +1 -0
- package/dist/private/lib/access/db/enableEmailAccess.d.mts +2 -0
- package/dist/private/lib/access/db/enableEmailAccess.mjs +17 -0
- package/dist/private/lib/access/db/enableEmailAccess.mjs.map +1 -0
- package/dist/private/lib/access/db/getResetPwd.d.mts +7 -0
- package/dist/private/lib/access/db/getResetPwd.mjs +24 -0
- package/dist/private/lib/access/db/getResetPwd.mjs.map +1 -0
- package/dist/private/lib/access/db/incReqTimes.d.mts +2 -0
- package/dist/private/lib/access/db/incReqTimes.mjs +5 -0
- package/dist/private/lib/access/db/incReqTimes.mjs.map +1 -0
- package/dist/private/lib/access/db/removeResetReq.d.mts +2 -0
- package/dist/private/lib/access/db/removeResetReq.mjs +7 -0
- package/dist/private/lib/access/db/removeResetReq.mjs.map +1 -0
- package/dist/private/lib/access/db/saveResetReq.d.mts +2 -0
- package/dist/private/lib/access/db/saveResetReq.mjs +17 -0
- package/dist/private/lib/access/db/saveResetReq.mjs.map +1 -0
- package/dist/private/lib/access/db/setEmailHash.d.mts +2 -0
- package/dist/private/lib/access/db/setEmailHash.mjs +16 -0
- package/dist/private/lib/access/db/setEmailHash.mjs.map +1 -0
- package/dist/private/lib/access/db/updatePasswordDb.d.mts +2 -0
- package/dist/private/lib/access/db/updatePasswordDb.mjs +8 -0
- package/dist/private/lib/access/db/updatePasswordDb.mjs.map +1 -0
- package/dist/private/lib/access/db/userData4VerifyEmail.d.mts +3 -0
- package/dist/private/lib/access/db/userData4VerifyEmail.mjs +16 -0
- package/dist/private/lib/access/db/userData4VerifyEmail.mjs.map +1 -0
- package/dist/private/lib/access/handleBadDB.d.mts +1 -0
- package/dist/private/lib/access/handleBadDB.mjs +9 -0
- package/dist/private/lib/access/handleBadDB.mjs.map +1 -0
- package/dist/private/lib/access/handleIfAccountDeleted.d.mts +1 -0
- package/dist/private/lib/access/handleIfAccountDeleted.mjs +10 -0
- package/dist/private/lib/access/handleIfAccountDeleted.mjs.map +1 -0
- package/dist/private/lib/access/handleIfAccountDisabled.d.mts +1 -0
- package/dist/private/lib/access/handleIfAccountDisabled.mjs +10 -0
- package/dist/private/lib/access/handleIfAccountDisabled.mjs.map +1 -0
- package/dist/private/lib/access/handleIfEmailAlreadyValid.d.mts +1 -0
- package/dist/private/lib/access/handleIfEmailAlreadyValid.mjs +10 -0
- package/dist/private/lib/access/handleIfEmailAlreadyValid.mjs.map +1 -0
- package/dist/private/lib/access/handleIfHashBad.d.mts +11 -0
- package/dist/private/lib/access/handleIfHashBad.mjs +22 -0
- package/dist/private/lib/access/handleIfHashBad.mjs.map +1 -0
- package/dist/private/lib/access/handleIfMoreThan3DaysPassed.d.mts +1 -0
- package/dist/private/lib/access/handleIfMoreThan3DaysPassed.mjs +23 -0
- package/dist/private/lib/access/handleIfMoreThan3DaysPassed.mjs.map +1 -0
- package/dist/private/lib/access/handleIfTooMuchRequestsTimes.d.mts +1 -0
- package/dist/private/lib/access/handleIfTooMuchRequestsTimes.mjs +13 -0
- package/dist/private/lib/access/handleIfTooMuchRequestsTimes.mjs.map +1 -0
- package/dist/private/lib/makeBodyJson.d.mts +1 -0
- package/dist/private/lib/makeBodyJson.mjs +7 -0
- package/dist/private/lib/makeBodyJson.mjs.map +1 -0
- package/package.json +656 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as Sentry from '@sentry/node';
|
|
2
|
+
import * as dotenv from 'dotenv';
|
|
3
|
+
import { createClient, createCluster } from 'redis';
|
|
4
|
+
dotenv.config();
|
|
5
|
+
export const redisClient = process.env.REDIS_IS_CLUSTER === '1'
|
|
6
|
+
? createCluster({
|
|
7
|
+
rootNodes: [
|
|
8
|
+
{ url: `redis://${process.env.REDIS_DB1_HOST}:${process.env.REDIS_DB1_PORT}` },
|
|
9
|
+
{ url: `redis://${process.env.REDIS_DB2_HOST}:${process.env.REDIS_DB2_PORT}` },
|
|
10
|
+
{ url: `redis://${process.env.REDIS_DB3_HOST}:${process.env.REDIS_DB3_PORT}` }
|
|
11
|
+
],
|
|
12
|
+
defaults: {
|
|
13
|
+
username: process.env.REDIS_USERNAME,
|
|
14
|
+
password: process.env.REDIS_PASSWORD
|
|
15
|
+
}
|
|
16
|
+
})
|
|
17
|
+
: createClient({ url: process.env.REDIS_URL });
|
|
18
|
+
export const RedisConnect = async () => {
|
|
19
|
+
console.info('[Redis] Try connect to database... ');
|
|
20
|
+
redisClient.on('error', e => {
|
|
21
|
+
console.error('Redis Client Error');
|
|
22
|
+
Sentry.captureException(e);
|
|
23
|
+
});
|
|
24
|
+
await redisClient.connect();
|
|
25
|
+
console.info('[Redis] OK: Redis connection has been established successfully. ');
|
|
26
|
+
};
|
|
27
|
+
export async function RedisDisconnect() {
|
|
28
|
+
console.info('[Redis] Try close connection to database... ');
|
|
29
|
+
try {
|
|
30
|
+
await redisClient.quit(); // Gracefully close a client's connection to Redis
|
|
31
|
+
console.info('[Redis] OK: Redis connection has been closed successfully.');
|
|
32
|
+
}
|
|
33
|
+
catch (e) {
|
|
34
|
+
if (e instanceof Error && e.message === 'The client is closed') {
|
|
35
|
+
console.info('[Redis] Client was already closed');
|
|
36
|
+
return; // Continue execution if client is already closed
|
|
37
|
+
}
|
|
38
|
+
// For any other errors, log and re-throw
|
|
39
|
+
console.error('[Redis] Error during disconnection');
|
|
40
|
+
Sentry.captureException(e);
|
|
41
|
+
throw e;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=Redis.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Redis.mjs","sourceRoot":"","sources":["../../../src/dataSources/Redis.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAEnD,MAAM,CAAC,MAAM,EAAE,CAAA;AAEf,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,GAAG;IAC9D,CAAC,CAAC,aAAa,CAAC;QACf,SAAS,EAAE;YACV,EAAE,GAAG,EAAE,WAAW,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE;YAC9E,EAAE,GAAG,EAAE,WAAW,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE;YAC9E,EAAE,GAAG,EAAE,WAAW,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE;SAC9E;QACD,QAAQ,EAAE;YACT,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;YACpC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;SACpC;KACD,CAAC;IACF,CAAC,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAA;AAE/C,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;IACtC,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAA;IAEnD,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;QAC3B,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QACnC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IACF,MAAM,WAAW,CAAC,OAAO,EAAE,CAAA;IAC3B,OAAO,CAAC,IAAI,CACX,kEAAkE,CAClE,CAAA;AACF,CAAC,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACpC,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;IAC5D,IAAI,CAAC;QACJ,MAAM,WAAW,CAAC,IAAI,EAAE,CAAA,CAAC,kDAAkD;QAC3E,OAAO,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAA;IAC3E,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,sBAAsB,EAAE,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA;YACjD,OAAM,CAAC,iDAAiD;QACzD,CAAC;QACD,yCAAyC;QACzC,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAA;QACnD,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;QAC1B,MAAM,CAAC,CAAA;IACR,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
interface IInfoUtente {
|
|
2
|
+
_id: string;
|
|
3
|
+
personalData: {
|
|
4
|
+
name: string;
|
|
5
|
+
surname: string;
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
export declare class SocketLabsLib {
|
|
9
|
+
private StringObj;
|
|
10
|
+
private readonly platformName;
|
|
11
|
+
private readonly linkBase;
|
|
12
|
+
private readonly emailFrom;
|
|
13
|
+
private client;
|
|
14
|
+
private readonly emailHtmlHeader1;
|
|
15
|
+
private readonly emailHtmlHeader2;
|
|
16
|
+
private readonly emailHtmlFooter;
|
|
17
|
+
constructor(htmlHeader1?: string, htmlHeader2?: string, htmlFooter?: string);
|
|
18
|
+
sendEmailVerify(emailTo: string, hash: string, name?: string): Promise<boolean>;
|
|
19
|
+
/**
|
|
20
|
+
* @fixme gestire retry
|
|
21
|
+
*
|
|
22
|
+
statusCode: ECONNABORTED
|
|
23
|
+
Error in sending the email
|
|
24
|
+
SendResponse {
|
|
25
|
+
transactionReceipt: null,
|
|
26
|
+
addressResults: null,
|
|
27
|
+
result: {
|
|
28
|
+
name: 'Timeout',
|
|
29
|
+
value: 1,
|
|
30
|
+
message: 'A timeout occurred sending the message'
|
|
31
|
+
},
|
|
32
|
+
responseMessage: 'A timeout occurred sending the message'
|
|
33
|
+
}
|
|
34
|
+
*/
|
|
35
|
+
sendEmailChangeVerify(emailTo: string, hash: string, name?: string): Promise<boolean>;
|
|
36
|
+
sendWelcome(emailTo: string): Promise<boolean>;
|
|
37
|
+
/**
|
|
38
|
+
* Send account disabled notification
|
|
39
|
+
* @param emailTo
|
|
40
|
+
*/
|
|
41
|
+
accountDisabled(emailTo: string): Promise<boolean>;
|
|
42
|
+
/**
|
|
43
|
+
* Send account disabled notification
|
|
44
|
+
* @param emailTo
|
|
45
|
+
*/
|
|
46
|
+
accountBanned(emailTo: string): Promise<boolean>;
|
|
47
|
+
/**
|
|
48
|
+
* alertDevTeam
|
|
49
|
+
* @param err
|
|
50
|
+
*/
|
|
51
|
+
alertDevTeam(err: string): Promise<boolean>;
|
|
52
|
+
/**
|
|
53
|
+
*
|
|
54
|
+
* @param emailTo
|
|
55
|
+
* @param times
|
|
56
|
+
*/
|
|
57
|
+
wrongHash(emailTo: string, times: number): Promise<boolean>;
|
|
58
|
+
/*****************
|
|
59
|
+
* Too much verify requests
|
|
60
|
+
* @param emailTo
|
|
61
|
+
* @returns {Promise<string|null>}
|
|
62
|
+
*/
|
|
63
|
+
tooMuchVerifyRequests(emailTo: string): Promise<boolean>;
|
|
64
|
+
/*****************
|
|
65
|
+
* @param emailTo
|
|
66
|
+
* @returns {Promise<string|null>}
|
|
67
|
+
*/
|
|
68
|
+
hashReqTooOld(emailTo: string): Promise<boolean>;
|
|
69
|
+
/*****************
|
|
70
|
+
* @param emailTo
|
|
71
|
+
* @returns {Promise<string|null>}
|
|
72
|
+
*/
|
|
73
|
+
emailAlreadyValid(emailTo: string): Promise<boolean>;
|
|
74
|
+
/**
|
|
75
|
+
* Send subscription email
|
|
76
|
+
* @param emailTo
|
|
77
|
+
* @param otp
|
|
78
|
+
*/
|
|
79
|
+
sendSubscriptionEmail(emailTo: string, otp: string): Promise<boolean>;
|
|
80
|
+
sendConfermaResetPwd(emailTo: string, name?: string): Promise<boolean>;
|
|
81
|
+
sendConfermaResetPwdHash(email: string, name: string, hash: string): Promise<true | null>;
|
|
82
|
+
sendEmailReset(emailTo: string, hash: string, name?: string): Promise<boolean>;
|
|
83
|
+
/**
|
|
84
|
+
* fallback footer
|
|
85
|
+
*/
|
|
86
|
+
htmlFooter(): string;
|
|
87
|
+
/**
|
|
88
|
+
* send OTP
|
|
89
|
+
* @param emailTo
|
|
90
|
+
* @param otp
|
|
91
|
+
*/
|
|
92
|
+
sendOTP(emailTo: string, otp: string): Promise<null>;
|
|
93
|
+
sendEmailPostSegnalato(infoUtente: IInfoUtente, idPost: number | string): Promise<boolean>;
|
|
94
|
+
getHtmlHeader(title: string): string;
|
|
95
|
+
getHtmlFooter(): string;
|
|
96
|
+
private sendEmail;
|
|
97
|
+
/**
|
|
98
|
+
* fallback header
|
|
99
|
+
* @private
|
|
100
|
+
*/
|
|
101
|
+
private htmlHeader1;
|
|
102
|
+
/**
|
|
103
|
+
* fallback header
|
|
104
|
+
* @private
|
|
105
|
+
*/
|
|
106
|
+
private htmlHeader2;
|
|
107
|
+
private fixName;
|
|
108
|
+
}
|
|
109
|
+
export {};
|
|
@@ -0,0 +1,500 @@
|
|
|
1
|
+
import { StringLib } from "../lib/StringLib.mjs";
|
|
2
|
+
import * as Sentry from '@sentry/node';
|
|
3
|
+
import { BasicMessage, SocketLabsClient } from '@socketlabs/email';
|
|
4
|
+
import { throwInternalError } from "../graphQL/throw/throwInternalError.mjs";
|
|
5
|
+
import * as dotenv from 'dotenv';
|
|
6
|
+
dotenv.config();
|
|
7
|
+
export class SocketLabsLib {
|
|
8
|
+
StringObj;
|
|
9
|
+
platformName;
|
|
10
|
+
linkBase;
|
|
11
|
+
emailFrom;
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
|
+
client;
|
|
14
|
+
emailHtmlHeader1;
|
|
15
|
+
emailHtmlHeader2;
|
|
16
|
+
emailHtmlFooter;
|
|
17
|
+
constructor(htmlHeader1 = '', htmlHeader2 = '', htmlFooter = '') {
|
|
18
|
+
this.client = new SocketLabsClient(parseInt(process.env.SOCKETLABS_SERVER_ID || '0'), `${process.env.SOCKETLABS_SERVER_APIKEY}`, { requestTimeout: 120, numberOfRetries: 3 });
|
|
19
|
+
this.StringObj = new StringLib();
|
|
20
|
+
this.platformName = `${process.env.PLATFORM_NAME}`;
|
|
21
|
+
this.linkBase = `${process.env.APP_DOMAIN}`;
|
|
22
|
+
this.emailFrom = `${process.env.EMAIL_FROM}`;
|
|
23
|
+
this.emailHtmlHeader1 =
|
|
24
|
+
htmlHeader1 === '' ? this.htmlHeader1() : htmlHeader1;
|
|
25
|
+
this.emailHtmlHeader2 =
|
|
26
|
+
htmlHeader2 === '' ? this.htmlHeader2() : htmlHeader2;
|
|
27
|
+
this.emailHtmlFooter = htmlFooter === '' ? this.htmlFooter() : htmlFooter;
|
|
28
|
+
}
|
|
29
|
+
async sendEmailVerify(emailTo, hash, name = '') {
|
|
30
|
+
const subject = `Conferma l'email per ${this.platformName}`;
|
|
31
|
+
const encodedEmail = encodeURI(emailTo);
|
|
32
|
+
const nameFixed = this.fixName(name);
|
|
33
|
+
const link = `${this.linkBase}/check/verify-email/${encodedEmail}/${hash}`;
|
|
34
|
+
const linkHtml = this.StringObj.makeLink(link);
|
|
35
|
+
const messaggioTxt = `Ciao${nameFixed}, tu o qualcuno ti sta registrando su ${this.platformName}.
|
|
36
|
+
Puoi confermare la registrazione copiando questo link ${link} nel browser. Lo staff`;
|
|
37
|
+
const messaggioHtml = `Ciao${nameFixed},<br>tu o qualcuno ti sta registrando su ${this.platformName}.<br><br>
|
|
38
|
+
Puoi confermare la registrazione visitando questo link ${linkHtml}<br><br>
|
|
39
|
+
<br><br>Lo staff`;
|
|
40
|
+
const message = {
|
|
41
|
+
emailFrom: this.emailFrom,
|
|
42
|
+
emailFromName: this.platformName,
|
|
43
|
+
emailTo,
|
|
44
|
+
subject,
|
|
45
|
+
textBody: messaggioTxt,
|
|
46
|
+
htmlBody: messaggioHtml
|
|
47
|
+
};
|
|
48
|
+
return await this.sendEmail(message);
|
|
49
|
+
}
|
|
50
|
+
/*
|
|
51
|
+
async sendEmailPostSegnalato(infoUtente, idPost) {
|
|
52
|
+
const subject = 'Post ' + idPost + ' segnalato'
|
|
53
|
+
|
|
54
|
+
const messaggioTxt =
|
|
55
|
+
'Ciao, il post ' +
|
|
56
|
+
idPost +
|
|
57
|
+
' è stato segnalato da ' +
|
|
58
|
+
infoUtente.personalData.name +
|
|
59
|
+
' ' +
|
|
60
|
+
infoUtente.personalData.surname +
|
|
61
|
+
' (id: ' +
|
|
62
|
+
infoUtente._id +
|
|
63
|
+
').'
|
|
64
|
+
|
|
65
|
+
const messaggioHtml =
|
|
66
|
+
this.getHtmlHeader(subject) +
|
|
67
|
+
'Ciao, il post ' +
|
|
68
|
+
idPost +
|
|
69
|
+
' è stato segnalato da ' +
|
|
70
|
+
infoUtente.personalData.name +
|
|
71
|
+
' ' +
|
|
72
|
+
infoUtente.personalData.surname +
|
|
73
|
+
' (id: ' +
|
|
74
|
+
infoUtente._id +
|
|
75
|
+
').' +
|
|
76
|
+
this.getHtmlFooter()
|
|
77
|
+
|
|
78
|
+
const message = {
|
|
79
|
+
emailFrom: this.emailFrom,
|
|
80
|
+
emailFromName: this.platformName,
|
|
81
|
+
emailTo: 'giovannimanzoni87@gmail.com',
|
|
82
|
+
subject,
|
|
83
|
+
textBody: messaggioTxt,
|
|
84
|
+
htmlBody: messaggioHtml
|
|
85
|
+
}
|
|
86
|
+
return await this.sendEmail(message)
|
|
87
|
+
}
|
|
88
|
+
*/
|
|
89
|
+
/**
|
|
90
|
+
* @fixme gestire retry
|
|
91
|
+
*
|
|
92
|
+
statusCode: ECONNABORTED
|
|
93
|
+
Error in sending the email
|
|
94
|
+
SendResponse {
|
|
95
|
+
transactionReceipt: null,
|
|
96
|
+
addressResults: null,
|
|
97
|
+
result: {
|
|
98
|
+
name: 'Timeout',
|
|
99
|
+
value: 1,
|
|
100
|
+
message: 'A timeout occurred sending the message'
|
|
101
|
+
},
|
|
102
|
+
responseMessage: 'A timeout occurred sending the message'
|
|
103
|
+
}
|
|
104
|
+
*/
|
|
105
|
+
async sendEmailChangeVerify(emailTo, hash, name = '') {
|
|
106
|
+
const encodedEmail = encodeURI(emailTo);
|
|
107
|
+
const subject = `Conferma l'email per ${this.platformName}`;
|
|
108
|
+
const nameFixed = this.fixName(name);
|
|
109
|
+
const link = `${this.linkBase}/check/verify-change-email/${encodedEmail}/${hash}`;
|
|
110
|
+
const linkHtml = this.StringObj.makeLink(link);
|
|
111
|
+
const messaggioTxt = `Ciao${nameFixed}, tu o qualcuno ha modificato l'email con cui accedi.
|
|
112
|
+
Puoi confermare copiando questo link ${link} nel browser. Lo staff.`;
|
|
113
|
+
const messaggioHtml = `Ciao${nameFixed},<br>tu o qualcuno ha modificato l'email con cui accedi.<br><br>" +
|
|
114
|
+
'Puoi confermare la registrazione visitando questo link ${linkHtml}
|
|
115
|
+
<br><br>Lo staff.`;
|
|
116
|
+
const message = {
|
|
117
|
+
emailFrom: this.emailFrom,
|
|
118
|
+
emailFromName: this.platformName,
|
|
119
|
+
emailTo,
|
|
120
|
+
subject,
|
|
121
|
+
textBody: messaggioTxt,
|
|
122
|
+
htmlBody: messaggioHtml
|
|
123
|
+
};
|
|
124
|
+
return await this.sendEmail(message);
|
|
125
|
+
}
|
|
126
|
+
async sendWelcome(emailTo) {
|
|
127
|
+
const subject = `Benvenuto su ${this.platformName}`;
|
|
128
|
+
const linkHtml = this.StringObj.makeLink(this.linkBase, this.platformName);
|
|
129
|
+
const messaggioTxt = `Benvenuto su ${this.platformName}`;
|
|
130
|
+
const messaggioHtml = `Benvenuto su ${linkHtml}`;
|
|
131
|
+
const message = {
|
|
132
|
+
emailFrom: this.emailFrom,
|
|
133
|
+
emailFromName: this.platformName,
|
|
134
|
+
emailTo,
|
|
135
|
+
subject,
|
|
136
|
+
textBody: messaggioTxt,
|
|
137
|
+
htmlBody: messaggioHtml
|
|
138
|
+
};
|
|
139
|
+
return await this.sendEmail(message);
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Send account disabled notification
|
|
143
|
+
* @param emailTo
|
|
144
|
+
*/
|
|
145
|
+
async accountDisabled(emailTo) {
|
|
146
|
+
const subject = 'Il tuo account è stato disabilitato';
|
|
147
|
+
const textBody = 'Ciao, ci spiace ma il tuo account è stato disabilitato. Contattaci per maggiori informazioni.';
|
|
148
|
+
const htmlBody = `<p>${textBody}</p>`;
|
|
149
|
+
const message = {
|
|
150
|
+
emailFrom: this.emailFrom,
|
|
151
|
+
emailFromName: this.platformName,
|
|
152
|
+
emailTo,
|
|
153
|
+
subject,
|
|
154
|
+
textBody,
|
|
155
|
+
htmlBody
|
|
156
|
+
};
|
|
157
|
+
return await this.sendEmail(message);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Send account disabled notification
|
|
161
|
+
* @param emailTo
|
|
162
|
+
*/
|
|
163
|
+
async accountBanned(emailTo) {
|
|
164
|
+
const subject = 'Il tuo account è stato bannato';
|
|
165
|
+
const textBody = 'Ciao, ci spiace ma il tuo account è stato bannato. Contattaci per maggiori informazioni.';
|
|
166
|
+
const htmlBody = `<p>${textBody}</p>`;
|
|
167
|
+
const message = {
|
|
168
|
+
emailFrom: this.emailFrom,
|
|
169
|
+
emailFromName: this.platformName,
|
|
170
|
+
emailTo,
|
|
171
|
+
subject,
|
|
172
|
+
textBody,
|
|
173
|
+
htmlBody
|
|
174
|
+
};
|
|
175
|
+
return await this.sendEmail(message);
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* alertDevTeam
|
|
179
|
+
* @param err
|
|
180
|
+
*/
|
|
181
|
+
async alertDevTeam(err) {
|
|
182
|
+
const textBody = 'errore 500 ' + err;
|
|
183
|
+
const htmlBody = '<p>errore 500 <br><br>' + err + '</p>';
|
|
184
|
+
const message = {
|
|
185
|
+
emailFrom: this.emailFrom,
|
|
186
|
+
emailFromName: this.platformName,
|
|
187
|
+
emailTo: `${process.env.DEV_TEAM_EMAIL}`,
|
|
188
|
+
subject: `${this.platformName} errore 500`,
|
|
189
|
+
textBody,
|
|
190
|
+
htmlBody
|
|
191
|
+
};
|
|
192
|
+
return await this.sendEmail(message);
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
*
|
|
196
|
+
* @param emailTo
|
|
197
|
+
* @param times
|
|
198
|
+
*/
|
|
199
|
+
async wrongHash(emailTo, times) {
|
|
200
|
+
if (times > 5)
|
|
201
|
+
throwInternalError();
|
|
202
|
+
const remainingTimes = 5 - times;
|
|
203
|
+
const subject = 'Link di attivazione errato';
|
|
204
|
+
const textBody = `Ciao, tu o qualcuno sta cercando di verificare la tua email con un link errato. Ti rimangono altri ${remainingTimes} tentativi.`;
|
|
205
|
+
const htmlBody = `<p>${textBody}</p>`;
|
|
206
|
+
const message = {
|
|
207
|
+
emailFrom: this.emailFrom,
|
|
208
|
+
emailFromName: this.platformName,
|
|
209
|
+
emailTo,
|
|
210
|
+
subject,
|
|
211
|
+
textBody,
|
|
212
|
+
htmlBody
|
|
213
|
+
};
|
|
214
|
+
return await this.sendEmail(message);
|
|
215
|
+
}
|
|
216
|
+
/*****************
|
|
217
|
+
* Too much verify requests
|
|
218
|
+
* @param emailTo
|
|
219
|
+
* @returns {Promise<string|null>}
|
|
220
|
+
*/
|
|
221
|
+
async tooMuchVerifyRequests(emailTo) {
|
|
222
|
+
const subject = 'Troppi tentativi di verifica della tua email';
|
|
223
|
+
const textBody = 'Ciao, hai fatto più di 5 o più tentativi di verifica della tua email. Devi ripetere la richiesta di registrazione.';
|
|
224
|
+
const htmlBody = '<p>Ciao, hai fatto 5 o più tentativi di verifica della tua email. Devi ripetere la richiesta di registrazione.</p>';
|
|
225
|
+
const message = {
|
|
226
|
+
emailFrom: this.emailFrom,
|
|
227
|
+
emailFromName: this.platformName,
|
|
228
|
+
emailTo,
|
|
229
|
+
subject,
|
|
230
|
+
textBody,
|
|
231
|
+
htmlBody
|
|
232
|
+
};
|
|
233
|
+
return await this.sendEmail(message);
|
|
234
|
+
}
|
|
235
|
+
/*****************
|
|
236
|
+
* @param emailTo
|
|
237
|
+
* @returns {Promise<string|null>}
|
|
238
|
+
*/
|
|
239
|
+
async hashReqTooOld(emailTo) {
|
|
240
|
+
const subject = 'Link di attivazione scaduto';
|
|
241
|
+
const textBody = 'Ciao, il link di attivazione che stai tentando di usare è più vecchio di 3 giorni ed è scaduto. Devi ripetere la richiesta di registrazione.';
|
|
242
|
+
const htmlBody = '<p>Ciao, il link di attivazione che stai tentando di usare è più vecchio di 3 giorni ed è scaduto. Devi ripetere la richiesta di registrazione.</p>';
|
|
243
|
+
const message = {
|
|
244
|
+
emailFrom: this.emailFrom,
|
|
245
|
+
emailFromName: this.platformName,
|
|
246
|
+
emailTo,
|
|
247
|
+
subject,
|
|
248
|
+
textBody,
|
|
249
|
+
htmlBody
|
|
250
|
+
};
|
|
251
|
+
return await this.sendEmail(message);
|
|
252
|
+
}
|
|
253
|
+
/*****************
|
|
254
|
+
* @param emailTo
|
|
255
|
+
* @returns {Promise<string|null>}
|
|
256
|
+
*/
|
|
257
|
+
async emailAlreadyValid(emailTo) {
|
|
258
|
+
const subject = 'Account già valido';
|
|
259
|
+
const textBody = 'Ciao, il tuo account è già valido, puoi eseguire il login.';
|
|
260
|
+
const htmlBody = `<p>${textBody}</p>`;
|
|
261
|
+
const message = {
|
|
262
|
+
emailFrom: this.emailFrom,
|
|
263
|
+
emailFromName: this.platformName,
|
|
264
|
+
emailTo,
|
|
265
|
+
subject,
|
|
266
|
+
textBody,
|
|
267
|
+
htmlBody
|
|
268
|
+
};
|
|
269
|
+
return await this.sendEmail(message);
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Send subscription email
|
|
273
|
+
* @param emailTo
|
|
274
|
+
* @param otp
|
|
275
|
+
*/
|
|
276
|
+
async sendSubscriptionEmail(emailTo, otp) {
|
|
277
|
+
const subject = `Attiva il tuo account ${this.platformName}}`;
|
|
278
|
+
const url = `${this.linkBase}'/x/emailVerify`;
|
|
279
|
+
const urlHtml = this.StringObj.makeLink(url);
|
|
280
|
+
const linkHomeHtml = this.StringObj.makeLink(this.linkBase, this.platformName);
|
|
281
|
+
const textBody = `Per confermare la tua iscrizione su ${this.platformName}, apri nel browser il seguente link
|
|
282
|
+
${url} ed inserisci il seguente codice di attivazione: ${otp}`;
|
|
283
|
+
const htmlBody = `<p>Per confermare la tua iscrizione su ${linkHomeHtml}, apri nel browser il seguente link
|
|
284
|
+
${urlHtml} ed inserisci il seguente codice di attivazione: ${otp}</p>`;
|
|
285
|
+
const message = {
|
|
286
|
+
emailFrom: this.emailFrom,
|
|
287
|
+
emailFromName: this.platformName,
|
|
288
|
+
emailTo,
|
|
289
|
+
subject,
|
|
290
|
+
textBody,
|
|
291
|
+
htmlBody
|
|
292
|
+
};
|
|
293
|
+
return await this.sendEmail(message);
|
|
294
|
+
}
|
|
295
|
+
async sendConfermaResetPwd(emailTo, name = '') {
|
|
296
|
+
const subject = `Reset della password per ${this.platformName}`;
|
|
297
|
+
const link = this.linkBase;
|
|
298
|
+
const linkHtml = this.StringObj.makeLink(link, this.platformName);
|
|
299
|
+
const nameFixed = this.fixName(name);
|
|
300
|
+
const textBody = `Ciao${nameFixed}, hai confermato la nuova password. Ora puoi accedere a: ${link}. Lo Staff.`;
|
|
301
|
+
const htmlBody = `Ciao${nameFixed},<br>hai confermato la nuova password.<br><br>Ora puoi accedere a:<br>${linkHtml}<br><br>Lo staff.`;
|
|
302
|
+
const message = {
|
|
303
|
+
emailFrom: this.emailFrom,
|
|
304
|
+
emailFromName: this.platformName,
|
|
305
|
+
emailTo,
|
|
306
|
+
subject,
|
|
307
|
+
textBody,
|
|
308
|
+
htmlBody
|
|
309
|
+
};
|
|
310
|
+
return await this.sendEmail(message);
|
|
311
|
+
}
|
|
312
|
+
async sendConfermaResetPwdHash(email, name, hash) {
|
|
313
|
+
const encodedEmail = encodeURI(email);
|
|
314
|
+
const subject = 'Reset della password per Polis24.it';
|
|
315
|
+
const linkReset = this.linkBase + '/index.php?q=reset&hash=' + hash + '&email=' + encodedEmail;
|
|
316
|
+
const textBody = 'Ciao ' + name + ', hai confermato la nuova password. Ora puoi accedere a: ' + this.linkBase + ' . ';
|
|
317
|
+
const htmlBody = this.getHtmlHeader(subject) +
|
|
318
|
+
'Ciao ' +
|
|
319
|
+
name +
|
|
320
|
+
',<br>hai confermato la nuova password.<br><br>Ora puoi accedere a:<br> ' +
|
|
321
|
+
this.StringObj.makeLink(linkReset) +
|
|
322
|
+
'<br><br>Lo staff' +
|
|
323
|
+
this.getHtmlFooter();
|
|
324
|
+
const message = {
|
|
325
|
+
emailFrom: this.emailFrom,
|
|
326
|
+
emailFromName: this.platformName,
|
|
327
|
+
emailTo: email,
|
|
328
|
+
subject: 'Conferma cambio password per Polis24.it',
|
|
329
|
+
textBody: textBody,
|
|
330
|
+
htmlBody: htmlBody
|
|
331
|
+
};
|
|
332
|
+
let ret;
|
|
333
|
+
try {
|
|
334
|
+
ret = await this.sendEmail(message);
|
|
335
|
+
}
|
|
336
|
+
catch (e) {
|
|
337
|
+
Sentry.captureException(e);
|
|
338
|
+
ret = null;
|
|
339
|
+
}
|
|
340
|
+
return ret ? ret : null; // se invio va a buon fine, ritorna l'hash, altrimenti null
|
|
341
|
+
}
|
|
342
|
+
async sendEmailReset(emailTo, hash, name = '') {
|
|
343
|
+
const subject = `Reset della password per ${this.platformName}`;
|
|
344
|
+
const encodedEmail = encodeURI(emailTo);
|
|
345
|
+
const link = `${this.linkBase}/x/reset/${encodedEmail}/${hash}`;
|
|
346
|
+
const linkHtml = this.StringObj.makeLink(link);
|
|
347
|
+
const nameFixed = this.fixName(name);
|
|
348
|
+
const textBody = `Ciao${nameFixed}, tu o qualcuno ha richiesto un reset della password. Puoi cambiare la password di accesso
|
|
349
|
+
copiando questo link ${link} nel browser. Lo staff.`;
|
|
350
|
+
const htmlBody = `Ciao${nameFixed},<br>tu o qualcuno ha richiesto un reset della password.<br><br>
|
|
351
|
+
Puoi cambiare la password cliccando il link:<br>${linkHtml}
|
|
352
|
+
<br><br>Lo staff.`;
|
|
353
|
+
const message = {
|
|
354
|
+
emailFrom: this.emailFrom,
|
|
355
|
+
emailFromName: this.platformName,
|
|
356
|
+
emailTo,
|
|
357
|
+
subject,
|
|
358
|
+
textBody,
|
|
359
|
+
htmlBody
|
|
360
|
+
};
|
|
361
|
+
return await this.sendEmail(message);
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* fallback footer
|
|
365
|
+
*/
|
|
366
|
+
htmlFooter() {
|
|
367
|
+
return '</p></td>' + ' </tr>' + ' </table>' + '</body>';
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* send OTP
|
|
371
|
+
* @param emailTo
|
|
372
|
+
* @param otp
|
|
373
|
+
*/
|
|
374
|
+
async sendOTP(emailTo, otp) {
|
|
375
|
+
let textBody = 'Per confermare la tua iscrizione su Polis24, inserisci il seguente codice OTP: ' + otp;
|
|
376
|
+
let htmlBody = '<p>Per confermare la tua iscrizione su Polis24, inserisci il seguente codice OTP: ' + otp + '</p>';
|
|
377
|
+
const message = {
|
|
378
|
+
emailFrom: this.emailFrom,
|
|
379
|
+
emailFromName: this.platformName,
|
|
380
|
+
emailTo: emailTo,
|
|
381
|
+
subject: 'Codice OTP per Polis24',
|
|
382
|
+
textBody: textBody,
|
|
383
|
+
htmlBody: htmlBody
|
|
384
|
+
};
|
|
385
|
+
let ret;
|
|
386
|
+
try {
|
|
387
|
+
await this.sendEmail(message);
|
|
388
|
+
ret = null;
|
|
389
|
+
}
|
|
390
|
+
catch (e) {
|
|
391
|
+
Sentry.captureException(e);
|
|
392
|
+
ret = null;
|
|
393
|
+
}
|
|
394
|
+
return ret ? ret : null; // se invio va a buon fine, ritorna l'hash, altrimenti null
|
|
395
|
+
}
|
|
396
|
+
async sendEmailPostSegnalato(infoUtente, idPost) {
|
|
397
|
+
const subject = 'Post ' + idPost + ' segnalato';
|
|
398
|
+
const messaggioTxt = 'Ciao, il post ' +
|
|
399
|
+
idPost +
|
|
400
|
+
' è stato segnalato da ' +
|
|
401
|
+
infoUtente.personalData.name +
|
|
402
|
+
' ' +
|
|
403
|
+
infoUtente.personalData.surname +
|
|
404
|
+
' (id: ' +
|
|
405
|
+
infoUtente._id +
|
|
406
|
+
').';
|
|
407
|
+
const messaggioHtml = this.getHtmlHeader(subject) +
|
|
408
|
+
'Ciao, il post ' +
|
|
409
|
+
idPost +
|
|
410
|
+
' è stato segnalato da ' +
|
|
411
|
+
infoUtente.personalData.name +
|
|
412
|
+
' ' +
|
|
413
|
+
infoUtente.personalData.surname +
|
|
414
|
+
' (id: ' +
|
|
415
|
+
infoUtente._id +
|
|
416
|
+
').' +
|
|
417
|
+
this.getHtmlFooter();
|
|
418
|
+
const message = {
|
|
419
|
+
emailFrom: this.emailFrom,
|
|
420
|
+
emailFromName: this.platformName,
|
|
421
|
+
emailTo: 'giovannimanzoni87@gmail.com',
|
|
422
|
+
subject,
|
|
423
|
+
textBody: messaggioTxt,
|
|
424
|
+
htmlBody: messaggioHtml
|
|
425
|
+
};
|
|
426
|
+
return await this.sendEmail(message);
|
|
427
|
+
}
|
|
428
|
+
getHtmlHeader(title) {
|
|
429
|
+
return ('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' +
|
|
430
|
+
'<html xmlns="http://www.w3.org/1999/xhtml">' +
|
|
431
|
+
' <head>' +
|
|
432
|
+
' <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />' +
|
|
433
|
+
' <title>' +
|
|
434
|
+
title +
|
|
435
|
+
'</title>' +
|
|
436
|
+
' <meta name="viewport" content="width=device-width, initial-scale=1.0"/>' +
|
|
437
|
+
'</head>' +
|
|
438
|
+
'</html>' +
|
|
439
|
+
'<body style="margin: 0; padding: 0;">' +
|
|
440
|
+
' <table align="center" border="0" cellpadding="0" cellspacing="0" width="600">' +
|
|
441
|
+
' <tr>' +
|
|
442
|
+
' <td bgcolor="#ffffff" style="padding: 40px 30px 40px 30px;"><p style="color: #000000; font-family: Verdana, sans-serif; font-size: 12pt;">');
|
|
443
|
+
}
|
|
444
|
+
getHtmlFooter() {
|
|
445
|
+
return '</p></td>' + ' </tr>' + ' </table>' + '</body>';
|
|
446
|
+
}
|
|
447
|
+
async sendEmail(args) {
|
|
448
|
+
const { emailFrom, emailFromName, emailTo, subject, textBody, htmlBody } = args;
|
|
449
|
+
const basicMessage = new BasicMessage();
|
|
450
|
+
basicMessage.setFromAddress(emailFrom, emailFromName);
|
|
451
|
+
basicMessage.setSubject(subject);
|
|
452
|
+
basicMessage.setTextBody(textBody);
|
|
453
|
+
basicMessage.setHtmlBody(this.emailHtmlHeader1 +
|
|
454
|
+
subject +
|
|
455
|
+
this.emailHtmlHeader2 +
|
|
456
|
+
htmlBody +
|
|
457
|
+
this.emailHtmlFooter);
|
|
458
|
+
basicMessage.setTo(emailTo);
|
|
459
|
+
return this.client.send(basicMessage).then(() => {
|
|
460
|
+
//Handle successful API call
|
|
461
|
+
// console.debug('[sendEmail] Email sent correctly')
|
|
462
|
+
//console. // console.debug('[sendEmail] Email sent correctly')(res);
|
|
463
|
+
return true;
|
|
464
|
+
}, (e) => {
|
|
465
|
+
Sentry.captureException(e, {
|
|
466
|
+
extra: { detail: 'Error in sending the email' }
|
|
467
|
+
});
|
|
468
|
+
return false;
|
|
469
|
+
});
|
|
470
|
+
}
|
|
471
|
+
/**
|
|
472
|
+
* fallback header
|
|
473
|
+
* @private
|
|
474
|
+
*/
|
|
475
|
+
htmlHeader1() {
|
|
476
|
+
return ('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' +
|
|
477
|
+
'<html lang="it" xmlns="http://www.w3.org/1999/xhtml">' +
|
|
478
|
+
' <head>' +
|
|
479
|
+
' <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />' +
|
|
480
|
+
' <title>');
|
|
481
|
+
}
|
|
482
|
+
/**
|
|
483
|
+
* fallback header
|
|
484
|
+
* @private
|
|
485
|
+
*/
|
|
486
|
+
htmlHeader2() {
|
|
487
|
+
return ('</title>' +
|
|
488
|
+
' <meta name="viewport" content="width=device-width, initial-scale=1.0"/>' +
|
|
489
|
+
'</head>' +
|
|
490
|
+
'</html>' +
|
|
491
|
+
'<body style="margin: 0; padding: 0;">' +
|
|
492
|
+
' <table align="center" border="0" cellpadding="0" cellspacing="0" width="600">' +
|
|
493
|
+
' <tr>' +
|
|
494
|
+
' <td bgcolor="#ffffff" style="padding: 40px 30px 40px 30px;"><p style="color: #000000; font-family: Verdana, sans-serif; font-size: 12pt;">');
|
|
495
|
+
}
|
|
496
|
+
fixName(name) {
|
|
497
|
+
return name !== '' ? ` ${name}` : '';
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
//# sourceMappingURL=SocketLabsLib.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SocketLabsLib.mjs","sourceRoot":"","sources":["../../../src/email/SocketLabsLib.mts"],"names":[],"mappings":"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"}
|