@axiumine/koa-utils 3.7.3 → 3.7.4

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.
Files changed (215) hide show
  1. package/README.md +183 -0
  2. package/dist/dataSources/MariaDB.mjs +1 -0
  3. package/dist/dataSources/MariaDB.mjs.map +1 -1
  4. package/dist/dataSources/MongoDB.mjs +1 -0
  5. package/dist/dataSources/MongoDB.mjs.map +1 -1
  6. package/dist/dataSources/PostgreSQL.mjs +4 -2
  7. package/dist/dataSources/PostgreSQL.mjs.map +1 -1
  8. package/dist/dataSources/Redis.mjs +15 -13
  9. package/dist/dataSources/Redis.mjs.map +1 -1
  10. package/dist/email/SocketLabsLib.mjs +7 -10
  11. package/dist/email/SocketLabsLib.mjs.map +1 -1
  12. package/dist/files/IUploadTemp.mjs.map +1 -1
  13. package/dist/files/checkForNSFW.mjs.map +1 -1
  14. package/dist/files/fileConst.mjs.map +1 -1
  15. package/dist/files/moveFileStaticDomain.mjs.map +1 -1
  16. package/dist/files/moveImageFile.mjs.map +1 -1
  17. package/dist/files/moveTempFile.mjs.map +1 -1
  18. package/dist/files/reEncodeToJpeg.mjs.map +1 -1
  19. package/dist/files/reEncodeToPng.mjs.map +1 -1
  20. package/dist/files/reEncodeToWebp.mjs.map +1 -1
  21. package/dist/files/scanVirus.mjs.map +1 -1
  22. package/dist/files/storeUploadAsTemp.mjs +2 -0
  23. package/dist/files/storeUploadAsTemp.mjs.map +1 -1
  24. package/dist/files/uploadTempImage.mjs.map +1 -1
  25. package/dist/files/uploadTempPdf.mjs.map +1 -1
  26. package/dist/files/validateExtension.mjs.map +1 -1
  27. package/dist/files/validateJpgPngExtension.mjs.map +1 -1
  28. package/dist/files/validateMimeType.mjs.map +1 -1
  29. package/dist/files/validateMimeTypeImages.mjs.map +1 -1
  30. package/dist/files/validateMimeTypePdf.mjs.map +1 -1
  31. package/dist/files/validatePdfExtension.mjs.map +1 -1
  32. package/dist/graphQL/models/MongoDB/UserBase.mjs.map +1 -1
  33. package/dist/graphQL/models/MongoDB/log/DevStatsGraphQLCalls.mjs.map +1 -1
  34. package/dist/graphQL/models/MongoDB/log/LogGlobalError.mjs.map +1 -1
  35. package/dist/graphQL/models/MongoDB/log/LogStatsGraphql.mjs.map +1 -1
  36. package/dist/graphQL/models/MongoDB/log/LogThrow.mjs.map +1 -1
  37. package/dist/graphQL/schema/GraphQLInput/GraphQLInputLogin.mjs.map +1 -1
  38. package/dist/graphQL/schema/context/IContextAuthenticatedResource.mjs.map +1 -1
  39. package/dist/graphQL/schema/context/IContextKoaErrorHandler.mjs.map +1 -1
  40. package/dist/graphQL/schema/context/IContextLogin.mjs.map +1 -1
  41. package/dist/graphQL/schema/context/IContextLogout.mjs.map +1 -1
  42. package/dist/graphQL/schema/context/IContextRefresh.mjs.map +1 -1
  43. package/dist/graphQL/schema/context/TCommonHeaders.mjs.map +1 -1
  44. package/dist/graphQL/schema/interfaces/IFindAndUpdate.mjs.map +1 -1
  45. package/dist/graphQL/schema/mutations/emailChangeHashVerify.mjs.map +1 -1
  46. package/dist/graphQL/schema/mutations/login4Ever.mjs.map +1 -1
  47. package/dist/graphQL/schema/mutations/loginAdmin.mjs.map +1 -1
  48. package/dist/graphQL/schema/mutations/loginRememberme.mjs.map +1 -1
  49. package/dist/graphQL/schema/mutations/logout.mjs.map +1 -1
  50. package/dist/graphQL/schema/mutations/refresh.mjs +1 -4
  51. package/dist/graphQL/schema/mutations/refresh.mjs.map +1 -1
  52. package/dist/graphQL/schema/mutations/resetPwd.mjs +2 -3
  53. package/dist/graphQL/schema/mutations/resetPwd.mjs.map +1 -1
  54. package/dist/graphQL/schema/mutations/signUp.mjs.map +1 -1
  55. package/dist/graphQL/schema/mutations/updatePassword.mjs +2 -1
  56. package/dist/graphQL/schema/mutations/updatePassword.mjs.map +1 -1
  57. package/dist/graphQL/schema/types/DeleteType.mjs.map +1 -1
  58. package/dist/graphQL/schema/types/DoneType.mjs.map +1 -1
  59. package/dist/graphQL/schema/types/FindOneAndUpdateType.mjs.map +1 -1
  60. package/dist/graphQL/schema/types/LoginAppType.mjs.map +1 -1
  61. package/dist/graphQL/schema/types/LoginType.mjs.map +1 -1
  62. package/dist/graphQL/schema/types/MidNameType.mjs.map +1 -1
  63. package/dist/graphQL/schema/types/OnlyIdType.mjs.map +1 -1
  64. package/dist/graphQL/schema/types/RefreshType.mjs.map +1 -1
  65. package/dist/graphQL/schema/types/RetStatusMexType.mjs.map +1 -1
  66. package/dist/graphQL/schema/types/RetStatusType.mjs.map +1 -1
  67. package/dist/graphQL/schema/types/SaveType.mjs.map +1 -1
  68. package/dist/graphQL/schema/types/SidNameType.mjs.map +1 -1
  69. package/dist/graphQL/schema/types/SidNomeType.mjs.map +1 -1
  70. package/dist/graphQL/schema/types/UpdateResultType.mjs.map +1 -1
  71. package/dist/graphQL/status.mjs.map +1 -1
  72. package/dist/graphQL/throw/throwAccessTokenExpiredOrDeleted.mjs.map +1 -1
  73. package/dist/graphQL/throw/throwAccessTokenRequired.mjs.map +1 -1
  74. package/dist/graphQL/throw/throwAlreadyDone.mjs.map +1 -1
  75. package/dist/graphQL/throw/throwAlreadyTakenError.mjs.map +1 -1
  76. package/dist/graphQL/throw/throwConflictError.mjs.map +1 -1
  77. package/dist/graphQL/throw/throwErrorWrongUserInput.mjs.map +1 -1
  78. package/dist/graphQL/throw/throwForbiddenError.mjs.map +1 -1
  79. package/dist/graphQL/throw/throwGoneError.mjs.map +1 -1
  80. package/dist/graphQL/throw/throwGraphQLError.mjs +1 -6
  81. package/dist/graphQL/throw/throwGraphQLError.mjs.map +1 -1
  82. package/dist/graphQL/throw/throwInternalError.mjs.map +1 -1
  83. package/dist/graphQL/throw/throwMethodNotAllowedError.mjs.map +1 -1
  84. package/dist/graphQL/throw/throwMissingMalformedInvalidToken.mjs.map +1 -1
  85. package/dist/graphQL/throw/throwNotAcceptableError.mjs.map +1 -1
  86. package/dist/graphQL/throw/throwNotFoundError.mjs.map +1 -1
  87. package/dist/graphQL/throw/throwNotImplementedError.mjs.map +1 -1
  88. package/dist/graphQL/throw/throwPaymentRequiredError.mjs.map +1 -1
  89. package/dist/graphQL/throw/throwPreconditionFailedNoAuthCookie.mjs.map +1 -1
  90. package/dist/graphQL/throw/throwPreconditionFailedNoAuthHeader.mjs.map +1 -1
  91. package/dist/graphQL/throw/throwRefreshTokenExpiredOrDeleted.mjs.map +1 -1
  92. package/dist/graphQL/throw/throwRefreshTokenRequired.mjs.map +1 -1
  93. package/dist/graphQL/throw/throwRefreshTokenSignatureRequired.mjs.map +1 -1
  94. package/dist/graphQL/throw/throwTooManyRequestsError.mjs.map +1 -1
  95. package/dist/graphQL/throw/throwUnauthorizedError.mjs.map +1 -1
  96. package/dist/graphQL/throw/throwUnprocessableContentError.mjs.map +1 -1
  97. package/dist/graphQL/throw/throwUnsupportedMediaTypeError.mjs.map +1 -1
  98. package/dist/koa/IFileUpload.mjs.map +1 -1
  99. package/dist/koa/IKoaError.mjs.map +1 -1
  100. package/dist/koa/customFormatErrorFn.mjs.map +1 -1
  101. package/dist/koa/logRequestToDb.mjs.map +1 -1
  102. package/dist/koa/middleware/authenticatedAuthorizationHandler/TCookieRefreshToken.mjs.map +1 -1
  103. package/dist/koa/middleware/authenticatedAuthorizationHandler/index.mjs.map +1 -1
  104. package/dist/koa/middleware/authenticatedAuthorizationHandler/verifySignedRefreshToken.mjs.map +1 -1
  105. package/dist/koa/middleware/authenticatedLogoutHandler/index.mjs.map +1 -1
  106. package/dist/koa/middleware/authenticatedResourceHandler/index.mjs +1 -2
  107. package/dist/koa/middleware/authenticatedResourceHandler/index.mjs.map +1 -1
  108. package/dist/koa/middleware/debug/index.mjs.map +1 -1
  109. package/dist/koa/router/verifyEmail.mjs +2 -0
  110. package/dist/koa/router/verifyEmail.mjs.map +1 -1
  111. package/dist/koa/tdwKoaErrorHandler.mjs.map +1 -1
  112. package/dist/lib/ArrayLib.mjs +3 -4
  113. package/dist/lib/ArrayLib.mjs.map +1 -1
  114. package/dist/lib/Constants.mjs.map +1 -1
  115. package/dist/lib/DateLib.mjs +2 -3
  116. package/dist/lib/DateLib.mjs.map +1 -1
  117. package/dist/lib/IAuthorizationDisDel.mjs.map +1 -1
  118. package/dist/lib/ICookies.mjs.map +1 -1
  119. package/dist/lib/MariaDB/IMariaDBErr.mjs.map +1 -1
  120. package/dist/lib/MariaDB/MariaDBErrType.mjs.map +1 -1
  121. package/dist/lib/MariaDB/throwSqlErrors.mjs +3 -5
  122. package/dist/lib/MariaDB/throwSqlErrors.mjs.map +1 -1
  123. package/dist/lib/MongoDB/IMongoDBError.mjs.map +1 -1
  124. package/dist/lib/MongoDB/IOnboarding.mjs.map +1 -1
  125. package/dist/lib/MongoDB/MongoDBErrType.mjs.map +1 -1
  126. package/dist/lib/MongoDB/throwIfMongoErr.mjs +2 -5
  127. package/dist/lib/MongoDB/throwIfMongoErr.mjs.map +1 -1
  128. package/dist/lib/MongoDB/throwMongoErrors.mjs.map +1 -1
  129. package/dist/lib/NumLib.mjs +2 -3
  130. package/dist/lib/NumLib.mjs.map +1 -1
  131. package/dist/lib/PostgreSQL/IPostgresError.mjs.map +1 -1
  132. package/dist/lib/PostgreSQL/IPostgresErrorCodes.mjs.map +1 -1
  133. package/dist/lib/PostgreSQL/makePostgreSqlLogError.mjs.map +1 -1
  134. package/dist/lib/Redis/RedisBoolean.mjs.map +1 -1
  135. package/dist/lib/Redis/fromRedisBooleanValue.mjs.map +1 -1
  136. package/dist/lib/Redis/toRedisBooleanValue.mjs.map +1 -1
  137. package/dist/lib/StringLib.mjs +3 -4
  138. package/dist/lib/StringLib.mjs.map +1 -1
  139. package/dist/lib/checkEmailLen.mjs +1 -1
  140. package/dist/lib/checkEmailLen.mjs.map +1 -1
  141. package/dist/lib/checkPwdLen.mjs.map +1 -1
  142. package/dist/lib/db/log/hitStat.mjs +1 -5
  143. package/dist/lib/db/log/hitStat.mjs.map +1 -1
  144. package/dist/lib/db/log/logGlobalError.mjs.map +1 -1
  145. package/dist/lib/db/log/logGraphql.mjs.map +1 -1
  146. package/dist/lib/db/log/logThrow.mjs.map +1 -1
  147. package/dist/lib/db/login/ILoginSet.mjs.map +1 -1
  148. package/dist/lib/db/login/ILoginUnset.mjs.map +1 -1
  149. package/dist/lib/db/registerNewUser.mjs.map +1 -1
  150. package/dist/lib/db/userExist.mjs +1 -3
  151. package/dist/lib/db/userExist.mjs.map +1 -1
  152. package/dist/lib/emailHash.mjs.map +1 -1
  153. package/dist/lib/encryptPassword.mjs.map +1 -1
  154. package/dist/lib/hash.mjs +2 -2
  155. package/dist/lib/hash.mjs.map +1 -1
  156. package/dist/lib/makeOnboardingData.mjs.map +1 -1
  157. package/dist/lib/setLoginCookies.mjs.map +1 -1
  158. package/dist/lib/sleepMs.mjs +1 -1
  159. package/dist/lib/sleepMs.mjs.map +1 -1
  160. package/dist/lib/throwIfNotValidEnumValue.mjs.map +1 -1
  161. package/dist/lib/tokenOptions.mjs +1 -1
  162. package/dist/lib/tokenOptions.mjs.map +1 -1
  163. package/dist/lib/tokens.mjs.map +1 -1
  164. package/dist/lib/tryCatchRethrow.mjs.map +1 -1
  165. package/dist/private/files/_validateMimeType.mjs.map +1 -1
  166. package/dist/private/files/reEncode.mjs +4 -20
  167. package/dist/private/files/reEncode.mjs.map +1 -1
  168. package/dist/private/graphQL/Consts.mjs.map +1 -1
  169. package/dist/private/graphQL/models/MongoDB/private/UserAdminKoaUtils.mjs.map +1 -1
  170. package/dist/private/graphQL/schema/context/IContextLog.mjs.map +1 -1
  171. package/dist/private/graphQL/schema/context/IContextVerifyEmail.mjs.map +1 -1
  172. package/dist/private/graphQL/schema/mutations/_buildLoginStatsUpdate.d.mts +19 -0
  173. package/dist/private/graphQL/schema/mutations/_buildLoginStatsUpdate.mjs +26 -0
  174. package/dist/private/graphQL/schema/mutations/_buildLoginStatsUpdate.mjs.map +1 -0
  175. package/dist/private/graphQL/schema/mutations/_finalizeLoginCheck.d.mts +19 -0
  176. package/dist/private/graphQL/schema/mutations/_finalizeLoginCheck.mjs +28 -0
  177. package/dist/private/graphQL/schema/mutations/_finalizeLoginCheck.mjs.map +1 -0
  178. package/dist/private/graphQL/schema/mutations/checkUserAdminLoginAuthorization.mjs +2 -25
  179. package/dist/private/graphQL/schema/mutations/checkUserAdminLoginAuthorization.mjs.map +1 -1
  180. package/dist/private/graphQL/schema/mutations/checkUserLoginAuthorization.mjs +2 -26
  181. package/dist/private/graphQL/schema/mutations/checkUserLoginAuthorization.mjs.map +1 -1
  182. package/dist/private/graphQL/schema/mutations/infoUserAdminForLogin.mjs +1 -2
  183. package/dist/private/graphQL/schema/mutations/infoUserAdminForLogin.mjs.map +1 -1
  184. package/dist/private/graphQL/schema/mutations/infoUserForLogin.mjs +1 -2
  185. package/dist/private/graphQL/schema/mutations/infoUserForLogin.mjs.map +1 -1
  186. package/dist/private/graphQL/schema/mutations/infoUserForLoginSQL.mjs +1 -1
  187. package/dist/private/graphQL/schema/mutations/infoUserForLoginSQL.mjs.map +1 -1
  188. package/dist/private/graphQL/schema/mutations/setLastLoginSQL.mjs.map +1 -1
  189. package/dist/private/graphQL/schema/mutations/setRedisLoginSession.mjs +2 -8
  190. package/dist/private/graphQL/schema/mutations/setRedisLoginSession.mjs.map +1 -1
  191. package/dist/private/graphQL/schema/mutations/updateAdminLoginStats.mjs +2 -22
  192. package/dist/private/graphQL/schema/mutations/updateAdminLoginStats.mjs.map +1 -1
  193. package/dist/private/graphQL/schema/mutations/updateLoginStats4ever.mjs.map +1 -1
  194. package/dist/private/graphQL/schema/mutations/updateLoginStatsRememberme.mjs +2 -22
  195. package/dist/private/graphQL/schema/mutations/updateLoginStatsRememberme.mjs.map +1 -1
  196. package/dist/private/lib/access/Constants.mjs.map +1 -1
  197. package/dist/private/lib/access/db/confirmNewEmail.mjs.map +1 -1
  198. package/dist/private/lib/access/db/deleteUserByEmail.mjs.map +1 -1
  199. package/dist/private/lib/access/db/enableEmailAccess.mjs.map +1 -1
  200. package/dist/private/lib/access/db/getResetPwd.mjs.map +1 -1
  201. package/dist/private/lib/access/db/incReqTimes.mjs.map +1 -1
  202. package/dist/private/lib/access/db/removeResetReq.mjs.map +1 -1
  203. package/dist/private/lib/access/db/saveResetReq.mjs.map +1 -1
  204. package/dist/private/lib/access/db/setEmailHash.mjs.map +1 -1
  205. package/dist/private/lib/access/db/updatePasswordDb.mjs.map +1 -1
  206. package/dist/private/lib/access/db/userData4VerifyEmail.mjs.map +1 -1
  207. package/dist/private/lib/access/handleBadDB.mjs.map +1 -1
  208. package/dist/private/lib/access/handleIfAccountDeleted.mjs.map +1 -1
  209. package/dist/private/lib/access/handleIfAccountDisabled.mjs.map +1 -1
  210. package/dist/private/lib/access/handleIfEmailAlreadyValid.mjs.map +1 -1
  211. package/dist/private/lib/access/handleIfHashBad.mjs.map +1 -1
  212. package/dist/private/lib/access/handleIfMoreThan3DaysPassed.mjs.map +1 -1
  213. package/dist/private/lib/access/handleIfTooMuchRequestsTimes.mjs.map +1 -1
  214. package/dist/private/lib/makeBodyJson.mjs.map +1 -1
  215. package/package.json +18 -1
@@ -1 +1 @@
1
- {"version":3,"file":"StringLib.mjs","sourceRoot":"","sources":["../../../src/lib/StringLib.mts"],"names":[],"mappings":"AAAA,MAAM,OAAO,SAAS;IACrB,wBAAwB;IACxB;IACA,CAAC;IAED,SAAS,CAAC,GAAW;QACpB,OAAO,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;IACxC,CAAC;IAED,kBAAkB,CAAC,GAAuB;QACzC,OAAO,OAAO,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;IAC3E,CAAC;IAED,YAAY,CAAC,MAAc;QAC1B,IAAI,CAAC,GAAG,EAAE,CAAA;QACV,GAAG,CAAC;YACH,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC7C,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,MAAM,EAAC;QAC3B,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QAE1B,OAAO,CAAC,CAAA;IACT,CAAC;IAED;;;OAGG;IACH,YAAY;QACX,OAAO,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpD,CAAC;IAED,kBAAkB,CAAC,GAAW,EAAE,GAAW;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;IACrD,CAAC;IAED,cAAc,CAAC,MAAY;QAC1B,gCAAgC;QAChC,wBAAwB;QACxB,OAAO,MAAM,CAAC,OAAO,EAAE,CAAA;IACxB,CAAC;IAED,YAAY,CAAC,IAAY;QACxB,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAA;QACxB,OAAO,CACN,CAAC,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,cAAc,EAAE,CACxE,CAAA;IACF,CAAC;IAED,iBAAiB,CAAC,IAAY;QAC7B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAA;QACxB,OAAO,CACN,CAAC,CAAC,UAAU,EAAE;YACd,GAAG;YACH,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;YACtB,GAAG;YACH,CAAC,CAAC,cAAc,EAAE;YAClB,GAAG;YACH,CAAC,CAAC,QAAQ,EAAE;YACZ,GAAG;YACH,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,CAAC,CAAC,UAAU,EAAE;YACd,GAAG;YACH,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,CAAC,CAAC,UAAU,EAAE,CACd,CAAA;IACF,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,WAAmB,EAAE;QAC3C,OAAO,4BAA4B,IAAI,KAAK,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAA;IACpF,CAAC;CACD"}
1
+ {"version":3,"file":"StringLib.mjs","sourceRoot":"","sources":["../../../src/lib/StringLib.mts"],"names":[],"mappings":"AAAA,MAAM,OAAO,SAAS;IACrB,wBAAwB;IACxB,gBAAe,CAAC;IAEhB,SAAS,CAAC,GAAW;QACpB,OAAO,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;IACxC,CAAC;IAED,kBAAkB,CAAC,GAAuB;QACzC,OAAO,OAAO,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;IAC3E,CAAC;IAED,YAAY,CAAC,MAAc;QAC1B,IAAI,CAAC,GAAG,EAAE,CAAA;QACV,GAAG,CAAC;YACH,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC7C,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,MAAM,EAAC;QAC3B,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QAE1B,OAAO,CAAC,CAAA;IACT,CAAC;IAED;;;OAGG;IACH,YAAY;QACX,OAAO,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpD,CAAC;IAED,kBAAkB,CAAC,GAAW,EAAE,GAAW;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;IACrD,CAAC;IAED,cAAc,CAAC,MAAY;QAC1B,gCAAgC;QAChC,wBAAwB;QACxB,OAAO,MAAM,CAAC,OAAO,EAAE,CAAA;IACxB,CAAC;IAED,YAAY,CAAC,IAAY;QACxB,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAA;QACxB,OAAO,CAAC,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,cAAc,EAAE,CAAA;IAChF,CAAC;IAED,iBAAiB,CAAC,IAAY;QAC7B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAA;QACxB,OAAO,CACN,CAAC,CAAC,UAAU,EAAE;YACd,GAAG;YACH,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;YACtB,GAAG;YACH,CAAC,CAAC,cAAc,EAAE;YAClB,GAAG;YACH,CAAC,CAAC,QAAQ,EAAE;YACZ,GAAG;YACH,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,CAAC,CAAC,UAAU,EAAE;YACd,GAAG;YACH,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,CAAC,CAAC,UAAU,EAAE,CACd,CAAA;IACF,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,WAAmB,EAAE;QAC3C,OAAO,4BAA4B,IAAI,KAAK,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAA;IACpF,CAAC;CACD,CAAC,oBAAoB","sourcesContent":["export class StringLib {\n\t// implements IStringLib\n\tconstructor() {}\n\n\tcleanHtml(str: string): string {\n\t\treturn str.replace(/(<([^>]+)>)/gi, '')\n\t}\n\n\tcleanHtmlUndefined(str: string | undefined): string | undefined {\n\t\treturn typeof str === 'undefined' ? str : str.replace(/(<([^>]+)>)/gi, '')\n\t}\n\n\trandomString(length: number): string {\n\t\tlet s = ''\n\t\tdo {\n\t\t\ts += Math.random().toString(36).substring(2)\n\t\t} while (s.length < length)\n\t\ts = s.substring(0, length)\n\n\t\treturn s\n\t}\n\n\t/**\n\t * return OTP as string\n\t * @returns {string}\n\t */\n\tgetRandomOTP(): string {\n\t\treturn '' + this.getRandomArbitrary(100000, 999999)\n\t}\n\n\tgetRandomArbitrary(min: number, max: number) {\n\t\treturn Math.trunc(Math.random() * (max - min) + min)\n\t}\n\n\tisoToTimestamp(isoStr: Date): number {\n\t\t// const date = new Date(isoStr)\n\t\t// return date.getTime()\n\t\treturn isoStr.getTime()\n\t}\n\n\tisoFormatDMY(data: string): string {\n\t\tconst d = new Date(data)\n\t\treturn d.getUTCDate() + '/' + (d.getUTCMonth() + +1) + '/' + d.getUTCFullYear()\n\t}\n\n\tisoFormatDateTime(data: string): string {\n\t\tconst d = new Date(data)\n\t\treturn (\n\t\t\td.getUTCDate() +\n\t\t\t'/' +\n\t\t\t(d.getUTCMonth() + +1) +\n\t\t\t'/' +\n\t\t\td.getUTCFullYear() +\n\t\t\t' ' +\n\t\t\td.getHours() +\n\t\t\t':' +\n\t\t\t(d.getMinutes() < 10 ? '0' : '') +\n\t\t\td.getMinutes() +\n\t\t\t':' +\n\t\t\t(d.getSeconds() < 10 ? '0' : '') +\n\t\t\td.getSeconds()\n\t\t)\n\t}\n\n\tmakeLink(link: string, linkText: string = ''): string {\n\t\treturn `<a target='_blank' href='${link}'>${linkText === '' ? link : linkText}</a>`\n\t}\n} /* c8 ignore next */\n"]}
@@ -2,7 +2,7 @@ import { EMAIL_MAX_LEN } from "./Constants.mjs";
2
2
  import { throwErrorWrongUserInput } from "../graphQL/throw/throwErrorWrongUserInput.mjs";
3
3
  export function checkEmailLen(email) {
4
4
  if (email === '') {
5
- throw throwErrorWrongUserInput('L\'email non può essere vuota');
5
+ throw throwErrorWrongUserInput("L'email non può essere vuota");
6
6
  }
7
7
  else if (email.length > EMAIL_MAX_LEN) {
8
8
  throw throwErrorWrongUserInput(`L'email non può superare i ${EMAIL_MAX_LEN} caratteri`);
@@ -1 +1 @@
1
- {"version":3,"file":"checkEmailLen.mjs","sourceRoot":"","sources":["../../../src/lib/checkEmailLen.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,wBAA0B;AAClD,OAAO,EAAE,wBAAwB,EAAE,sDAA2C;AAE9E,MAAM,UAAU,aAAa,CAAC,KAAa;IAC1C,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAClB,MAAM,wBAAwB,CAAC,+BAA+B,CAAC,CAAA;IAChE,CAAC;SAAM,IAAI,KAAK,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;QACzC,MAAM,wBAAwB,CAC7B,8BAA8B,aAAa,YAAY,CACvD,CAAA;IACF,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"checkEmailLen.mjs","sourceRoot":"","sources":["../../../src/lib/checkEmailLen.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,wBAA0B;AAClD,OAAO,EAAE,wBAAwB,EAAE,sDAA2C;AAE9E,MAAM,UAAU,aAAa,CAAC,KAAa;IAC1C,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAClB,MAAM,wBAAwB,CAAC,8BAA8B,CAAC,CAAA;IAC/D,CAAC;SAAM,IAAI,KAAK,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;QACzC,MAAM,wBAAwB,CAAC,8BAA8B,aAAa,YAAY,CAAC,CAAA;IACxF,CAAC;AACF,CAAC","sourcesContent":["import { EMAIL_MAX_LEN } from '@lib/Constants.mjs'\nimport { throwErrorWrongUserInput } from '@throw/throwErrorWrongUserInput.mjs'\n\nexport function checkEmailLen(email: string) {\n\tif (email === '') {\n\t\tthrow throwErrorWrongUserInput(\"L'email non può essere vuota\")\n\t} else if (email.length > EMAIL_MAX_LEN) {\n\t\tthrow throwErrorWrongUserInput(`L'email non può superare i ${EMAIL_MAX_LEN} caratteri`)\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"checkPwdLen.mjs","sourceRoot":"","sources":["../../../src/lib/checkPwdLen.mts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,0GAA0G;AAE1G,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,wBAA0B;AACnE,OAAO,EAAE,wBAAwB,EAAE,sDAA2C;AAE9E,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC3C,IAAI,QAAQ,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;QACtC,MAAM,wBAAwB,CAAC,4BAA4B,CAAC,CAAA;IAC7D,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;QAC7C,MAAM,wBAAwB,CAAC,4BAA4B,CAAC,CAAA;IAC7D,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"checkPwdLen.mjs","sourceRoot":"","sources":["../../../src/lib/checkPwdLen.mts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,0GAA0G;AAE1G,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,wBAA0B;AACnE,OAAO,EAAE,wBAAwB,EAAE,sDAA2C;AAE9E,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC3C,IAAI,QAAQ,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;QACtC,MAAM,wBAAwB,CAAC,4BAA4B,CAAC,CAAA;IAC7D,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;QAC7C,MAAM,wBAAwB,CAAC,4BAA4B,CAAC,CAAA;IAC7D,CAAC;AACF,CAAC","sourcesContent":["// OWASP max len 72 chr for bcrypt\n// https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html#input-limits-of-bcrypt\n\nimport { MAX_PWD_LENGTH, MIN_PWD_LENGTH } from '@lib/Constants.mjs'\nimport { throwErrorWrongUserInput } from '@throw/throwErrorWrongUserInput.mjs'\n\nexport function checkPwdLen(password: string) {\n\tif (password.length < MIN_PWD_LENGTH) {\n\t\tthrow throwErrorWrongUserInput('La password è troppo corta')\n\t} else if (password.length > MAX_PWD_LENGTH) {\n\t\tthrow throwErrorWrongUserInput('La password è troppo lunga')\n\t}\n}\n"]}
@@ -1,11 +1,7 @@
1
1
  import { DevStatsGraphQLCalls } from "../../../graphQL/models/MongoDB/log/DevStatsGraphQLCalls.mjs";
2
2
  export const hitStat = async function (call) {
3
3
  // get last document of stats
4
- const ret = await DevStatsGraphQLCalls.find({})
5
- .select('_id')
6
- .sort({ dataora: -1 })
7
- .limit(1)
8
- .lean();
4
+ const ret = await DevStatsGraphQLCalls.find({}).select('_id').sort({ dataora: -1 }).limit(1).lean();
9
5
  const doc = ret[0];
10
6
  // set true for this call
11
7
  return DevStatsGraphQLCalls.updateOne({ _id: doc._id, 'list.name': call }, { 'list.$.hit': true }, { runValidators: true });
@@ -1 +1 @@
1
- {"version":3,"file":"hitStat.mjs","sourceRoot":"","sources":["../../../../../src/lib/db/log/hitStat.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,qEAAoD;AAEnF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,WAAU,IAAY;IACjD,6BAA6B;IAC7B,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;SAC7C,MAAM,CAAC,KAAK,CAAC;SACb,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;SACrB,KAAK,CAAC,CAAC,CAAC;SACR,IAAI,EAAE,CAAA;IACR,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IAElB,yBAAyB;IACzB,OAAO,oBAAoB,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,EACxE,EAAE,YAAY,EAAE,IAAI,EAAE,EACtB,EAAE,aAAa,EAAE,IAAI,EAAE,CACvB,CAAA;AACF,CAAC,CAAA"}
1
+ {"version":3,"file":"hitStat.mjs","sourceRoot":"","sources":["../../../../../src/lib/db/log/hitStat.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,qEAAoD;AAEnF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,WAAW,IAAY;IAClD,6BAA6B;IAC7B,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IACnG,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IAElB,yBAAyB;IACzB,OAAO,oBAAoB,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;AAC5H,CAAC,CAAA","sourcesContent":["import { DevStatsGraphQLCalls } from '@models/MongoDB/log/DevStatsGraphQLCalls.mjs'\n\nexport const hitStat = async function (call: string) {\n\t// get last document of stats\n\tconst ret = await DevStatsGraphQLCalls.find({}).select('_id').sort({ dataora: -1 }).limit(1).lean()\n\tconst doc = ret[0]\n\n\t// set true for this call\n\treturn DevStatsGraphQLCalls.updateOne({ _id: doc._id, 'list.name': call }, { 'list.$.hit': true }, { runValidators: true })\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"logGlobalError.mjs","sourceRoot":"","sources":["../../../../../src/lib/db/log/logGlobalError.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,+DAA8C;AAOvE,MAAM,CAAC,MAAM,cAAc,GAAG,UAAS,GAAiB;IACvD,IAAI,GAAG,CAAC,OAAO,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAE3D,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,EAAE,CAAC,CAAA;IAC7C,IAAI,GAAG,CAAC,OAAO,KAAK,EAAE;QAAE,cAAc,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAA;IACtD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,cAAc,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAA;IAE9D,+BAA+B;AAChC,CAAC,CAAA"}
1
+ {"version":3,"file":"logGlobalError.mjs","sourceRoot":"","sources":["../../../../../src/lib/db/log/logGlobalError.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,+DAA8C;AAOvE,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,GAAiB;IACxD,IAAI,GAAG,CAAC,OAAO,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAE3D,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,EAAE,CAAC,CAAA;IAC7C,IAAI,GAAG,CAAC,OAAO,KAAK,EAAE;QAAE,cAAc,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAA;IACtD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,cAAc,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAA;IAE9D,+BAA+B;AAChC,CAAC,CAAA","sourcesContent":["import { LogGlobalError } from '@models/MongoDB/log/LogGlobalError.mjs'\n\ninterface IGlobalError {\n\tmessage: string\n\tstackArr: Array<string>\n}\n\nexport const logGlobalError = function (log: IGlobalError) {\n\tif (log.message === '' && log.stackArr.length === 0) return\n\n\tconst newGlobalError = new LogGlobalError({})\n\tif (log.message !== '') newGlobalError.m = log.message\n\tif (log.stackArr.length !== 0) newGlobalError.s = log.stackArr\n\n\t// return newGlobalError.save()\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"logGraphql.mjs","sourceRoot":"","sources":["../../../../../src/lib/db/log/logGraphql.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gEAA+C;AAGzE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,UACzB,KAAqB,EACrB,IAAY,EACZ,MAAc,EACd,KAAa;IAEb,IAAI,eAAe,CAAC;QACnB,KAAK;QACL,IAAI;QACJ,MAAM;QACN,KAAK;KACL,CAAC,CAAA;IACF;;;;;;;;;OASM;AACP,CAAC,CAAA"}
1
+ {"version":3,"file":"logGraphql.mjs","sourceRoot":"","sources":["../../../../../src/lib/db/log/logGraphql.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gEAA+C;AAGzE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,KAAqB,EAAE,IAAY,EAAE,MAAc,EAAE,KAAa;IACrG,IAAI,eAAe,CAAC;QACnB,KAAK;QACL,IAAI;QACJ,MAAM;QACN,KAAK;KACL,CAAC,CAAA;IACF;;;;;;;;;OASM;AACP,CAAC,CAAA","sourcesContent":["import { LogStatsGraphql } from '@models/MongoDB/log/LogStatsGraphql.mjs'\nimport { Types } from 'mongoose'\n\n/**\n * Logga operazioni fatte da utenti\n * @param owner\n * @param nome\n * @param status\n * @param msTot\n */\nexport const logGraphql = function (owner: Types.ObjectId, nome: string, status: number, msTot: number) {\n\tnew LogStatsGraphql({\n\t\towner,\n\t\tnome,\n\t\tstatus,\n\t\tmsTot\n\t})\n\t/*\n return new Promise((resolve, reject) => {\n newStatsGraphql.save((err: any, res: any) => {\n if (err) {\n reject('Errore log.' + err)\n } else {\n resolve(res)\n }\n })\n }) */\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"logThrow.mjs","sourceRoot":"","sources":["../../../../../src/lib/db/log/logThrow.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,yDAAwC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,oCAAoC;AAEpC,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAS,GAAW,EAAE,QAAgB;IAC7D,IAAI,QAAQ,CAAC;QACZ,GAAG,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE;QACzB,OAAO,EAAE,GAAG;QACZ,QAAQ;QACR,QAAQ,EAAE,IAAI,IAAI,EAAE;KACpB,CAAC,CAAA;IAEF,oMAAoM;IACpM,2FAA2F;IAE3F,8BAA8B;AAC/B,CAAC,CAAA"}
1
+ {"version":3,"file":"logThrow.mjs","sourceRoot":"","sources":["../../../../../src/lib/db/log/logThrow.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,yDAAwC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,oCAAoC;AAEpC,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,GAAW,EAAE,QAAgB;IAC9D,IAAI,QAAQ,CAAC;QACZ,GAAG,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE;QACzB,OAAO,EAAE,GAAG;QACZ,QAAQ;QACR,QAAQ,EAAE,IAAI,IAAI,EAAE;KACpB,CAAC,CAAA;IAEF,oMAAoM;IACpM,2FAA2F;IAE3F,8BAA8B;AAC/B,CAAC,CAAA","sourcesContent":["import { LogThrow } from '@models/MongoDB/log/LogThrow.mjs'\nimport { Types } from 'mongoose'\n\n// const lastSendEmail = new Date();\n\nexport const logThrow = function (log: string, errLevel: number) {\n\tnew LogThrow({\n\t\t_id: new Types.ObjectId(),\n\t\tmessage: log,\n\t\terrLevel,\n\t\tinserted: new Date()\n\t})\n\n\t// send email, check last send email per evitare flood (check last send email in collection con TTL / creare variabile che rimane disponibile ad ogni chiamata di questa funzione (lastSendEmail ?))\n\t// check db con config, es: admin imposta blocca invio email xke sta sistemando il problema\n\n\t// return newThrowError.save()\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ILoginSet.mjs","sourceRoot":"","sources":["../../../../../src/lib/db/login/ILoginSet.mts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"ILoginSet.mjs","sourceRoot":"","sources":["../../../../../src/lib/db/login/ILoginSet.mts"],"names":[],"mappings":"","sourcesContent":["export interface ILoginSet {\n\tlogin?: {\n\t\tfirstLogin?: Date\n\t\tlastLogin?: Date\n\t\trememberMe?: boolean\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ILoginUnset.mjs","sourceRoot":"","sources":["../../../../../src/lib/db/login/ILoginUnset.mts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"ILoginUnset.mjs","sourceRoot":"","sources":["../../../../../src/lib/db/login/ILoginUnset.mts"],"names":[],"mappings":"","sourcesContent":["export interface ILoginUnset {\n\tlogin?: {\n\t\trememberMe: number\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"registerNewUser.mjs","sourceRoot":"","sources":["../../../../src/lib/db/registerNewUser.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,yBAA0B;AAC9C,OAAO,EAAE,eAAe,EAAE,+BAAgC;AAC1D,OAAO,EAAE,QAAQ,EAAE,kDAAoC;AACvD,OAAO,EAAiB,KAAK,EAAE,MAAM,UAAU,CAAA;AAE/C,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,MAAc,EACd,QAAgB,EAChB,OAAsB;IAEtB,4BAA4B;IAC5B,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAA;IACnC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAA;IACxB,MAAM,gBAAgB,GAAG,SAAS,EAAE,CAAA;IACpC,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAA;IAE3C,MAAM,QAAQ,GAAG;QAChB;YACC,GAAG,EAAE,MAAM;YACX,KAAK,EAAE;gBACN,KAAK,EAAE,MAAM;gBACb,QAAQ,EAAE,GAAG;aACb;YACD,OAAO,EAAE;gBACR,KAAK,EAAE;oBACN,KAAK,EAAE,KAAK;oBACZ,WAAW,EAAE,KAAK;oBAClB,YAAY,EAAE,CAAC;oBACf,IAAI,EAAE,gBAAgB;iBACtB;gBACD,gBAAgB,EAAE,KAAK;aACvB;SACD;KACD,CAAA;IACD,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;IAEnE,MAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;IAC5C,OAAO,gBAAgB,CAAA;AACxB,CAAC"}
1
+ {"version":3,"file":"registerNewUser.mjs","sourceRoot":"","sources":["../../../../src/lib/db/registerNewUser.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,yBAA0B;AAC9C,OAAO,EAAE,eAAe,EAAE,+BAAgC;AAC1D,OAAO,EAAE,QAAQ,EAAE,kDAAoC;AACvD,OAAO,EAAiB,KAAK,EAAE,MAAM,UAAU,CAAA;AAE/C,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAc,EAAE,QAAgB,EAAE,OAAsB;IAC7F,4BAA4B;IAC5B,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAA;IACnC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAA;IACxB,MAAM,gBAAgB,GAAG,SAAS,EAAE,CAAA;IACpC,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAA;IAE3C,MAAM,QAAQ,GAAG;QAChB;YACC,GAAG,EAAE,MAAM;YACX,KAAK,EAAE;gBACN,KAAK,EAAE,MAAM;gBACb,QAAQ,EAAE,GAAG;aACb;YACD,OAAO,EAAE;gBACR,KAAK,EAAE;oBACN,KAAK,EAAE,KAAK;oBACZ,WAAW,EAAE,KAAK;oBAClB,YAAY,EAAE,CAAC;oBACf,IAAI,EAAE,gBAAgB;iBACtB;gBACD,gBAAgB,EAAE,KAAK;aACvB;SACD;KACD,CAAA;IACD,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;IAEnE,MAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;IAC5C,OAAO,gBAAgB,CAAA;AACxB,CAAC","sourcesContent":["import { emailHash } from '@lib/emailHash.mjs'\nimport { encryptPassword } from '@lib/encryptPassword.mjs'\nimport { UserBase } from '@models/MongoDB/UserBase.mjs'\nimport { ClientSession, Types } from 'mongoose'\n\nexport async function registerNewUser(uEmail: string, password: string, session: ClientSession) {\n\t// console.debug('new user')\n\tconst userId = new Types.ObjectId()\n\tconst nowDt = new Date()\n\tconst hashConfirmEmail = emailHash()\n\tconst pwd = await encryptPassword(password)\n\n\tconst newUsers = [\n\t\t{\n\t\t\t_id: userId,\n\t\t\tlogin: {\n\t\t\t\temail: uEmail,\n\t\t\t\tpassword: pwd\n\t\t\t},\n\t\t\taccount: {\n\t\t\t\temail: {\n\t\t\t\t\tvalid: false,\n\t\t\t\t\tdateLastReq: nowDt,\n\t\t\t\t\trequestTimes: 1,\n\t\t\t\t\thash: hashConfirmEmail\n\t\t\t\t},\n\t\t\t\tregistrationDate: nowDt\n\t\t\t}\n\t\t}\n\t]\n\tconsole.debug('newUsers: ', JSON.stringify(newUsers, undefined, 2))\n\n\tawait UserBase.create(newUsers, { session })\n\treturn hashConfirmEmail\n}\n"]}
@@ -1,8 +1,6 @@
1
1
  import { UserBase } from "../../graphQL/models/MongoDB/UserBase.mjs";
2
2
  export async function userExist(uEmail, session) {
3
- const user = await UserBase.findOne({ 'login.email': uEmail }, '_id')
4
- .session(session)
5
- .lean();
3
+ const user = await UserBase.findOne({ 'login.email': uEmail }, '_id').session(session).lean();
6
4
  return user !== null;
7
5
  }
8
6
  //# sourceMappingURL=userExist.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"userExist.mjs","sourceRoot":"","sources":["../../../../src/lib/db/userExist.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,kDAAoC;AAGvD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAc,EAAE,OAAsB;IACrE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC;SACnE,OAAO,CAAC,OAAO,CAAC;SAChB,IAAI,EAAE,CAAA;IAER,OAAO,IAAI,KAAK,IAAI,CAAA;AACrB,CAAC"}
1
+ {"version":3,"file":"userExist.mjs","sourceRoot":"","sources":["../../../../src/lib/db/userExist.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,kDAAoC;AAGvD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAc,EAAE,OAAsB;IACrE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;IAE7F,OAAO,IAAI,KAAK,IAAI,CAAA;AACrB,CAAC","sourcesContent":["import { UserBase } from '@models/MongoDB/UserBase.mjs'\nimport { ClientSession } from 'mongoose'\n\nexport async function userExist(uEmail: string, session: ClientSession) {\n\tconst user = await UserBase.findOne({ 'login.email': uEmail }, '_id').session(session).lean()\n\n\treturn user !== null\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"emailHash.mjs","sourceRoot":"","sources":["../../../src/lib/emailHash.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,wBAA0B;AACnD,OAAO,EAAE,SAAS,EAAE,wBAA0B;AAE9C,MAAM,UAAU,SAAS;IACxB,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAA;IAC9B,OAAO,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;AAC3C,CAAC"}
1
+ {"version":3,"file":"emailHash.mjs","sourceRoot":"","sources":["../../../src/lib/emailHash.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,wBAA0B;AACnD,OAAO,EAAE,SAAS,EAAE,wBAA0B;AAE9C,MAAM,UAAU,SAAS;IACxB,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAA;IAC9B,OAAO,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;AAC3C,CAAC","sourcesContent":["import { EMAIL_HASH_LEN } from '@lib/Constants.mjs'\nimport { StringLib } from '@lib/StringLib.mjs'\n\nexport function emailHash() {\n\tconst StrObj = new StringLib()\n\treturn StrObj.randomString(EMAIL_HASH_LEN)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"encryptPassword.mjs","sourceRoot":"","sources":["../../../src/lib/encryptPassword.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,4CAAyC;AAE/D,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW;IAChD,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;AAC3C,CAAC"}
1
+ {"version":3,"file":"encryptPassword.mjs","sourceRoot":"","sources":["../../../src/lib/encryptPassword.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,4CAAyC;AAE/D,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW;IAChD,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;AAC3C,CAAC","sourcesContent":["import bcrypt from '@node-rs/bcrypt'\nimport { SALT_ROUNDS } from '@private/lib/access/Constants.mjs'\n\nexport async function encryptPassword(pwd: string): Promise<string> {\n\treturn await bcrypt.hash(pwd, SALT_ROUNDS)\n}\n"]}
package/dist/lib/hash.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { compare } from '@node-rs/bcrypt';
1
+ import bcrypt from '@node-rs/bcrypt';
2
2
  /**
3
3
  *
4
4
  * @param clear pwd in chiaro
@@ -6,7 +6,7 @@ import { compare } from '@node-rs/bcrypt';
6
6
  */
7
7
  export async function compareHashAsync(clear, hash) {
8
8
  try {
9
- return await compare(clear, hash);
9
+ return await bcrypt.compare(clear, hash);
10
10
  }
11
11
  catch (err) {
12
12
  throw err;
@@ -1 +1 @@
1
- {"version":3,"file":"hash.mjs","sourceRoot":"","sources":["../../../src/lib/hash.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAEzC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAa,EAAE,IAAY;IACjE,IAAI,CAAC;QACJ,OAAO,MAAM,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAClC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,GAAG,CAAA;IACV,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"hash.mjs","sourceRoot":"","sources":["../../../src/lib/hash.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAA;AAEpC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAa,EAAE,IAAY;IACjE,IAAI,CAAC;QACJ,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,GAAG,CAAA;IACV,CAAC;AACF,CAAC","sourcesContent":["import bcrypt from '@node-rs/bcrypt'\n\n/**\n *\n * @param clear pwd in chiaro\n * @param hash hash della pwd\n */\nexport async function compareHashAsync(clear: string, hash: string) {\n\ttry {\n\t\treturn await bcrypt.compare(clear, hash)\n\t} catch (err) {\n\t\tthrow err\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"makeOnboardingData.mjs","sourceRoot":"","sources":["../../../src/lib/makeOnboardingData.mts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,CAAC,IAAiB;IACnD,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAChE,CAAC"}
1
+ {"version":3,"file":"makeOnboardingData.mjs","sourceRoot":"","sources":["../../../src/lib/makeOnboardingData.mts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,CAAC,IAAiB;IACnD,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAChE,CAAC","sourcesContent":["import { IOnboarding } from '@lib/MongoDB/IOnboarding.mjs'\n\nexport function makeOnboardingData(data: IOnboarding): string | null {\n\treturn data.onboardingDone ? (data.onboardingStep ?? '') : null\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"setLoginCookies.mjs","sourceRoot":"","sources":["../../../src/lib/setLoginCookies.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,2BAA6B;AAC3D,OAAO,EAAE,oBAAoB,EAAE,qBAAuB;AAEtD,MAAM,UAAU,eAAe,CAC9B,GAAkB,EAClB,YAAoB;IAEpB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,EAAE;QAC9C,GAAG,mBAAmB;QACtB,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAAE,4BAA4B;KACjE,CAAC,CAAA;IACF,6BAA6B;AAC9B,CAAC"}
1
+ {"version":3,"file":"setLoginCookies.mjs","sourceRoot":"","sources":["../../../src/lib/setLoginCookies.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,2BAA6B;AAC3D,OAAO,EAAE,oBAAoB,EAAE,qBAAuB;AAEtD,MAAM,UAAU,eAAe,CAAC,GAAkB,EAAE,YAAoB;IACvE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,EAAE;QAC9C,GAAG,mBAAmB;QACtB,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAAC,4BAA4B;KAChE,CAAC,CAAA;IACF,6BAA6B;AAC9B,CAAC","sourcesContent":["import { IContextLogin } from '@context/IContextLogin.mjs'\nimport { refreshTokenOptions } from '@lib/tokenOptions.mjs'\nimport { REFRESH_TOKEN_EXPIRY } from '@lib/tokens.mjs'\n\nexport function setLoginCookies(ctx: IContextLogin, refreshToken: string) {\n\tctx.cookies.set('refresh_token', refreshToken, {\n\t\t...refreshTokenOptions,\n\t\tmaxAge: REFRESH_TOKEN_EXPIRY * 1000 // maxAge is in milliseconds\n\t})\n\t// if remember me, generate ?\n}\n"]}
@@ -1,2 +1,2 @@
1
- export const sleepMs = (ms) => new Promise(resolve => setTimeout(resolve, ms));
1
+ export const sleepMs = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
2
2
  //# sourceMappingURL=sleepMs.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"sleepMs.mjs","sourceRoot":"","sources":["../../../src/lib/sleepMs.mts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"sleepMs.mjs","sourceRoot":"","sources":["../../../src/lib/sleepMs.mts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA","sourcesContent":["export const sleepMs = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms))\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"throwIfNotValidEnumValue.mjs","sourceRoot":"","sources":["../../../src/lib/throwIfNotValidEnumValue.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,sDAA2C;AAE9E,MAAM,UAAU,wBAAwB,CACvC,OAAU,EACV,KAAgC;IAEhC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAwB,CAAC,CAAA;IACrE,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,MAAM,wBAAwB,CAAC,kBAAkB,CAAC,CAAA;IACnD,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"throwIfNotValidEnumValue.mjs","sourceRoot":"","sources":["../../../src/lib/throwIfNotValidEnumValue.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,sDAA2C;AAE9E,MAAM,UAAU,wBAAwB,CACvC,OAAU,EACV,KAAgC;IAEhC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAwB,CAAC,CAAA;IACrE,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,MAAM,wBAAwB,CAAC,kBAAkB,CAAC,CAAA;IACnD,CAAC;AACF,CAAC","sourcesContent":["import { throwErrorWrongUserInput } from '@throw/throwErrorWrongUserInput.mjs'\n\nexport function throwIfNotValidEnumValue<T extends Record<string, string | number>>(\n\tenumObj: T,\n\tvalue: string | number | boolean\n): void {\n\tconst ret = Object.values(enumObj).includes(value as string | number)\n\tif (!ret) {\n\t\tthrow throwErrorWrongUserInput('Wrong enum value')\n\t}\n}\n"]}
@@ -13,5 +13,5 @@ export const accessTokenOptions = {
13
13
  export const refreshTokenOptions = {
14
14
  ...baseOptions
15
15
  // path: '/authorization-api',
16
- };
16
+ }; /* c8 ignore next */
17
17
  //# sourceMappingURL=tokenOptions.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokenOptions.mjs","sourceRoot":"","sources":["../../../src/lib/tokenOptions.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAEhC,MAAM,CAAC,MAAM,EAAE,CAAA;AAEf,MAAM,WAAW,GAAG;IACnB,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,KAAK,EAAE,4BAA4B;IAC3C,cAAc,EAAE,CAAC;CACjB,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IACjC,GAAG,WAAW;IACd,0BAA0B;CAC1B,CAAA;AACD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAClC,GAAG,WAAW;IACd,+BAA+B;CAC/B,CAAA"}
1
+ {"version":3,"file":"tokenOptions.mjs","sourceRoot":"","sources":["../../../src/lib/tokenOptions.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAEhC,MAAM,CAAC,MAAM,EAAE,CAAA;AAEf,MAAM,WAAW,GAAG;IACnB,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,KAAK,EAAE,4BAA4B;IAC3C,cAAc,EAAE,CAAC;CACjB,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IACjC,GAAG,WAAW;IACd,0BAA0B;CAC1B,CAAA;AACD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAClC,GAAG,WAAW;IACd,+BAA+B;CAC/B,CAAA,CAAC,oBAAoB","sourcesContent":["import * as dotenv from 'dotenv'\n\ndotenv.config()\n\nconst baseOptions = {\n\thttpOnly: true,\n\tsameSite: 'Strict',\n\tsecure: false, // rewrite a true in Nginx !\n\texpirationDate: 0\n}\n\nexport const accessTokenOptions = {\n\t...baseOptions\n\t// path: '/resource-api',\n}\nexport const refreshTokenOptions = {\n\t...baseOptions\n\t// path: '/authorization-api',\n} /* c8 ignore next */\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.mjs","sourceRoot":"","sources":["../../../src/lib/tokens.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AAEnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA,CAAC,UAAU;AAEhE,SAAS,aAAa;IACrB,OAAO,MAAM,EAAE,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,mBAAmB;IAClC,OAAO,aAAa,EAAE,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,oBAAoB;IACnC,OAAO,aAAa,EAAE,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,iBAAiB;IAChC,mEAAmE;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IAC5B,2CAA2C;IAC3C,MAAM,YAAY,GAAG,MAAM,GAAG,EAAE,CAAA,CAAC,cAAc;IAC/C,kDAAkD;IAClD,MAAM,aAAa,GAAG,CAAC,YAAY,GAAG,EAAE,CAAC,GAAG,EAAE,CAAA;IAC9C,kDAAkD;IAClD,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;AACjC,CAAC"}
1
+ {"version":3,"file":"tokens.mjs","sourceRoot":"","sources":["../../../src/lib/tokens.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AAEnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA,CAAC,UAAU;AAEhE,SAAS,aAAa;IACrB,OAAO,MAAM,EAAE,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,mBAAmB;IAClC,OAAO,aAAa,EAAE,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,oBAAoB;IACnC,OAAO,aAAa,EAAE,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,iBAAiB;IAChC,mEAAmE;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IAC5B,2CAA2C;IAC3C,MAAM,YAAY,GAAG,MAAM,GAAG,EAAE,CAAA,CAAC,cAAc;IAC/C,kDAAkD;IAClD,MAAM,aAAa,GAAG,CAAC,YAAY,GAAG,EAAE,CAAC,GAAG,EAAE,CAAA;IAC9C,kDAAkD;IAClD,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;AACjC,CAAC","sourcesContent":["import { v4 as uuidv4 } from 'uuid'\n\nexport const REFRESH_TOKEN_EXPIRY = 90 * 24 * 60 * 60 // 90 days\n\nfunction generateToken() {\n\treturn uuidv4()\n}\n\nexport function generateAccessToken() {\n\treturn generateToken()\n}\n\nexport function generateRefreshToken() {\n\treturn generateToken()\n}\n\nexport function accessTokenExpiry() {\n\t// Generate a random number between 0 (inclusive) and 1 (exclusive)\n\tconst random = Math.random()\n\t// Scale it to the desired range (30 to 90)\n\tconst scaledRandom = random * 61 // 90 - 30 + 1\n\t// Shift it to start from 30 and switch to minutes\n\tconst shiftedRandom = (scaledRandom + 30) * 60\n\t// Floor the value to get an integer and return it\n\treturn Math.floor(shiftedRandom)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tryCatchRethrow.mjs","sourceRoot":"","sources":["../../../src/lib/tryCatchRethrow.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,iBAAiB,EAAE,+CAAoC;AAChE,OAAO,EAAE,kBAAkB,EAAE,gDAAqC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,MAAM,UAAU,eAAe,CAAC,CAAuB;IACtD,eAAe,CAAC,CAAC,CAAC,CAAA;IAElB,kBAAkB;IAClB,IAAI,CAAC,YAAY,YAAY,EAAE,CAAC;QAC/B,uCAAuC;QACvC,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,CAAA;QAChD,MAAM,IAAI,GAAI,CAAC,CAAC,UAAU,EAAE,WAAsB,IAAI,EAAE,CAAA;QACxD,MAAM,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACjD,CAAC;SAAM,CAAC;QACP,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;QAC1B,MAAM,kBAAkB,EAAE,CAAA;IAC3B,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"tryCatchRethrow.mjs","sourceRoot":"","sources":["../../../src/lib/tryCatchRethrow.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,iBAAiB,EAAE,+CAAoC;AAChE,OAAO,EAAE,kBAAkB,EAAE,gDAAqC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,MAAM,UAAU,eAAe,CAAC,CAAuB;IACtD,eAAe,CAAC,CAAC,CAAC,CAAA;IAElB,kBAAkB;IAClB,IAAI,CAAC,YAAY,YAAY,EAAE,CAAC;QAC/B,uCAAuC;QACvC,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,CAAA;QAChD,MAAM,IAAI,GAAI,CAAC,CAAC,UAAU,EAAE,WAAsB,IAAI,EAAE,CAAA;QACxD,MAAM,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACjD,CAAC;SAAM,CAAC;QACP,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;QAC1B,MAAM,kBAAkB,EAAE,CAAA;IAC3B,CAAC;AACF,CAAC","sourcesContent":["import * as Sentry from '@sentry/node'\nimport { throwGraphQLError } from '@throw/throwGraphQLError.mjs'\nimport { throwInternalError } from '@throw/throwInternalError.mjs'\nimport { GraphQLError } from 'graphql'\n\nimport { throwIfMongoErr } from './MongoDB/throwIfMongoErr.mjs'\n\nexport function tryCatchRethrow(e: GraphQLError | Error) {\n\tthrowIfMongoErr(e)\n\n\t// else throw here\n\tif (e instanceof GraphQLError) {\n\t\t// @ts-expect-error status do not exist\n\t\tconst status = e.extensions?.http?.status || 500\n\t\tconst desc = (e.extensions?.description as string) || ''\n\t\tthrow throwGraphQLError(status, e.message, desc)\n\t} else {\n\t\tSentry.captureException(e)\n\t\tthrow throwInternalError()\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"_validateMimeType.mjs","sourceRoot":"","sources":["../../../../src/private/files/_validateMimeType.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACrC,QAAgB,EAChB,gBAA0B,EACR,EAAE;IACpB,0CAA0C;IAC1C,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAA;IAEtD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAA,CAAC,kCAAkC;IACpF,qCAAqC;IACrC,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAA,CAAC,6BAA6B;IACtD,8EAA8E;IAC9E,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,OAAO,QAAQ,CAAC,GAAG,CAAA;IACpB,CAAC;SAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACV,CAAC;AACF,CAAC,CAAA"}
1
+ {"version":3,"file":"_validateMimeType.mjs","sourceRoot":"","sources":["../../../../src/private/files/_validateMimeType.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,QAAgB,EAAE,gBAA0B,EAAmB,EAAE;IACxG,0CAA0C;IAC1C,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAA;IAEtD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAA,CAAC,kCAAkC;IACpF,qCAAqC;IACrC,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAA,CAAC,6BAA6B;IACtD,8EAA8E;IAC9E,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,OAAO,QAAQ,CAAC,GAAG,CAAA;IACpB,CAAC;SAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACV,CAAC;AACF,CAAC,CAAA","sourcesContent":["/**\n * Utility function to validate MIME type via magic number\n * @param filePath\n * @param allowedMimeTypes\n */\nexport const _validateMimeType = async (filePath: string, allowedMimeTypes: string[]): Promise<string> => {\n\t// Dynamically import the file-type module\n\tconst { fileTypeFromFile } = await import('file-type')\n\n\tconst fileType = await fileTypeFromFile(filePath) // Get the file type from the file\n\t//console.debug('fileType', fileType)\n\tif (!fileType) return '' // Could not detect file type\n\t// Check if the detected MIME type is allowed and is so, return file extension\n\tif (allowedMimeTypes.includes(fileType.mime)) {\n\t\treturn fileType.ext\n\t} else {\n\t\treturn ''\n\t}\n}\n"]}
@@ -14,32 +14,16 @@ export async function reEncode(filePath, ext, quality = 100) {
14
14
  const originalFileExt = parts.length > 1 ? parts[parts.length - 1].toLowerCase() : '';
15
15
  try {
16
16
  if (ext === 'jpeg') {
17
- await sharp(filePath)
18
- .jpeg({ quality, progressive: true })
19
- .withMetadata({})
20
- .withExif({})
21
- .toFile(finalFilepath);
17
+ await sharp(filePath).jpeg({ quality, progressive: true }).withMetadata({}).withExif({}).toFile(finalFilepath);
22
18
  }
23
19
  else if (ext === 'png') {
24
- await sharp(filePath)
25
- .png({ quality, progressive: true })
26
- .withMetadata({})
27
- .withExif({})
28
- .toFile(finalFilepath);
20
+ await sharp(filePath).png({ quality, progressive: true }).withMetadata({}).withExif({}).toFile(finalFilepath);
29
21
  }
30
22
  else if (ext === 'webp') {
31
- await sharp(filePath)
32
- .webp({ quality, lossless: true })
33
- .withMetadata({})
34
- .withExif({})
35
- .toFile(finalFilepath);
23
+ await sharp(filePath).webp({ quality, lossless: true }).withMetadata({}).withExif({}).toFile(finalFilepath);
36
24
  }
37
25
  else if (ext === 'avif') {
38
- await sharp(filePath)
39
- .avif({ quality, lossless: true })
40
- .withMetadata({})
41
- .withExif({})
42
- .toFile(finalFilepath);
26
+ await sharp(filePath).avif({ quality, lossless: true }).withMetadata({}).withExif({}).toFile(finalFilepath);
43
27
  }
44
28
  }
45
29
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"reEncode.mjs","sourceRoot":"","sources":["../../../../src/private/files/reEncode.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,kBAAkB,EAAE,mDAAqC;AAClE,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAA;AACnC,OAAO,KAAqB,MAAM,OAAO,CAAA;AAIzC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAAgB,EAAE,GAA0C,EAAE,OAAO,GAAG,GAAG;IACzG,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;IAC7D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACjC,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAErF,IAAI,CAAC;QAEJ,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,QAAQ,CAAC;iBACnB,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;iBACpC,YAAY,CAAC,EAAE,CAAC;iBAChB,QAAQ,CAAC,EAAE,CAAC;iBACZ,MAAM,CAAC,aAAa,CAAC,CAAA;QACxB,CAAC;aAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAC1B,MAAM,KAAK,CAAC,QAAQ,CAAC;iBACnB,GAAG,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;iBACnC,YAAY,CAAC,EAAE,CAAC;iBAChB,QAAQ,CAAC,EAAE,CAAC;iBACZ,MAAM,CAAC,aAAa,CAAC,CAAA;QACxB,CAAC;aAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,CAAC,QAAQ,CAAC;iBACnB,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;iBACjC,YAAY,CAAC,EAAE,CAAC;iBAChB,QAAQ,CAAC,EAAE,CAAC;iBACZ,MAAM,CAAC,aAAa,CAAC,CAAA;QACxB,CAAC;aAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,CAAC,QAAQ,CAAC;iBACnB,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;iBACjC,YAAY,CAAC,EAAE,CAAC;iBAChB,QAAQ,CAAC,EAAE,CAAC;iBACZ,MAAM,CAAC,aAAa,CAAC,CAAA;QACxB,CAAC;IAEF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;QAC5B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;IAC9C,CAAC;IAED,wCAAwC;IACxC,IAAI,eAAe,KAAK,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC;YACJ,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC1B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;YAC1B,MAAM,kBAAkB,EAAE,CAAA;QAC3B,CAAC;IACF,CAAC;IAED,OAAO,aAAa,CAAA;AACrB,CAAC"}
1
+ {"version":3,"file":"reEncode.mjs","sourceRoot":"","sources":["../../../../src/private/files/reEncode.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,kBAAkB,EAAE,mDAAqC;AAClE,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAA;AACnC,OAAO,KAAqB,MAAM,OAAO,CAAA;AAIzC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAAgB,EAAE,GAA0C,EAAE,OAAO,GAAG,GAAG;IACzG,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;IAC7D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACjC,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAErF,IAAI,CAAC;QACJ,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QAC/G,CAAC;aAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAC1B,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QAC9G,CAAC;aAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QAC5G,CAAC;aAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QAC5G,CAAC;IACF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;QAC5B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;IAC9C,CAAC;IAED,wCAAwC;IACxC,IAAI,eAAe,KAAK,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC;YACJ,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC1B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;YAC1B,MAAM,kBAAkB,EAAE,CAAA;QAC3B,CAAC;IACF,CAAC;IAED,OAAO,aAAa,CAAA;AACrB,CAAC","sourcesContent":["import * as Sentry from '@sentry/node'\nimport { throwInternalError } from '@throw/throwInternalError.mjs'\nimport { promises as fs } from 'fs'\nimport sharp, { FormatEnum } from 'sharp'\n\ntype AvailableFormatInf = 'jpeg' | 'png' | 'webp' | 'avif'\n\n/**\n * Re-encode the image to a specific format and remove all metadata (EXIF, etc.)\n * @param filePath\n * @param ext\n * @param quality\n */\nexport async function reEncode(filePath: string, ext: keyof FormatEnum | AvailableFormatInf, quality = 100) {\n\tconst finalFilepath = filePath.replace(/\\.[^.]+$/, `.${ext}`)\n\tconst parts = filePath.split('.')\n\tconst originalFileExt = parts.length > 1 ? parts[parts.length - 1].toLowerCase() : ''\n\n\ttry {\n\t\tif (ext === 'jpeg') {\n\t\t\tawait sharp(filePath).jpeg({ quality, progressive: true }).withMetadata({}).withExif({}).toFile(finalFilepath)\n\t\t} else if (ext === 'png') {\n\t\t\tawait sharp(filePath).png({ quality, progressive: true }).withMetadata({}).withExif({}).toFile(finalFilepath)\n\t\t} else if (ext === 'webp') {\n\t\t\tawait sharp(filePath).webp({ quality, lossless: true }).withMetadata({}).withExif({}).toFile(finalFilepath)\n\t\t} else if (ext === 'avif') {\n\t\t\tawait sharp(filePath).avif({ quality, lossless: true }).withMetadata({}).withExif({}).toFile(finalFilepath)\n\t\t}\n\t} catch (err) {\n\t\tSentry.captureException(err)\n\t\tthrow new Error('Error processing the image')\n\t}\n\n\t// unlink if file extension is different\n\tif (originalFileExt !== ext) {\n\t\ttry {\n\t\t\tawait fs.unlink(filePath)\n\t\t} catch (e) {\n\t\t\tSentry.captureException(e)\n\t\t\tthrow throwInternalError()\n\t\t}\n\t}\n\n\treturn finalFilepath\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Consts.mjs","sourceRoot":"","sources":["../../../../src/private/graphQL/Consts.mts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAC7B,8GAA8G,CAAA;AAC/G,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAA"}
1
+ {"version":3,"file":"Consts.mjs","sourceRoot":"","sources":["../../../../src/private/graphQL/Consts.mts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAC7B,8GAA8G,CAAA;AAC/G,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAA","sourcesContent":["export const ERR_MISCONFIGURED =\n\t'We have misconfigured some services. Our technicians are already fixing the problem. Please try again later.'\nexport const ERR_OOPS = 'Oops'\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"UserAdminKoaUtils.mjs","sourceRoot":"","sources":["../../../../../../../src/private/graphQL/models/MongoDB/private/UserAdminKoaUtils.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAS,MAAM,UAAU,CAAA;AAqD/C,MAAM,uBAAuB,GAAqC,IAAI,MAAM,CAC3E;IACC,KAAK,EAAE;QACN,IAAI,EAAE;YACL,GAAG,EAAE,KAAK;YACV,KAAK,EAAE;gBACN,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,IAAI;aACd;YACD,QAAQ,EAAE;gBACT,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,IAAI;aACd;YACD,UAAU,EAAE;gBACX,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,KAAK;aACf;YACD,SAAS,EAAE;gBACV,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,KAAK;aACf;SACD;QACD,QAAQ,EAAE,IAAI;KACd;IACD,OAAO,EAAE;QACR,IAAI,EAAE;YACL,GAAG,EAAE,KAAK;YACV,KAAK,EAAE;gBACN,IAAI,EAAE;oBACL,GAAG,EAAE,KAAK;oBACV,KAAK,EAAE;wBACN,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,IAAI;qBACd;oBACD,WAAW,EAAE;wBACZ,IAAI,EAAE,IAAI;wBACV,QAAQ,EAAE,KAAK;qBACf;oBACD,YAAY,EAAE;wBACb,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,KAAK;qBACf;oBACD,IAAI,EAAE;wBACL,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,KAAK;qBACf;oBACD,WAAW,EAAE;wBACZ,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,KAAK;qBACf;iBACD;gBACD,QAAQ,EAAE,IAAI;aACd;YACD,UAAU,EAAE;gBACX,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,KAAK;aACf;YACD,gBAAgB,EAAE;gBACjB,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,IAAI;aACd;YACD,gBAAgB,EAAE;gBACjB,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,KAAK;aACf;YACD,UAAU,EAAE;gBACX,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,KAAK;aACf;YACD,YAAY,EAAE;gBACb,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,KAAK;aACf;YACD,QAAQ,EAAE;gBACT,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,KAAK;aACf;YACD,OAAO,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,KAAK;aACf;SACD;QACD,QAAQ,EAAE,IAAI;KACd;IACD,YAAY,EAAE;QACb,IAAI,EAAE;YACL,GAAG,EAAE,KAAK;YACV,IAAI,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,IAAI;aACd;YACD,OAAO,EAAE;gBACR,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,IAAI;aACd;SACD;QACD,QAAQ,EAAE,IAAI;KACd;IACD,GAAG,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;KACf;CACD,EACD;IACC,UAAU,EAAE,WAAW;CACvB,CACD,CAAA;AAED,eAAe,KAAK,CACnB,mBAAmB,EACnB,uBAAuB,CACvB,CAAA"}
1
+ {"version":3,"file":"UserAdminKoaUtils.mjs","sourceRoot":"","sources":["../../../../../../../src/private/graphQL/models/MongoDB/private/UserAdminKoaUtils.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAS,MAAM,UAAU,CAAA;AAqD/C,MAAM,uBAAuB,GAAqC,IAAI,MAAM,CAC3E;IACC,KAAK,EAAE;QACN,IAAI,EAAE;YACL,GAAG,EAAE,KAAK;YACV,KAAK,EAAE;gBACN,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,IAAI;aACd;YACD,QAAQ,EAAE;gBACT,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,IAAI;aACd;YACD,UAAU,EAAE;gBACX,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,KAAK;aACf;YACD,SAAS,EAAE;gBACV,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,KAAK;aACf;SACD;QACD,QAAQ,EAAE,IAAI;KACd;IACD,OAAO,EAAE;QACR,IAAI,EAAE;YACL,GAAG,EAAE,KAAK;YACV,KAAK,EAAE;gBACN,IAAI,EAAE;oBACL,GAAG,EAAE,KAAK;oBACV,KAAK,EAAE;wBACN,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,IAAI;qBACd;oBACD,WAAW,EAAE;wBACZ,IAAI,EAAE,IAAI;wBACV,QAAQ,EAAE,KAAK;qBACf;oBACD,YAAY,EAAE;wBACb,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,KAAK;qBACf;oBACD,IAAI,EAAE;wBACL,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,KAAK;qBACf;oBACD,WAAW,EAAE;wBACZ,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,KAAK;qBACf;iBACD;gBACD,QAAQ,EAAE,IAAI;aACd;YACD,UAAU,EAAE;gBACX,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,KAAK;aACf;YACD,gBAAgB,EAAE;gBACjB,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,IAAI;aACd;YACD,gBAAgB,EAAE;gBACjB,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,KAAK;aACf;YACD,UAAU,EAAE;gBACX,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,KAAK;aACf;YACD,YAAY,EAAE;gBACb,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,KAAK;aACf;YACD,QAAQ,EAAE;gBACT,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,KAAK;aACf;YACD,OAAO,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,KAAK;aACf;SACD;QACD,QAAQ,EAAE,IAAI;KACd;IACD,YAAY,EAAE;QACb,IAAI,EAAE;YACL,GAAG,EAAE,KAAK;YACV,IAAI,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,IAAI;aACd;YACD,OAAO,EAAE;gBACR,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,IAAI;aACd;SACD;QACD,QAAQ,EAAE,IAAI;KACd;IACD,GAAG,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;KACf;CACD,EACD;IACC,UAAU,EAAE,WAAW;CACvB,CACD,CAAA;AAED,eAAe,KAAK,CAA2B,mBAAmB,EAAE,uBAAuB,CAAC,CAAA","sourcesContent":["import { model, Schema, Types } from 'mongoose'\n\nexport interface IInfoUserAdminForLogin {\n\t_id: Types.ObjectId\n\tlogin: {\n\t\tpassword: string\n\t\tlastLogin?: Date\n\t}\n\taccount: {\n\t\temail: {\n\t\t\tvalid: boolean\n\t\t}\n\t\trememberMe?: boolean\n\t\tdisabled?: boolean\n\t\tdeleted?: boolean\n\t}\n}\n\nexport interface IUserAdminKoaUtilsSchema {\n\t_id: Types.ObjectId\n\tlogin: {\n\t\t_id?: boolean\n\t\temail: string\n\t\tpassword: string\n\t\tfirstLogin?: Date\n\t\tlastLogin?: Date\n\t}\n\taccount: {\n\t\t_id?: boolean\n\t\temail: {\n\t\t\t_id?: boolean\n\t\t\tvalid: boolean\n\t\t\tdateLastReq?: Date\n\t\t\trequestTimes?: number\n\t\t\thash?: string\n\t\t\tnewEmailTmp?: string\n\t\t}\n\t\trememberMe?: boolean\n\t\tregistrationDate: Date\n\t\taccountValidDate?: Date\n\t\tnewsletter?: boolean\n\t\tresetDateReq?: Date\n\t\tdisabled?: boolean\n\t\tdeleted?: boolean\n\t}\n\tpersonalData: {\n\t\t_id: false\n\t\tname: string\n\t\tsurname: string\n\t}\n\t__v?: number\n}\n\nconst UserAdminKoaUtilsSchema: Schema<IUserAdminKoaUtilsSchema> = new Schema(\n\t{\n\t\tlogin: {\n\t\t\ttype: {\n\t\t\t\t_id: false,\n\t\t\t\temail: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\trequired: true\n\t\t\t\t},\n\t\t\t\tpassword: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\trequired: true\n\t\t\t\t},\n\t\t\t\tfirstLogin: {\n\t\t\t\t\ttype: Date,\n\t\t\t\t\trequired: false\n\t\t\t\t},\n\t\t\t\tlastLogin: {\n\t\t\t\t\ttype: Date,\n\t\t\t\t\trequired: false\n\t\t\t\t}\n\t\t\t},\n\t\t\trequired: true\n\t\t},\n\t\taccount: {\n\t\t\ttype: {\n\t\t\t\t_id: false,\n\t\t\t\temail: {\n\t\t\t\t\ttype: {\n\t\t\t\t\t\t_id: false,\n\t\t\t\t\t\tvalid: {\n\t\t\t\t\t\t\ttype: Boolean,\n\t\t\t\t\t\t\trequired: true\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdateLastReq: {\n\t\t\t\t\t\t\ttype: Date,\n\t\t\t\t\t\t\trequired: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequestTimes: {\n\t\t\t\t\t\t\ttype: Number,\n\t\t\t\t\t\t\trequired: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\thash: {\n\t\t\t\t\t\t\ttype: String,\n\t\t\t\t\t\t\trequired: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\tnewEmailTmp: {\n\t\t\t\t\t\t\ttype: String,\n\t\t\t\t\t\t\trequired: false\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\trequired: true\n\t\t\t\t},\n\t\t\t\trememberMe: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\trequired: false\n\t\t\t\t},\n\t\t\t\tregistrationDate: {\n\t\t\t\t\ttype: Date,\n\t\t\t\t\trequired: true\n\t\t\t\t},\n\t\t\t\taccountValidDate: {\n\t\t\t\t\ttype: Date,\n\t\t\t\t\trequired: false\n\t\t\t\t},\n\t\t\t\tnewsletter: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\trequired: false\n\t\t\t\t},\n\t\t\t\tresetDateReq: {\n\t\t\t\t\ttype: Date,\n\t\t\t\t\trequired: false\n\t\t\t\t},\n\t\t\t\tdisabled: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\trequired: false\n\t\t\t\t},\n\t\t\t\tdeleted: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\trequired: false\n\t\t\t\t}\n\t\t\t},\n\t\t\trequired: true\n\t\t},\n\t\tpersonalData: {\n\t\t\ttype: {\n\t\t\t\t_id: false,\n\t\t\t\tname: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\trequired: true\n\t\t\t\t},\n\t\t\t\tsurname: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\trequired: true\n\t\t\t\t}\n\t\t\t},\n\t\t\trequired: true\n\t\t},\n\t\t__v: {\n\t\t\ttype: Number,\n\t\t\trequired: false\n\t\t}\n\t},\n\t{\n\t\tcollection: 'userAdmin'\n\t}\n)\n\nexport default model<IUserAdminKoaUtilsSchema>('UserAdminKoaUtils', UserAdminKoaUtilsSchema)\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IContextLog.mjs","sourceRoot":"","sources":["../../../../../../src/private/graphQL/schema/context/IContextLog.mts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"IContextLog.mjs","sourceRoot":"","sources":["../../../../../../src/private/graphQL/schema/context/IContextLog.mts"],"names":[],"mappings":"","sourcesContent":["export interface IContextLog {\n\tmethod: string\n\turl: string\n\tstate: {\n\t\tuser: {\n\t\t\tid: string\n\t\t}\n\t}\n\trequest: {\n\t\tbody?: {\n\t\t\toperationName: string\n\t\t}\n\t}\n\tstatus: number\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IContextVerifyEmail.mjs","sourceRoot":"","sources":["../../../../../../src/private/graphQL/schema/context/IContextVerifyEmail.mts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"IContextVerifyEmail.mjs","sourceRoot":"","sources":["../../../../../../src/private/graphQL/schema/context/IContextVerifyEmail.mts"],"names":[],"mappings":"","sourcesContent":["export interface IContextVerifyEmail {\n\tparams: {\n\t\temail: string\n\t\thash: string\n\t}\n\n\tredirect(value: string): void\n}\n"]}
@@ -0,0 +1,19 @@
1
+ interface ISet {
2
+ login?: {
3
+ firstLogin?: Date;
4
+ lastLogin?: Date;
5
+ };
6
+ account?: {
7
+ rememberMe: boolean;
8
+ };
9
+ }
10
+ interface IUnset {
11
+ account?: {
12
+ rememberMe: number;
13
+ };
14
+ }
15
+ export declare function _buildLoginStatsUpdate(lastLogin: null | Date, rememberMe: boolean): {
16
+ dbSet: ISet;
17
+ dbUnset: IUnset;
18
+ };
19
+ export {};
@@ -0,0 +1,26 @@
1
+ export function _buildLoginStatsUpdate(lastLogin, rememberMe) {
2
+ const now = new Date();
3
+ // update last login
4
+ const dbSet = {};
5
+ const dbUnset = {};
6
+ // @ts-expect-error avoid any
7
+ dbSet['login.lastLogin'] = now;
8
+ // set firstLogin if this is the first login.
9
+ if (lastLogin === null) {
10
+ // @ts-expect-error avoid any
11
+ dbSet['login.firstLogin'] = now;
12
+ }
13
+ else {
14
+ // not the first login
15
+ }
16
+ if (rememberMe) {
17
+ // @ts-expect-error avoid any
18
+ dbSet['account.rememberMe'] = true;
19
+ }
20
+ else {
21
+ // @ts-expect-error avoid any
22
+ dbUnset['account.rememberMe'] = 1;
23
+ }
24
+ return { dbSet, dbUnset };
25
+ }
26
+ //# sourceMappingURL=_buildLoginStatsUpdate.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_buildLoginStatsUpdate.mjs","sourceRoot":"","sources":["../../../../../../src/private/graphQL/schema/mutations/_buildLoginStatsUpdate.mts"],"names":[],"mappings":"AAgBA,MAAM,UAAU,sBAAsB,CAAC,SAAsB,EAAE,UAAmB;IACjF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IAEtB,oBAAoB;IACpB,MAAM,KAAK,GAAS,EAAE,CAAA;IACtB,MAAM,OAAO,GAAW,EAAE,CAAA;IAE1B,6BAA6B;IAC7B,KAAK,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAA;IAE9B,6CAA6C;IAC7C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACxB,6BAA6B;QAC7B,KAAK,CAAC,kBAAkB,CAAC,GAAG,GAAG,CAAA;IAChC,CAAC;SAAM,CAAC;QACP,sBAAsB;IACvB,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QAChB,6BAA6B;QAC7B,KAAK,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAA;IACnC,CAAC;SAAM,CAAC;QACP,6BAA6B;QAC7B,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;AAC1B,CAAC","sourcesContent":["interface ISet {\n\tlogin?: {\n\t\tfirstLogin?: Date\n\t\tlastLogin?: Date\n\t}\n\taccount?: {\n\t\trememberMe: boolean\n\t}\n}\n\ninterface IUnset {\n\taccount?: {\n\t\trememberMe: number\n\t}\n}\n\nexport function _buildLoginStatsUpdate(lastLogin: null | Date, rememberMe: boolean) {\n\tconst now = new Date()\n\n\t// update last login\n\tconst dbSet: ISet = {}\n\tconst dbUnset: IUnset = {}\n\n\t// @ts-expect-error avoid any\n\tdbSet['login.lastLogin'] = now\n\n\t// set firstLogin if this is the first login.\n\tif (lastLogin === null) {\n\t\t// @ts-expect-error avoid any\n\t\tdbSet['login.firstLogin'] = now\n\t} else {\n\t\t// not the first login\n\t}\n\n\tif (rememberMe) {\n\t\t// @ts-expect-error avoid any\n\t\tdbSet['account.rememberMe'] = true\n\t} else {\n\t\t// @ts-expect-error avoid any\n\t\tdbUnset['account.rememberMe'] = 1\n\t}\n\n\treturn { dbSet, dbUnset }\n}\n"]}
@@ -0,0 +1,19 @@
1
+ import { Types } from 'mongoose';
2
+ export interface ILoginUserShape {
3
+ _id: Types.ObjectId;
4
+ login: {
5
+ password: string;
6
+ lastLogin?: Date;
7
+ };
8
+ account: {
9
+ email: {
10
+ valid: boolean;
11
+ };
12
+ disabled?: boolean;
13
+ deleted?: boolean;
14
+ };
15
+ }
16
+ export declare function _finalizeLoginCheck(user: ILoginUserShape, uEmail: string, password: string): Promise<{
17
+ userId: Types.ObjectId;
18
+ lastLogin: Date | null;
19
+ }>;
@@ -0,0 +1,28 @@
1
+ import { SocketLabsLib } from "../../../../email/SocketLabsLib.mjs";
2
+ import { compareHashAsync } from "../../../../lib/hash.mjs";
3
+ import { throwForbiddenError } from "../../../../graphQL/throw/throwForbiddenError.mjs";
4
+ export async function _finalizeLoginCheck(user, uEmail, password) {
5
+ if (!user.account.email.valid) {
6
+ throw throwForbiddenError();
7
+ }
8
+ const ret = await compareHashAsync(password, user.login.password);
9
+ if (!ret) {
10
+ // console.debug('[checkUserLoginAuthorization] pwd failed')
11
+ throw throwForbiddenError();
12
+ }
13
+ if (user.account.deleted) {
14
+ // console.debug('[checkUserLoginAuthorization] user deleted')
15
+ throw throwForbiddenError();
16
+ }
17
+ if (user.account.disabled) {
18
+ // console.debug('[checkUserLoginAuthorization] user disabled')
19
+ const SocketLabsObj = new SocketLabsLib();
20
+ await SocketLabsObj.accountDisabled(uEmail);
21
+ throw throwForbiddenError();
22
+ }
23
+ return {
24
+ userId: user._id,
25
+ lastLogin: user.login.lastLogin ?? null
26
+ };
27
+ }
28
+ //# sourceMappingURL=_finalizeLoginCheck.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_finalizeLoginCheck.mjs","sourceRoot":"","sources":["../../../../../../src/private/graphQL/schema/mutations/_finalizeLoginCheck.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,4CAAgC;AACxD,OAAO,EAAE,gBAAgB,EAAE,iCAAqB;AAChD,OAAO,EAAE,mBAAmB,EAAE,0DAAsC;AASpE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAqB,EAAE,MAAc,EAAE,QAAgB;IAChG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,mBAAmB,EAAE,CAAA;IAC5B,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAEjE,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,4DAA4D;QAC5D,MAAM,mBAAmB,EAAE,CAAA;IAC5B,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1B,8DAA8D;QAC9D,MAAM,mBAAmB,EAAE,CAAA;IAC5B,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC3B,+DAA+D;QAC/D,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAA;QACzC,MAAM,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,mBAAmB,EAAE,CAAA;IAC5B,CAAC;IAED,OAAO;QACN,MAAM,EAAE,IAAI,CAAC,GAAG;QAChB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI;KACvC,CAAA;AACF,CAAC","sourcesContent":["import { SocketLabsLib } from '@email/SocketLabsLib.mjs'\nimport { compareHashAsync } from '@lib/hash.mjs'\nimport { throwForbiddenError } from '@throw/throwForbiddenError.mjs'\nimport { Types } from 'mongoose'\n\nexport interface ILoginUserShape {\n\t_id: Types.ObjectId\n\tlogin: { password: string; lastLogin?: Date }\n\taccount: { email: { valid: boolean }; disabled?: boolean; deleted?: boolean }\n}\n\nexport async function _finalizeLoginCheck(user: ILoginUserShape, uEmail: string, password: string) {\n\tif (!user.account.email.valid) {\n\t\tthrow throwForbiddenError()\n\t}\n\n\tconst ret = await compareHashAsync(password, user.login.password)\n\n\tif (!ret) {\n\t\t// console.debug('[checkUserLoginAuthorization] pwd failed')\n\t\tthrow throwForbiddenError()\n\t}\n\n\tif (user.account.deleted) {\n\t\t// console.debug('[checkUserLoginAuthorization] user deleted')\n\t\tthrow throwForbiddenError()\n\t}\n\n\tif (user.account.disabled) {\n\t\t// console.debug('[checkUserLoginAuthorization] user disabled')\n\t\tconst SocketLabsObj = new SocketLabsLib()\n\t\tawait SocketLabsObj.accountDisabled(uEmail)\n\t\tthrow throwForbiddenError()\n\t}\n\n\treturn {\n\t\tuserId: user._id,\n\t\tlastLogin: user.login.lastLogin ?? null\n\t}\n}\n"]}
@@ -1,30 +1,7 @@
1
- import { SocketLabsLib } from "../../../../email/SocketLabsLib.mjs";
2
- import { compareHashAsync } from "../../../../lib/hash.mjs";
3
1
  import { infoUserAdminForLogin } from "./infoUserAdminForLogin.mjs";
4
- import { throwForbiddenError } from "../../../../graphQL/throw/throwForbiddenError.mjs";
2
+ import { _finalizeLoginCheck } from './_finalizeLoginCheck.mjs';
5
3
  export async function checkUserAdminLoginAuthorization(uEmail, password, session) {
6
4
  const user = await infoUserAdminForLogin(uEmail, session);
7
- if (!user.account.email.valid) {
8
- throw throwForbiddenError();
9
- }
10
- const ret = await compareHashAsync(password, user.login.password);
11
- if (!ret) {
12
- // console.debug('[checkUserLoginAuthorization] pwd failed')
13
- throw throwForbiddenError();
14
- }
15
- if (user.account.deleted) {
16
- // console.debug('[checkUserLoginAuthorization] user deleted')
17
- throw throwForbiddenError();
18
- }
19
- if (user.account.disabled) {
20
- // console.debug('[checkUserLoginAuthorization] user disabled')
21
- const SocketLabsObj = new SocketLabsLib();
22
- await SocketLabsObj.accountDisabled(uEmail);
23
- throw throwForbiddenError();
24
- }
25
- return {
26
- userId: user._id,
27
- lastLogin: user.login.lastLogin ?? null
28
- };
5
+ return _finalizeLoginCheck(user, uEmail, password);
29
6
  }
30
7
  //# sourceMappingURL=checkUserAdminLoginAuthorization.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkUserAdminLoginAuthorization.mjs","sourceRoot":"","sources":["../../../../../../src/private/graphQL/schema/mutations/checkUserAdminLoginAuthorization.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,4CAAgC;AACxD,OAAO,EAAE,gBAAgB,EAAE,iCAAqB;AAChD,OAAO,EAAE,qBAAqB,EAAE,oCAAmE;AACnG,OAAO,EAAE,mBAAmB,EAAE,0DAAsC;AAGpE,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACrD,MAAc,EACd,QAAgB,EAChB,OAAsB;IAEtB,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEzD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,mBAAmB,EAAE,CAAA;IAC5B,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAEjE,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,4DAA4D;QAC5D,MAAM,mBAAmB,EAAE,CAAA;IAC5B,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1B,8DAA8D;QAC9D,MAAM,mBAAmB,EAAE,CAAA;IAC5B,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC3B,+DAA+D;QAC/D,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAA;QACzC,MAAM,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,mBAAmB,EAAE,CAAA;IAC5B,CAAC;IAED,OAAO;QACN,MAAM,EAAE,IAAI,CAAC,GAAG;QAChB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI;KACvC,CAAA;AACF,CAAC"}
1
+ {"version":3,"file":"checkUserAdminLoginAuthorization.mjs","sourceRoot":"","sources":["../../../../../../src/private/graphQL/schema/mutations/checkUserAdminLoginAuthorization.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,oCAAmE;AAGnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAE/D,MAAM,CAAC,KAAK,UAAU,gCAAgC,CAAC,MAAc,EAAE,QAAgB,EAAE,OAAsB;IAC9G,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEzD,OAAO,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;AACnD,CAAC","sourcesContent":["import { infoUserAdminForLogin } from '@private/graphQL/schema/mutations/infoUserAdminForLogin.mjs'\nimport { ClientSession } from 'mongoose'\n\nimport { _finalizeLoginCheck } from './_finalizeLoginCheck.mjs'\n\nexport async function checkUserAdminLoginAuthorization(uEmail: string, password: string, session: ClientSession) {\n\tconst user = await infoUserAdminForLogin(uEmail, session)\n\n\treturn _finalizeLoginCheck(user, uEmail, password)\n}\n"]}
@@ -1,32 +1,8 @@
1
- import { SocketLabsLib } from "../../../../email/SocketLabsLib.mjs";
2
- import { compareHashAsync } from "../../../../lib/hash.mjs";
3
- import { throwForbiddenError } from "../../../../graphQL/throw/throwForbiddenError.mjs";
1
+ import { _finalizeLoginCheck } from './_finalizeLoginCheck.mjs';
4
2
  import { infoUserForLogin } from './infoUserForLogin.mjs';
5
3
  export async function checkUserLoginAuthorization(uEmail, password, session) {
6
4
  //console.debug('[checkUserLoginAuthorization] infoUserForLogin')
7
5
  const user = await infoUserForLogin(uEmail, session);
8
- //console.log('[checkUserLoginAuthorization] check 1')
9
- if (!user.account.email.valid) {
10
- throw throwForbiddenError();
11
- }
12
- const ret = await compareHashAsync(password, user.login.password);
13
- if (!ret) {
14
- // console.debug('[checkUserLoginAuthorization] pwd failed')
15
- throw throwForbiddenError();
16
- }
17
- if (user.account.deleted) {
18
- // console.debug('[checkUserLoginAuthorization] user deleted')
19
- throw throwForbiddenError();
20
- }
21
- if (user.account.disabled) {
22
- // console.debug('[checkUserLoginAuthorization] user disabled')
23
- const SocketLabsObj = new SocketLabsLib();
24
- await SocketLabsObj.accountDisabled(uEmail);
25
- throw throwForbiddenError();
26
- }
27
- return {
28
- userId: user._id,
29
- lastLogin: user.login.lastLogin ?? null
30
- };
6
+ return _finalizeLoginCheck(user, uEmail, password);
31
7
  }
32
8
  //# sourceMappingURL=checkUserLoginAuthorization.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkUserLoginAuthorization.mjs","sourceRoot":"","sources":["../../../../../../src/private/graphQL/schema/mutations/checkUserLoginAuthorization.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,4CAAgC;AACxD,OAAO,EAAE,gBAAgB,EAAE,iCAAqB;AAChD,OAAO,EAAE,mBAAmB,EAAE,0DAAsC;AAGpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAChD,MAAc,EACd,QAAgB,EAChB,OAAsB;IAEtB,iEAAiE;IACjE,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEpD,sDAAsD;IACtD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,mBAAmB,EAAE,CAAA;IAC5B,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAEjE,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,4DAA4D;QAC5D,MAAM,mBAAmB,EAAE,CAAA;IAC5B,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1B,8DAA8D;QAC9D,MAAM,mBAAmB,EAAE,CAAA;IAC5B,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC3B,+DAA+D;QAC/D,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAA;QACzC,MAAM,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,mBAAmB,EAAE,CAAA;IAC5B,CAAC;IAED,OAAO;QACN,MAAM,EAAE,IAAI,CAAC,GAAG;QAChB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI;KACvC,CAAA;AACF,CAAC"}
1
+ {"version":3,"file":"checkUserLoginAuthorization.mjs","sourceRoot":"","sources":["../../../../../../src/private/graphQL/schema/mutations/checkUserLoginAuthorization.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,MAAc,EAAE,QAAgB,EAAE,OAAsB;IACzG,iEAAiE;IACjE,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEpD,OAAO,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;AACnD,CAAC","sourcesContent":["import { ClientSession } from 'mongoose'\n\nimport { _finalizeLoginCheck } from './_finalizeLoginCheck.mjs'\nimport { infoUserForLogin } from './infoUserForLogin.mjs'\n\nexport async function checkUserLoginAuthorization(uEmail: string, password: string, session: ClientSession) {\n\t//console.debug('[checkUserLoginAuthorization] infoUserForLogin')\n\tconst user = await infoUserForLogin(uEmail, session)\n\n\treturn _finalizeLoginCheck(user, uEmail, password)\n}\n"]}
@@ -2,8 +2,7 @@ import UserAdminKoaUtils from "../../models/MongoDB/private/UserAdminKoaUtils.mj
2
2
  import { throwUnauthorizedError } from "../../../../graphQL/throw/throwUnauthorizedError.mjs";
3
3
  export async function infoUserAdminForLogin(email, session) {
4
4
  const ret = await UserAdminKoaUtils.findOne({ 'login.email': email })
5
- .select('_id login.password login.lastLogin account.email.valid account.deleted ' +
6
- 'account.disabled')
5
+ .select('_id login.password login.lastLogin account.email.valid account.deleted ' + 'account.disabled')
7
6
  .session(session)
8
7
  .exec();
9
8
  // console.debug('[infoUserForLogin] ret: ', ret);
@@ -1 +1 @@
1
- {"version":3,"file":"infoUserAdminForLogin.mjs","sourceRoot":"","sources":["../../../../../../src/private/graphQL/schema/mutations/infoUserAdminForLogin.mts"],"names":[],"mappings":"AAAA,OAAO,iBAEN,2DAAqE;AACtE,OAAO,EAAE,sBAAsB,EAAE,6DAAyC;AAG1E,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,KAAa,EACb,OAAsB;IAEtB,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;SACnE,MAAM,CACN,yEAAyE;QACzE,kBAAkB,CAClB;SACA,OAAO,CAAC,OAAO,CAAC;SAChB,IAAI,EAAE,CAAA;IACR,kDAAkD;IAElD,IAAI,GAAG,KAAK,IAAI;QAAE,MAAM,sBAAsB,EAAE,CAAA;IAEhD,OAAO,GAAG,CAAA;AACX,CAAC"}
1
+ {"version":3,"file":"infoUserAdminForLogin.mjs","sourceRoot":"","sources":["../../../../../../src/private/graphQL/schema/mutations/infoUserAdminForLogin.mts"],"names":[],"mappings":"AAAA,OAAO,iBAA6C,2DAAqE;AACzH,OAAO,EAAE,sBAAsB,EAAE,6DAAyC;AAG1E,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,KAAa,EAAE,OAAsB;IAChF,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;SACnE,MAAM,CAAC,yEAAyE,GAAG,kBAAkB,CAAC;SACtG,OAAO,CAAC,OAAO,CAAC;SAChB,IAAI,EAAE,CAAA;IACR,kDAAkD;IAElD,IAAI,GAAG,KAAK,IAAI;QAAE,MAAM,sBAAsB,EAAE,CAAA;IAEhD,OAAO,GAAG,CAAA;AACX,CAAC","sourcesContent":["import UserAdminKoaUtils, { IInfoUserAdminForLogin } from '@private/graphQL/models/MongoDB/private/UserAdminKoaUtils.mjs'\nimport { throwUnauthorizedError } from '@throw/throwUnauthorizedError.mjs'\nimport { ClientSession } from 'mongoose'\n\nexport async function infoUserAdminForLogin(email: string, session: ClientSession): Promise<IInfoUserAdminForLogin> {\n\tconst ret = await UserAdminKoaUtils.findOne({ 'login.email': email })\n\t\t.select('_id login.password login.lastLogin account.email.valid account.deleted ' + 'account.disabled')\n\t\t.session(session)\n\t\t.exec()\n\t// console.debug('[infoUserForLogin] ret: ', ret);\n\n\tif (ret === null) throw throwUnauthorizedError()\n\n\treturn ret\n}\n"]}
@@ -2,8 +2,7 @@ import { UserBase } from "../../../../graphQL/models/MongoDB/UserBase.mjs";
2
2
  import { throwUnauthorizedError } from "../../../../graphQL/throw/throwUnauthorizedError.mjs";
3
3
  export async function infoUserForLogin(email, session) {
4
4
  const ret = await UserBase.findOne({ 'login.email': email })
5
- .select('_id login.password login.lastLogin account.email.valid account.deleted ' +
6
- 'account.disabled')
5
+ .select('_id login.password login.lastLogin account.email.valid account.deleted ' + 'account.disabled')
7
6
  .session(session)
8
7
  .exec();
9
8
  // console.debug('[infoUserForLogin] ret: ', ret);
@@ -1 +1 @@
1
- {"version":3,"file":"infoUserForLogin.mjs","sourceRoot":"","sources":["../../../../../../src/private/graphQL/schema/mutations/infoUserForLogin.mts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAE,wDAAoC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,6DAAyC;AAG1E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,KAAa,EACb,OAAsB;IAEtB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;SAC1D,MAAM,CACN,yEAAyE;QACzE,kBAAkB,CAClB;SACA,OAAO,CAAC,OAAO,CAAC;SAChB,IAAI,EAAE,CAAA;IACR,kDAAkD;IAElD,IAAI,GAAG,KAAK,IAAI;QAAE,MAAM,sBAAsB,EAAE,CAAA;IAEhD,OAAO,GAAG,CAAA;AACX,CAAC"}
1
+ {"version":3,"file":"infoUserForLogin.mjs","sourceRoot":"","sources":["../../../../../../src/private/graphQL/schema/mutations/infoUserForLogin.mts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAE,wDAAoC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,6DAAyC;AAG1E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAa,EAAE,OAAsB;IAC3E,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;SAC1D,MAAM,CAAC,yEAAyE,GAAG,kBAAkB,CAAC;SACtG,OAAO,CAAC,OAAO,CAAC;SAChB,IAAI,EAAE,CAAA;IACR,kDAAkD;IAElD,IAAI,GAAG,KAAK,IAAI;QAAE,MAAM,sBAAsB,EAAE,CAAA;IAEhD,OAAO,GAAG,CAAA;AACX,CAAC","sourcesContent":["import { IInfoUserForLogin, UserBase } from '@models/MongoDB/UserBase.mjs'\nimport { throwUnauthorizedError } from '@throw/throwUnauthorizedError.mjs'\nimport { ClientSession } from 'mongoose'\n\nexport async function infoUserForLogin(email: string, session: ClientSession): Promise<IInfoUserForLogin> {\n\tconst ret = await UserBase.findOne({ 'login.email': email })\n\t\t.select('_id login.password login.lastLogin account.email.valid account.deleted ' + 'account.disabled')\n\t\t.session(session)\n\t\t.exec()\n\t// console.debug('[infoUserForLogin] ret: ', ret);\n\n\tif (ret === null) throw throwUnauthorizedError()\n\n\treturn ret\n}\n"]}
@@ -10,7 +10,7 @@ export async function infoUserForLoginSQL(email) {
10
10
  }
11
11
  }));
12
12
  if (ret.length === 0)
13
- throw throwErrorWrongUserInput('L\'utente non esiste');
13
+ throw throwErrorWrongUserInput("L'utente non esiste");
14
14
  return ret[0];
15
15
  }
16
16
  //# sourceMappingURL=infoUserForLoginSQL.mjs.map