@social-mail/social-mail-web-server 1.4.945 → 1.4.947

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 (76) hide show
  1. package/README.md +1 -0
  2. package/dist/SmtpReceiver.d.ts.map +1 -1
  3. package/dist/SmtpReceiver.js +4 -0
  4. package/dist/SmtpReceiver.js.map +1 -1
  5. package/dist/common/globalEnv.d.ts +1 -0
  6. package/dist/common/globalEnv.d.ts.map +1 -1
  7. package/dist/common/globalEnv.js +1 -0
  8. package/dist/common/globalEnv.js.map +1 -1
  9. package/dist/server/model/entities/AccessToken.d.ts +1 -0
  10. package/dist/server/model/entities/AccessToken.d.ts.map +1 -1
  11. package/dist/server/model/entities/AccessToken.js +4 -0
  12. package/dist/server/model/entities/AccessToken.js.map +1 -1
  13. package/dist/server/model/entities/VerificationToken.d.ts +5 -0
  14. package/dist/server/model/entities/VerificationToken.d.ts.map +1 -1
  15. package/dist/server/model/entities/VerificationToken.js +15 -1
  16. package/dist/server/model/entities/VerificationToken.js.map +1 -1
  17. package/dist/server/model/events/VerificationTokenEvents.d.ts +6 -0
  18. package/dist/server/model/events/VerificationTokenEvents.d.ts.map +1 -1
  19. package/dist/server/model/events/VerificationTokenEvents.js +123 -0
  20. package/dist/server/model/events/VerificationTokenEvents.js.map +1 -1
  21. package/dist/server/services/emails/MailService.d.ts +4 -0
  22. package/dist/server/services/emails/MailService.d.ts.map +1 -1
  23. package/dist/server/services/emails/MailService.js +9 -0
  24. package/dist/server/services/emails/MailService.js.map +1 -1
  25. package/dist/server/services/external-otp-in/ExternalOtpInService.d.ts +5 -0
  26. package/dist/server/services/external-otp-in/ExternalOtpInService.d.ts.map +1 -1
  27. package/dist/server/services/external-otp-in/ExternalOtpInService.js +19 -20
  28. package/dist/server/services/external-otp-in/ExternalOtpInService.js.map +1 -1
  29. package/dist/server/smtp/services/AccessTokenService.d.ts +4 -0
  30. package/dist/server/smtp/services/AccessTokenService.d.ts.map +1 -0
  31. package/dist/server/smtp/services/AccessTokenService.js +95 -0
  32. package/dist/server/smtp/services/AccessTokenService.js.map +1 -0
  33. package/dist/server/smtp/services/MailReceiverService.d.ts +1 -1
  34. package/dist/server/smtp/services/MailReceiverService.d.ts.map +1 -1
  35. package/dist/server/smtp/services/MailReceiverService.js +7 -5
  36. package/dist/server/smtp/services/MailReceiverService.js.map +1 -1
  37. package/dist/server/workflows/SocialWorkflowContext.d.ts.map +1 -1
  38. package/dist/server/workflows/SocialWorkflowContext.js +2 -0
  39. package/dist/server/workflows/SocialWorkflowContext.js.map +1 -1
  40. package/dist/server/workflows/smtp/DispatchNotificationToMX.d.ts +16 -0
  41. package/dist/server/workflows/smtp/DispatchNotificationToMX.d.ts.map +1 -0
  42. package/dist/server/workflows/smtp/DispatchNotificationToMX.js +204 -0
  43. package/dist/server/workflows/smtp/DispatchNotificationToMX.js.map +1 -0
  44. package/dist/server/workflows/smtp/INotificationEmail.d.ts +9 -0
  45. package/dist/server/workflows/smtp/INotificationEmail.d.ts.map +1 -0
  46. package/dist/server/workflows/smtp/INotificationEmail.js +2 -0
  47. package/dist/server/workflows/smtp/INotificationEmail.js.map +1 -0
  48. package/dist/server/workflows/smtp/MailDispatcherService.d.ts +10 -0
  49. package/dist/server/workflows/smtp/MailDispatcherService.d.ts.map +1 -1
  50. package/dist/server/workflows/smtp/MailDispatcherService.js +21 -0
  51. package/dist/server/workflows/smtp/MailDispatcherService.js.map +1 -1
  52. package/dist/tsconfig.tsbuildinfo +1 -1
  53. package/dist/wwwroot/routes/shop/order/checkout/get.d.ts +5 -0
  54. package/dist/wwwroot/routes/shop/order/checkout/get.d.ts.map +1 -0
  55. package/dist/wwwroot/routes/shop/order/checkout/get.js +8 -0
  56. package/dist/wwwroot/routes/shop/order/checkout/get.js.map +1 -0
  57. package/dist/wwwroot/routes/social-mail/store/order/buy/post.d.ts +7 -0
  58. package/dist/wwwroot/routes/social-mail/store/order/buy/post.d.ts.map +1 -0
  59. package/dist/wwwroot/routes/social-mail/store/order/buy/post.js +24 -0
  60. package/dist/wwwroot/routes/social-mail/store/order/buy/post.js.map +1 -0
  61. package/package.json +5 -4
  62. package/src/SmtpReceiver.ts +6 -0
  63. package/src/common/globalEnv.ts +1 -0
  64. package/src/server/model/entities/AccessToken.ts +3 -0
  65. package/src/server/model/entities/VerificationToken.ts +15 -1
  66. package/src/server/model/events/VerificationTokenEvents.ts +127 -1
  67. package/src/server/services/emails/MailService.ts +10 -0
  68. package/src/server/services/external-otp-in/ExternalOtpInService.ts +22 -19
  69. package/src/server/smtp/services/AccessTokenService.ts +33 -0
  70. package/src/server/smtp/services/MailReceiverService.ts +14 -3
  71. package/src/server/workflows/SocialWorkflowContext.ts +2 -0
  72. package/src/server/workflows/smtp/DispatchNotificationToMX.ts +149 -0
  73. package/src/server/workflows/smtp/INotificationEmail.ts +9 -0
  74. package/src/server/workflows/smtp/MailDispatcherService.ts +27 -0
  75. package/src/wwwroot/routes/shop/order/checkout/get.tsx +11 -0
  76. package/src/wwwroot/routes/social-mail/store/order/buy/post.tsx +18 -0
package/README.md CHANGED
@@ -38,6 +38,7 @@ they are not on same mail server. You can basically communicate/socialize with y
38
38
  |------------------------------------|---------|--------------|-----------------------------|
39
39
  | SOCIAL_MAIL_HOST |Yes | | |
40
40
  | SOCIAL_MAIL_PATH | | / | Root path for all API |
41
+ | SOCIAL_MAIL_HOSTED_EMAIL_DOMAIN | | | For sending Email notifications |
41
42
  | SOCIAL_MAIL_EXTERNAL_LOGIN | | | |
42
43
  | SOCIAL_MAIL_ALT_HOSTS | | | |
43
44
  | SOCIAL_MAIL_NAME | | Social Mail | PWA Name |
@@ -1 +1 @@
1
- {"version":3,"file":"SmtpReceiver.d.ts","sourceRoot":"","sources":["../src/SmtpReceiver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,KAAK,UAAU,MAAM,aAAa,CAAC;AAC1C,OAAO,mBAAmB,MAAM,+CAA+C,CAAC;AAGhF,OAAO,QAAQ,aAAa,CAAC;IAEzB,UAAU,iBAAiB;QACvB,KAAK,EAAE,eAAe,CAAC;QACvB,OAAO,EAAE,mBAAmB,CAAC;KAChC;CACJ;AAmDD,MAAM,CAAC,OAAO,OAAO,YAAY;WAEf,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,iBAAiB,EAAE,IAAI,SAAK;CAoBxE"}
1
+ {"version":3,"file":"SmtpReceiver.d.ts","sourceRoot":"","sources":["../src/SmtpReceiver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,KAAK,UAAU,MAAM,aAAa,CAAC;AAC1C,OAAO,mBAAmB,MAAM,+CAA+C,CAAC;AAGhF,OAAO,QAAQ,aAAa,CAAC;IAEzB,UAAU,iBAAiB;QACvB,KAAK,EAAE,eAAe,CAAC;QACvB,OAAO,EAAE,mBAAmB,CAAC;KAChC;CACJ;AAyDD,MAAM,CAAC,OAAO,OAAO,YAAY;WAEf,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,iBAAiB,EAAE,IAAI,SAAK;CAoBxE"}
@@ -32,6 +32,10 @@ const defaults = {
32
32
  onData(stream, session, callback) {
33
33
  chain(session.service.acceptData(stream), callback);
34
34
  },
35
+ allowInsecureAuth: false,
36
+ onAuth(auth, session, callback) {
37
+ chain(session.service.auth(auth), callback);
38
+ },
35
39
  onClose(session, callback) {
36
40
  session.scope?.dispose();
37
41
  callback?.(void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"SmtpReceiver.js","sourceRoot":"","sources":["../src/SmtpReceiver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SmtpReceiver.js","sourceRoot":"","sources":["../src/SmtpReceiver.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ export declare const globalEnv: {
2
2
  protocol: any;
3
3
  version: any;
4
4
  host: string;
5
+ senderEmailForNotification: string;
5
6
  cdn: string;
6
7
  path: string;
7
8
  externalLogin: string;
@@ -1 +1 @@
1
- {"version":3,"file":"globalEnv.d.ts","sourceRoot":"","sources":["../../src/common/globalEnv.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA4BgC,aAAa,GAAG,YAAY,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqD7F,CAAC;AAeF,eAAO,MAAM,OAAO,QACR,MAAM,WACQ,CAAC"}
1
+ {"version":3,"file":"globalEnv.d.ts","sourceRoot":"","sources":["../../src/common/globalEnv.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA6BgC,aAAa,GAAG,YAAY,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqD7F,CAAC;AAeF,eAAO,MAAM,OAAO,QACR,MAAM,WACQ,CAAC"}
@@ -14,6 +14,7 @@ export const globalEnv = {
14
14
  protocol: void 0,
15
15
  version,
16
16
  host: process.env.SOCIAL_MAIL_HOST,
17
+ senderEmailForNotification: process.env.SOCIAL_MAIL_SENDER_EMAIL_FOR_NOTIFICATION,
17
18
  cdn: process.env.SOCIAL_MAIL_CDN,
18
19
  path: process.env.SOCIAL_MAIL_PATH || "/",
19
20
  externalLogin: process.env.SOCIAL_MAIL_EXTERNAL_LOGIN,
@@ -1 +1 @@
1
- {"version":3,"file":"globalEnv.js","sourceRoot":"","sources":["../../src/common/globalEnv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"globalEnv.js","sourceRoot":"","sources":["../../src/common/globalEnv.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export default class AccessToken {
6
6
  secret: string;
7
7
  dateCreated: DateTime;
8
8
  expiryDate: DateTime;
9
+ lastUsed: DateTime;
9
10
  user: User;
10
11
  /**
11
12
  * Displayed first time when generated.
@@ -1 +1 @@
1
- {"version":3,"file":"AccessToken.d.ts","sourceRoot":"","sources":["../../../../src/server/model/entities/AccessToken.ts"],"names":[],"mappings":"AAIA,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAYjC,MAAM,CAAC,OAAO,OAAO,WAAW;IAGrB,OAAO,EAAE,MAAM,CAAC;IAOhB,MAAM,EAAE,MAAM,CAAC;IAIf,MAAM,EAAE,MAAM,CAAC;IAGtB,WAAW,EAAE,QAAQ,CAAC;IAGtB,UAAU,EAAE,QAAQ,CAAC;IAErB,IAAI,EAAE,IAAI,CAAC;IAEX;;OAEG;IAEI,aAAa,MAAC;CACxB"}
1
+ {"version":3,"file":"AccessToken.d.ts","sourceRoot":"","sources":["../../../../src/server/model/entities/AccessToken.ts"],"names":[],"mappings":"AAIA,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAYjC,MAAM,CAAC,OAAO,OAAO,WAAW;IAGrB,OAAO,EAAE,MAAM,CAAC;IAOhB,MAAM,EAAE,MAAM,CAAC;IAIf,MAAM,EAAE,MAAM,CAAC;IAGtB,WAAW,EAAE,QAAQ,CAAC;IAGtB,UAAU,EAAE,QAAQ,CAAC;IAGrB,QAAQ,EAAE,QAAQ,CAAC;IAEnB,IAAI,EAAE,IAAI,CAAC;IAEX;;OAEG;IAEI,aAAa,MAAC;CACxB"}
@@ -42,6 +42,10 @@ __decorate([
42
42
  Column({ dataType: "DateTime", default: () => Sql.date.addMinutes(Sql.date.now(), 15) }),
43
43
  __metadata("design:type", DateTime)
44
44
  ], AccessToken.prototype, "expiryDate", void 0);
45
+ __decorate([
46
+ Column({ dataType: "DateTime", nullable: true }),
47
+ __metadata("design:type", DateTime)
48
+ ], AccessToken.prototype, "lastUsed", void 0);
45
49
  __decorate([
46
50
  JsonProperty(),
47
51
  __metadata("design:type", Object)
@@ -1 +1 @@
1
- {"version":3,"file":"AccessToken.js","sourceRoot":"","sources":["../../../../src/server/model/entities/AccessToken.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,wDAAwD,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,wDAAwD,CAAC;AAClF,OAAO,KAAK,MAAM,uDAAuD,CAAC;AAC1E,OAAO,GAAG,MAAM,8CAA8C,CAAC;AAC/D,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAC;AAC7G,OAAO,KAAK,MAAM,uDAAuD,CAAC;AAU3D,IAAM,WAAW,GAAjB,MAAM,WAAW;CA6B/B,CAAA;AA1BU;IADN,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAC,CAAC;;4CACzC;AAOhB;IALN,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE;QACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;QACvB,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY;KACzC,CAAC;;2CACoB;AAIf;IAFN,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACzC,kBAAkB;;2CACG;AAGtB;IADC,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,CAAC;8BAClD,QAAQ;gDAAC;AAGtB;IADC,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAE,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAC,CAAC;8BAC7E,QAAQ;+CAAC;AAQd;IADN,YAAY,EAAE;;kDACM;AA5BJ,WAAW;IAR/B,KAAK,CAAC,cAAc,CAAC;IACrB,KAAK,CAAC;QACH,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE;YACL,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE;SAC/C;QACD,MAAM,EAAE,IAAI;KACf,CAAC;GACmB,WAAW,CA6B/B;eA7BoB,WAAW"}
1
+ {"version":3,"file":"AccessToken.js","sourceRoot":"","sources":["../../../../src/server/model/entities/AccessToken.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,wDAAwD,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,wDAAwD,CAAC;AAClF,OAAO,KAAK,MAAM,uDAAuD,CAAC;AAC1E,OAAO,GAAG,MAAM,8CAA8C,CAAC;AAC/D,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAC;AAC7G,OAAO,KAAK,MAAM,uDAAuD,CAAC;AAU3D,IAAM,WAAW,GAAjB,MAAM,WAAW;CAgC/B,CAAA;AA7BU;IADN,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAC,CAAC;;4CACzC;AAOhB;IALN,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE;QACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;QACvB,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY;KACzC,CAAC;;2CACoB;AAIf;IAFN,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACzC,kBAAkB;;2CACG;AAGtB;IADC,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,CAAC;8BAClD,QAAQ;gDAAC;AAGtB;IADC,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAE,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAC,CAAC;8BAC7E,QAAQ;+CAAC;AAGrB;IADC,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACvC,QAAQ;6CAAC;AAQZ;IADN,YAAY,EAAE;;kDACM;AA/BJ,WAAW;IAR/B,KAAK,CAAC,cAAc,CAAC;IACrB,KAAK,CAAC;QACH,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE;YACL,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE;SAC/C;QACD,MAAM,EAAE,IAAI;KACf,CAAC;GACmB,WAAW,CAgC/B;eAhCoB,WAAW"}
@@ -1,6 +1,8 @@
1
1
  import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
2
2
  import type LoginSession from "./LoginSession.js";
3
3
  import type UserAuthFactor from "./UserAuthFactor.js";
4
+ declare const verificationTypes: readonly ["email", "sms", "captcha", "totp"];
5
+ export type verificationType = typeof verificationTypes[number];
4
6
  export default class VerificationToken {
5
7
  verificationID: number;
6
8
  externalID: string;
@@ -11,14 +13,17 @@ export default class VerificationToken {
11
13
  accessCode: string;
12
14
  ipAddress: string;
13
15
  externalConfig: string;
16
+ type: verificationType;
14
17
  addresses: VerificationTokenAddress[];
15
18
  loginSessions: LoginSession[];
16
19
  authFactors: UserAuthFactor[];
17
20
  smsConfig: any;
21
+ verifyAddresses: any;
18
22
  }
19
23
  export declare class VerificationTokenAddress {
20
24
  verificationID: number;
21
25
  address: string;
22
26
  verificationToken: VerificationToken;
23
27
  }
28
+ export {};
24
29
  //# sourceMappingURL=VerificationToken.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VerificationToken.d.ts","sourceRoot":"","sources":["../../../../src/server/model/entities/VerificationToken.ts"],"names":[],"mappings":"AAGA,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AAGtD,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAGlC,cAAc,EAAE,MAAM,CAAC;IAGvB,UAAU,EAAE,MAAM,CAAC;IAGnB,WAAW,EAAE,QAAQ,CAAC;IAGtB,MAAM,EAAE,QAAQ,CAAC;IAGjB,QAAQ,EAAE,OAAO,CAAC;IAGlB,IAAI,EAAE,MAAM,CAAC;IAGb,UAAU,EAAE,MAAM,CAAC;IAGnB,SAAS,EAAE,MAAM,CAAC;IAGlB,cAAc,EAAE,MAAM,CAAC;IAEvB,SAAS,EAAE,wBAAwB,EAAE,CAAC;IACtC,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,WAAW,EAAE,cAAc,EAAE,CAAC;IAG9B,SAAS,EAAE,GAAG,CAAC;CAClB;AAED,qBACa,wBAAwB;IAUjC,cAAc,EAAE,MAAM,CAAC;IAGvB,OAAO,EAAE,MAAM,CAAC;IAEhB,iBAAiB,EAAE,iBAAiB,CAAC;CACxC"}
1
+ {"version":3,"file":"VerificationToken.d.ts","sourceRoot":"","sources":["../../../../src/server/model/entities/VerificationToken.ts"],"names":[],"mappings":"AAGA,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AAEtD,QAAA,MAAM,iBAAiB,8CAAgD,CAAC;AACxE,MAAM,MAAM,gBAAgB,GAAG,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAGhE,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAGlC,cAAc,EAAE,MAAM,CAAC;IAIvB,UAAU,EAAE,MAAM,CAAC;IAGnB,WAAW,EAAE,QAAQ,CAAC;IAGtB,MAAM,EAAE,QAAQ,CAAC;IAGjB,QAAQ,EAAE,OAAO,CAAC;IAIlB,IAAI,EAAE,MAAM,CAAC;IAGb,UAAU,EAAE,MAAM,CAAC;IAInB,SAAS,EAAE,MAAM,CAAC;IAGlB,cAAc,EAAE,MAAM,CAAC;IAGvB,IAAI,EAAE,gBAAgB,CAAC;IAEvB,SAAS,EAAE,wBAAwB,EAAE,CAAC;IACtC,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,WAAW,EAAE,cAAc,EAAE,CAAC;IAG9B,SAAS,EAAE,GAAG,CAAC;IAKf,eAAe,EAAE,GAAG,CAAC;CACxB;AAED,qBACa,wBAAwB;IAUjC,cAAc,EAAE,MAAM,CAAC;IAGvB,OAAO,EAAE,MAAM,CAAC;IAEhB,iBAAiB,EAAE,iBAAiB,CAAC;CACxC"}
@@ -12,7 +12,8 @@ import Table from "@entity-access/entity-access/dist/decorators/Table.js";
12
12
  import Sql from "@entity-access/entity-access/dist/sql/Sql.js";
13
13
  import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
14
14
  import { RelateTo } from "@entity-access/entity-access/dist/decorators/Relate.js";
15
- import { JsonProperty } from "@entity-access/server-pages/dist/services/ModelService.js";
15
+ import { IgnoreJsonProperty, JsonProperty } from "@entity-access/server-pages/dist/services/ModelService.js";
16
+ const verificationTypes = ["email", "sms", "captcha", "totp"];
16
17
  let VerificationToken = class VerificationToken {
17
18
  };
18
19
  __decorate([
@@ -21,6 +22,7 @@ __decorate([
21
22
  ], VerificationToken.prototype, "verificationID", void 0);
22
23
  __decorate([
23
24
  Column({ dataType: "Char", length: 200, nullable: true }),
25
+ IgnoreJsonProperty,
24
26
  __metadata("design:type", String)
25
27
  ], VerificationToken.prototype, "externalID", void 0);
26
28
  __decorate([
@@ -37,6 +39,7 @@ __decorate([
37
39
  ], VerificationToken.prototype, "verified", void 0);
38
40
  __decorate([
39
41
  Column({ dataType: "Char", length: 20 }),
42
+ IgnoreJsonProperty,
40
43
  __metadata("design:type", String)
41
44
  ], VerificationToken.prototype, "code", void 0);
42
45
  __decorate([
@@ -45,16 +48,27 @@ __decorate([
45
48
  ], VerificationToken.prototype, "accessCode", void 0);
46
49
  __decorate([
47
50
  Column({ dataType: "Char", length: 50, nullable: true }),
51
+ IgnoreJsonProperty,
48
52
  __metadata("design:type", String)
49
53
  ], VerificationToken.prototype, "ipAddress", void 0);
50
54
  __decorate([
51
55
  Column({ dataType: "Char", nullable: true }),
52
56
  __metadata("design:type", String)
53
57
  ], VerificationToken.prototype, "externalConfig", void 0);
58
+ __decorate([
59
+ Column({ dataType: "AsciiChar", length: 50, enum: verificationTypes }),
60
+ __metadata("design:type", String)
61
+ ], VerificationToken.prototype, "type", void 0);
54
62
  __decorate([
55
63
  JsonProperty({}),
56
64
  __metadata("design:type", Object)
57
65
  ], VerificationToken.prototype, "smsConfig", void 0);
66
+ __decorate([
67
+ JsonProperty({
68
+ help: "Verification address array as string[] containing addresses to verify for email and sms"
69
+ }),
70
+ __metadata("design:type", Object)
71
+ ], VerificationToken.prototype, "verifyAddresses", void 0);
58
72
  VerificationToken = __decorate([
59
73
  Table("VerificationTokens")
60
74
  ], VerificationToken);
@@ -1 +1 @@
1
- {"version":3,"file":"VerificationToken.js","sourceRoot":"","sources":["../../../../src/server/model/entities/VerificationToken.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,wDAAwD,CAAC;AAC5E,OAAO,KAAK,MAAM,uDAAuD,CAAC;AAC1E,OAAO,GAAG,MAAM,8CAA8C,CAAC;AAC/D,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,wDAAwD,CAAC;AAElF,OAAO,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAC;AAI1E,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAmCrC,CAAA;AAhCG;IADC,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAC,CAAC;;yDACzC;AAGvB;IADC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACvC;AAGnB;IADC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,CAAC;8BAC5B,QAAQ;sDAAC;AAGtB;IADC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAC,CAAC;8BAC1D,QAAQ;iDAAC;AAGjB;IADC,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,EAAC,CAAC;;mDACnC;AAGlB;IADC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAC,CAAC;;+CAC3B;AAGb;IADC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,EAAC,CAAC;;qDAC9E;AAGnB;IADC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACvC;AAGlB;IADC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yDACtB;AAOvB;IADC,YAAY,CAAC,EAAE,CAAC;;oDACF;AAlCE,iBAAiB;IADrC,KAAK,CAAC,oBAAoB,CAAC;GACP,iBAAiB,CAmCrC;eAnCoB,iBAAiB;AAsC/B,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;CAgBpC,CAAA;AANG;IARC,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACzC,QAAQ,CAAC,iBAAiB,EAAE;QACzB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;QACpC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS;QACnC,oBAAoB,EAAC;YACjB,OAAO,EAAE,QAAQ;SACpB;KACJ,CAAC;;gEACqB;AAGvB;IADC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAG,GAAG,EAAE,IAAI,EAAE,CAAC;;yDACtC;AAbP,wBAAwB;IADpC,KAAK,CAAC,4BAA4B,CAAC;GACvB,wBAAwB,CAgBpC"}
1
+ {"version":3,"file":"VerificationToken.js","sourceRoot":"","sources":["../../../../src/server/model/entities/VerificationToken.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,15 @@ import VerificationToken from "../entities/VerificationToken.js";
2
2
  import AuthenticatedEvents from "./AuthenticatedEvents.js";
3
3
  import { ForeignKeyFilter } from "@entity-access/entity-access/dist/model/events/EntityEvents.js";
4
4
  import { IEntityQuery } from "@entity-access/entity-access/dist/model/IFilterWithParameter.js";
5
+ import ChangeEntry from "@entity-access/entity-access/dist/model/changes/ChangeEntry.js";
5
6
  export default class VerificationTokenEvents extends AuthenticatedEvents<VerificationToken> {
6
7
  get(id: any, accessCode: any): IEntityQuery<VerificationToken>;
8
+ resendCode(entity: VerificationToken, id: any, accessCode: string): Promise<void>;
9
+ verifyCode(entity: VerificationToken, id: number, accessCode: string, code: string): Promise<VerificationToken>;
10
+ beforeInsert(entity: VerificationToken, entry: ChangeEntry<VerificationToken>): Promise<void>;
7
11
  onForeignKeyFilter(filter: ForeignKeyFilter<VerificationToken, any>): IEntityQuery<any>;
8
12
  includeFilter(query: IEntityQuery<VerificationToken>, type?: any, key?: string): IEntityQuery<VerificationToken>;
13
+ afterInsert(entity: VerificationToken, entry: ChangeEntry<VerificationToken>): Promise<void>;
14
+ sendVerificationEmail(entity: VerificationToken, entry: ChangeEntry<VerificationToken>): Promise<void>;
9
15
  }
10
16
  //# sourceMappingURL=VerificationTokenEvents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VerificationTokenEvents.d.ts","sourceRoot":"","sources":["../../../../src/server/model/events/VerificationTokenEvents.ts"],"names":[],"mappings":"AACA,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gEAAgE,CAAC;AAClG,OAAO,EAAE,YAAY,EAAE,MAAM,iEAAiE,CAAC;AAE/F,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,mBAAmB,CAAC,iBAAiB,CAAC;IAGvF,GAAG,CAAC,EAAE,KAAA,EAAE,UAAU,KAAA;IAKlB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,CAAC,iBAAiB,EAAE,GAAG,CAAC;IAInE,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;CAGnH"}
1
+ {"version":3,"file":"VerificationTokenEvents.d.ts","sourceRoot":"","sources":["../../../../src/server/model/events/VerificationTokenEvents.ts"],"names":[],"mappings":"AACA,OAAO,iBAAuC,MAAM,kCAAkC,CAAC;AACvF,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gEAAgE,CAAC;AAClG,OAAO,EAAE,YAAY,EAAE,MAAM,iEAAiE,CAAC;AAQ/F,OAAO,WAAW,MAAM,gEAAgE,CAAC;AAKzF,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,mBAAmB,CAAC,iBAAiB,CAAC;IAGvF,GAAG,CAAC,EAAE,KAAA,EAAE,UAAU,KAAA;IAMZ,UAAU,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,KAAA,EAAE,UAAU,EAAE,MAAM;IAa5D,UAAU,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAoBlF,YAAY,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,CAAC,iBAAiB,CAAC;IA8CnF,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,CAAC,iBAAiB,EAAE,GAAG,CAAC;IAInE,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;IAI1G,WAAW,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,CAAC,iBAAiB,CAAC;IAS5E,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,CAAC,iBAAiB,CAAC;CAyB/F"}
@@ -8,20 +8,131 @@ var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
10
  import ExternalQuery from "@entity-access/server-pages/dist/decorators/ExternalQuery.js";
11
+ import VerificationToken from "../entities/VerificationToken.js";
11
12
  import AuthenticatedEvents from "./AuthenticatedEvents.js";
12
13
  import { ServiceProvider } from "@entity-access/entity-access/dist/di/di.js";
13
14
  import SocialMailContext from "../SocialMailContext.js";
15
+ import Page from "@entity-access/server-pages/dist/Page.js";
16
+ import RateLimiterService from "../../services/rate-limiter/RateLimiterService.js";
17
+ import EntityAccessError from "@entity-access/entity-access/dist/common/EntityAccessError.js";
18
+ import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
19
+ import { randomUUID } from "crypto";
20
+ import CaptchaService from "../../services/captcha/CaptchaService.js";
21
+ import ExternalOtpInService from "../../services/external-otp-in/ExternalOtpInService.js";
22
+ import ExternalInvoke from "@entity-access/server-pages/dist/decorators/ExternalInvoke.js";
23
+ import { globalEnv } from "../../../common/globalEnv.js";
24
+ import MailService from "../../services/emails/MailService.js";
14
25
  export default class VerificationTokenEvents extends AuthenticatedEvents {
15
26
  get(id, accessCode) {
16
27
  const db = ServiceProvider.resolve(this, SocialMailContext);
17
28
  return db.verificationTokens.where({ id, accessCode }, (p) => (x) => x.verificationID === id && x.accessCode === p.accessCode);
18
29
  }
30
+ async resendCode(entity, id, accessCode) {
31
+ if (entity.verificationID !== id || entity.accessCode !== accessCode) {
32
+ throw new EntityAccessError("Invalid id/access code");
33
+ }
34
+ if (entity.type !== "email") {
35
+ throw new EntityAccessError(`Invalid verification type ${entity.type}`);
36
+ }
37
+ const db = ServiceProvider.resolve(this, SocialMailContext);
38
+ const entry = db.changeSet.getEntry(entity);
39
+ await this.sendVerificationEmail(entity, entry);
40
+ }
41
+ async verifyCode(entity, id, accessCode, code) {
42
+ if (entity.verificationID !== id || entity.accessCode !== accessCode) {
43
+ throw new EntityAccessError("Invalid id/access code");
44
+ }
45
+ if (entity.code !== code) {
46
+ throw new EntityAccessError("Invalid code");
47
+ }
48
+ switch (entity.type) {
49
+ case "captcha":
50
+ case "email":
51
+ break;
52
+ default:
53
+ throw new EntityAccessError(`Invalid verification type ${entity.type}`);
54
+ }
55
+ entity.verified = true;
56
+ const db = ServiceProvider.resolve(this, SocialMailContext);
57
+ await db.verificationTokens.statements.update({ verified: true }, { verificationID: entity.verificationID });
58
+ return entity;
59
+ }
60
+ async beforeInsert(entity, entry) {
61
+ const { type } = entity;
62
+ const page = ServiceProvider.resolve(this, Page);
63
+ // const method = page?.request?.method;
64
+ // if (method && !/post/i.test(method)) {
65
+ // throw new EntityAccessError("Get not supported");
66
+ // }
67
+ const ip = page.request?.remoteIPAddress ?? "";
68
+ const rateLimiterService = ServiceProvider.resolve(this, RateLimiterService);
69
+ const rl = await rateLimiterService.acquire(ip, "captcha");
70
+ if (!rl) {
71
+ throw new EntityAccessError("Rate Limited", 429);
72
+ }
73
+ const code = DateTime.now.msSinceEpoch.toString();
74
+ switch (type) {
75
+ case "captcha":
76
+ const cs = ServiceProvider.resolve(this, CaptchaService);
77
+ const r = await cs.generatePair();
78
+ entity.code = code.substring(code.length - 5);
79
+ entity.accessCode = randomUUID();
80
+ entity.expiry = DateTime.now.addMinutes(15);
81
+ entity.externalID = r.id.toString();
82
+ break;
83
+ case "email":
84
+ entity.code = code.substring(code.length - 5);
85
+ entity.accessCode = randomUUID();
86
+ break;
87
+ case "sms":
88
+ const es = ServiceProvider.resolve(this, ExternalOtpInService);
89
+ const { id, accessCode, externalConfig } = await es.createNoInsert(entity.verifyAddresses);
90
+ entity.externalID = id;
91
+ entity.accessCode = accessCode;
92
+ entity.externalConfig = externalConfig;
93
+ break;
94
+ // case "totp":
95
+ // break;
96
+ default:
97
+ throw new EntityAccessError(`Type ${type} not supported`, 422);
98
+ }
99
+ }
19
100
  onForeignKeyFilter(filter) {
20
101
  return filter.unfiltered();
21
102
  }
22
103
  includeFilter(query, type, key) {
23
104
  return query;
24
105
  }
106
+ async afterInsert(entity, entry) {
107
+ // we need to make sure we are sending email..
108
+ switch (entity.type) {
109
+ case "email":
110
+ await this.sendVerificationEmail(entity, entry);
111
+ break;
112
+ }
113
+ }
114
+ async sendVerificationEmail(entity, entry) {
115
+ if (entity.type !== "email") {
116
+ throw new EntityAccessError(`Invalid verification type`);
117
+ }
118
+ const db = ServiceProvider.resolve(this, SocialMailContext);
119
+ await entry.loadNavigationAsync((x) => x.addresses);
120
+ const senderEmail = globalEnv.senderEmailForNotification;
121
+ if (!senderEmail) {
122
+ throw new EntityAccessError(`Sender for Notification is not set, cannot send email.`);
123
+ }
124
+ const textBody = `Social Mail Verification Code for your request is ${entity.code}`;
125
+ const htmlBody = `<pre>Social Mail Verification Code for<br/>your request is ${entity.code}</pre>`;
126
+ const ms = ServiceProvider.resolve(this, MailService);
127
+ await ms.sendNotificationEmail(`notify-email-${entity.verificationID}-${Date.now().toFixed(0)}`, {
128
+ from: senderEmail,
129
+ fromName: "Social Mail Verification Code",
130
+ subject: "Social Mail Verification Code",
131
+ htmlBody,
132
+ textBody,
133
+ to: entity.addresses[0].address
134
+ });
135
+ }
25
136
  }
26
137
  __decorate([
27
138
  ExternalQuery,
@@ -29,4 +140,16 @@ __decorate([
29
140
  __metadata("design:paramtypes", [Object, Object]),
30
141
  __metadata("design:returntype", void 0)
31
142
  ], VerificationTokenEvents.prototype, "get", null);
143
+ __decorate([
144
+ ExternalInvoke,
145
+ __metadata("design:type", Function),
146
+ __metadata("design:paramtypes", [VerificationToken, Object, String]),
147
+ __metadata("design:returntype", Promise)
148
+ ], VerificationTokenEvents.prototype, "resendCode", null);
149
+ __decorate([
150
+ ExternalInvoke,
151
+ __metadata("design:type", Function),
152
+ __metadata("design:paramtypes", [VerificationToken, Number, String, String]),
153
+ __metadata("design:returntype", Promise)
154
+ ], VerificationTokenEvents.prototype, "verifyCode", null);
32
155
  //# sourceMappingURL=VerificationTokenEvents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VerificationTokenEvents.js","sourceRoot":"","sources":["../../../../src/server/model/events/VerificationTokenEvents.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,aAAa,MAAM,8DAA8D,CAAC;AAEzF,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AAIxD,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,mBAAsC;IAGvF,GAAG,CAAC,EAAE,EAAE,UAAU;QACd,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAC5D,OAAO,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,UAAU,EAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,EAAE,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;IAClI,CAAC;IAED,kBAAkB,CAAC,MAAgD;QAC/D,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC;IAED,aAAa,CAAC,KAAsC,EAAE,IAAU,EAAE,GAAY;QAC1E,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAZG;IADC,aAAa;;;;kDAIb"}
1
+ {"version":3,"file":"VerificationTokenEvents.js","sourceRoot":"","sources":["../../../../src/server/model/events/VerificationTokenEvents.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,13 @@
1
1
  import { Email } from "../../model/entities/Email.js";
2
2
  import SocialMailContext from "../../model/SocialMailContext.js";
3
3
  import EmailAddressService from "../EmailAddressService.js";
4
+ import { INotificationEmail } from "../../workflows/smtp/INotificationEmail.js";
5
+ import WorkflowContext from "@entity-access/entity-access/dist/workflows/WorkflowContext.js";
4
6
  export default class MailService {
5
7
  db: SocialMailContext;
6
8
  emailAddressService: EmailAddressService;
9
+ workflowContext: WorkflowContext;
7
10
  sendEmail(email: Partial<Email>): Promise<void>;
11
+ sendNotificationEmail(id: string, n: INotificationEmail): Promise<void>;
8
12
  }
9
13
  //# sourceMappingURL=MailService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MailService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/emails/MailService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAI5D,MAAM,CAAC,OAAO,OAAO,WAAW;IAG5B,EAAE,EAAE,iBAAiB,CAAC;IAGtB,mBAAmB,EAAE,mBAAmB,CAAC;IAE5B,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;CAqB/C"}
1
+ {"version":3,"file":"MailService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/emails/MailService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,eAAe,MAAM,gEAAgE,CAAC;AAI7F,MAAM,CAAC,OAAO,OAAO,WAAW;IAG5B,EAAE,EAAE,iBAAiB,CAAC;IAGtB,mBAAmB,EAAE,mBAAmB,CAAC;IAGzC,eAAe,EAAE,eAAe,CAAC;IAEpB,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;IAqB/B,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,kBAAkB;CAIvE"}
@@ -11,6 +11,8 @@ import Inject, { RegisterScoped } from "@entity-access/entity-access/dist/di/di.
11
11
  import SocialMailContext from "../../model/SocialMailContext.js";
12
12
  import EmailAddressService from "../EmailAddressService.js";
13
13
  import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
14
+ import WorkflowContext from "@entity-access/entity-access/dist/workflows/WorkflowContext.js";
15
+ import DispatchNotificationToMX from "../../workflows/smtp/DispatchNotificationToMX.js";
14
16
  let MailService = class MailService {
15
17
  async sendEmail(email) {
16
18
  const { db } = this;
@@ -27,6 +29,9 @@ let MailService = class MailService {
27
29
  });
28
30
  await db.saveChanges();
29
31
  }
32
+ async sendNotificationEmail(id, n) {
33
+ await this.workflowContext.queue(DispatchNotificationToMX, n, { id });
34
+ }
30
35
  };
31
36
  __decorate([
32
37
  Inject,
@@ -36,6 +41,10 @@ __decorate([
36
41
  Inject,
37
42
  __metadata("design:type", EmailAddressService)
38
43
  ], MailService.prototype, "emailAddressService", void 0);
44
+ __decorate([
45
+ Inject,
46
+ __metadata("design:type", WorkflowContext)
47
+ ], MailService.prototype, "workflowContext", void 0);
39
48
  MailService = __decorate([
40
49
  RegisterScoped
41
50
  ], MailService);
@@ -1 +1 @@
1
- {"version":3,"file":"MailService.js","sourceRoot":"","sources":["../../../../src/server/services/emails/MailService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,EAAE,EAAE,cAAc,EAAqB,MAAM,4CAA4C,CAAC;AAEvG,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAG5D,IAAM,WAAW,GAAjB,MAAM,WAAW;IAQrB,KAAK,CAAC,SAAS,CAAC,KAAqB;QACxC,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAEpB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE1E,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;QAEzB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;YACV,GAAI,KAAK;YACT,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI;YACvC,WAAW,EAAE,GAAG;YAChB,YAAY,EAAE,GAAG;YACjB,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,WAAW;SACtB,CAAC,CAAC;QAEH,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;IAE3B,CAAC;CAEJ,CAAA;AA1BG;IADC,MAAM;8BACH,iBAAiB;uCAAC;AAGtB;IADC,MAAM;8BACc,mBAAmB;wDAAC;AANxB,WAAW;IAD/B,cAAc;GACM,WAAW,CA6B/B;eA7BoB,WAAW"}
1
+ {"version":3,"file":"MailService.js","sourceRoot":"","sources":["../../../../src/server/services/emails/MailService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,EAAE,EAAE,cAAc,EAAqB,MAAM,4CAA4C,CAAC;AAEvG,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E,OAAO,eAAe,MAAM,gEAAgE,CAAC;AAC7F,OAAO,wBAAwB,MAAM,kDAAkD,CAAC;AAGzE,IAAM,WAAW,GAAjB,MAAM,WAAW;IAWrB,KAAK,CAAC,SAAS,CAAC,KAAqB;QACxC,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAEpB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE1E,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;QAEzB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;YACV,GAAI,KAAK;YACT,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI;YACvC,WAAW,EAAE,GAAG;YAChB,YAAY,EAAE,GAAG;YACjB,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,WAAW;SACtB,CAAC,CAAC;QAEH,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;IAE3B,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAAC,EAAU,EAAE,CAAqB;QAChE,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1E,CAAC;CAEJ,CAAA;AAjCG;IADC,MAAM;8BACH,iBAAiB;uCAAC;AAGtB;IADC,MAAM;8BACc,mBAAmB;wDAAC;AAGzC;IADC,MAAM;8BACU,eAAe;oDAAC;AAThB,WAAW;IAD/B,cAAc;GACM,WAAW,CAoC/B;eApCoB,WAAW"}
@@ -3,6 +3,11 @@ import CryptoService from "../CryptoService.js";
3
3
  export default class ExternalOtpInService {
4
4
  db: SocialMailContext;
5
5
  cryptoService: CryptoService;
6
+ createNoInsert(phoneNumbers: string[]): Promise<{
7
+ id: any;
8
+ accessCode: any;
9
+ externalConfig: string;
10
+ }>;
6
11
  create(phoneNumbers: string[]): Promise<import("../../model/entities/VerificationToken.js").default>;
7
12
  get(verificationID: any): Promise<{
8
13
  success: any;
@@ -1 +1 @@
1
- {"version":3,"file":"ExternalOtpInService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/external-otp-in/ExternalOtpInService.ts"],"names":[],"mappings":"AAEA,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAchD,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAGrC,EAAE,EAAE,iBAAiB,CAAC;IAGtB,aAAa,EAAE,aAAa,CAAC;IAEvB,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE;IAiC7B,GAAG,CAAC,cAAc,KAAA;;;CAS3B"}
1
+ {"version":3,"file":"ExternalOtpInService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/external-otp-in/ExternalOtpInService.ts"],"names":[],"mappings":"AAEA,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAWhD,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAGrC,EAAE,EAAE,iBAAiB,CAAC;IAGtB,aAAa,EAAE,aAAa,CAAC;IAEvB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE;;;;;IAarC,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE;IA6B7B,GAAG,CAAC,cAAc,KAAA;;;CAM3B"}
@@ -12,23 +12,25 @@ import { globalEnv } from "../../../common/globalEnv.js";
12
12
  import SocialMailContext from "../../model/SocialMailContext.js";
13
13
  import CryptoService from "../CryptoService.js";
14
14
  import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
15
- const headers = {
16
- authorization: `basic ${Buffer.from(`${globalEnv.otpIn.key}:${globalEnv.otpIn.secret}`).toString("base64")}`
17
- };
18
- const postHeaders = {
19
- ...headers,
20
- "content-type": "application/json",
21
- };
15
+ import FetchBuilder from "@web-atoms/fetch-builder";
16
+ const client = FetchBuilder
17
+ .url(`https://${globalEnv.otpIn.host}/api/opt-in/`)
18
+ .header("authorization", `basic ${Buffer.from(`${globalEnv.otpIn.key}:${globalEnv.otpIn.secret}`).toString("base64")}`);
22
19
  let ExternalOtpInService = class ExternalOtpInService {
20
+ async createNoInsert(phoneNumbers) {
21
+ const result = await client.post("create")
22
+ .jsonBody({
23
+ phoneNumbers
24
+ }).asJson();
25
+ const { accessCode, id } = result;
26
+ const externalConfig = JSON.stringify(result);
27
+ return { id, accessCode, externalConfig };
28
+ }
23
29
  async create(phoneNumbers) {
24
- const rs = await fetch(`https://${globalEnv.otpIn.host}/api/otp-in/create`, {
25
- method: "POST",
26
- headers: postHeaders,
27
- body: JSON.stringify({
28
- phoneNumbers
29
- })
30
- });
31
- const result = await rs.json();
30
+ const result = await client.post("create")
31
+ .jsonBody({
32
+ phoneNumbers
33
+ }).asJson();
32
34
  const dateCreated = DateTime.now;
33
35
  const expiry = dateCreated.addMinutes(15);
34
36
  const { accessCode } = result;
@@ -48,11 +50,8 @@ let ExternalOtpInService = class ExternalOtpInService {
48
50
  }
49
51
  async get(verificationID) {
50
52
  const v = await this.db.verificationTokens.statements.select({}, { verificationID });
51
- const rs = await fetch(`https://${globalEnv.otpIn.host}/api/otp-in/get/${v.externalID}/${v.accessCode}`, {
52
- method: "GET",
53
- headers
54
- });
55
- const { success } = await rs.json();
53
+ const { success } = await client.get(`get/${v.externalID}/${v.accessCode}`)
54
+ .asJson();
56
55
  return { success };
57
56
  }
58
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ExternalOtpInService.js","sourceRoot":"","sources":["../../../../src/server/services/external-otp-in/ExternalOtpInService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,EAAE,EAAE,cAAc,EAAqB,MAAM,4CAA4C,CAAC;AACvG,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAEhD,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E,MAAM,OAAO,GAAG;IACZ,aAAa,EAAE,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;CAC/G,CAAC;AAEF,MAAM,WAAW,GAAG;IAChB,GAAI,OAAO;IACX,cAAc,EAAE,kBAAkB;CACrC,CAAC;AAGa,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAQrC,KAAK,CAAC,MAAM,CAAC,YAAsB;QAC/B,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,WAAW,SAAS,CAAC,KAAK,CAAC,IAAI,oBAAoB,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACjB,YAAY;aACf,CAAC;SACL,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;QAE/B,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC;QACjC,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAE1C,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAE9B,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE9C,cAAc;QACd,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC;YACzD,UAAU,EAAE,MAAM,CAAC,EAAE;YACrB,cAAc;YACd,IAAI,EAAE,UAAU;YAChB,UAAU;YACV,WAAW;YACX,MAAM;SACT,CAAC,CAAC;QAGH,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QACxC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC;QACrB,OAAO,CAAC,CAAC;IACb,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,cAAc;QACpB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAG,EAAE,cAAc,EAAE,CAAC,CAAC;QACtF,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,WAAW,SAAS,CAAC,KAAK,CAAC,IAAI,mBAAmB,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;YACrG,MAAM,EAAE,KAAK;YACb,OAAO;SACV,CAAC,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;QACpC,OAAO,EAAE,OAAO,EAAE,CAAC;IACvB,CAAC;CACJ,CAAA;AA/CG;IADC,MAAM;8BACH,iBAAiB;gDAAC;AAGtB;IADC,MAAM;8BACQ,aAAa;2DAAC;AANZ,oBAAoB;IADxC,cAAc;GACM,oBAAoB,CAkDxC;eAlDoB,oBAAoB"}
1
+ {"version":3,"file":"ExternalOtpInService.js","sourceRoot":"","sources":["../../../../src/server/services/external-otp-in/ExternalOtpInService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,EAAE,EAAE,cAAc,EAAqB,MAAM,4CAA4C,CAAC;AACvG,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAEhD,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,YAAY,MAAM,0BAA0B,CAAC;AAGpD,MAAM,MAAM,GAAG,YAAY;KACtB,GAAG,CAAC,WAAW,SAAS,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC;KAClD,MAAM,CAAC,eAAe,EAAE,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAG7G,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAQrC,KAAK,CAAC,cAAc,CAAC,YAAsB;QACvC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;aACrC,QAAQ,CAAC;YACN,YAAY;SACf,CAAC,CAAC,MAAM,EAAsB,CAAC;QAEpC,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;QAElC,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE9C,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,YAAsB;QAC/B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;aACrC,QAAQ,CAAC;YACN,YAAY;SACf,CAAC,CAAC,MAAM,EAAsB,CAAC;QAEpC,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC;QACjC,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAE1C,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAE9B,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE9C,cAAc;QACd,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC;YACzD,UAAU,EAAE,MAAM,CAAC,EAAE;YACrB,cAAc;YACd,IAAI,EAAE,UAAU;YAChB,UAAU;YACV,WAAW;YACX,MAAM;SACT,CAAC,CAAC;QAGH,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QACxC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC;QACrB,OAAO,CAAC,CAAC;IACb,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,cAAc;QACpB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAG,EAAE,cAAc,EAAE,CAAC,CAAC;QACtF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;aACtE,MAAM,EAAE,CAAC;QACd,OAAO,EAAE,OAAO,EAAE,CAAC;IACvB,CAAC;CACJ,CAAA;AArDG;IADC,MAAM;8BACH,iBAAiB;gDAAC;AAGtB;IADC,MAAM;8BACQ,aAAa;2DAAC;AANZ,oBAAoB;IADxC,cAAc;GACM,oBAAoB,CAwDxC;eAxDoB,oBAAoB"}
@@ -0,0 +1,4 @@
1
+ export default class AccessTokenService {
2
+ login(tokenID: any, secret: any): Promise<any>;
3
+ }
4
+ //# sourceMappingURL=AccessTokenService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccessTokenService.d.ts","sourceRoot":"","sources":["../../../../src/server/smtp/services/AccessTokenService.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAE7B,KAAK,CAAC,OAAO,KAAA,EAAE,MAAM,KAAA;CAqB9B"}