@social-mail/social-mail-web-server 1.7.556 → 1.7.558

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 (35) hide show
  1. package/dist/server/services/ui/renderUIClient.d.ts +3 -1
  2. package/dist/server/services/ui/renderUIClient.d.ts.map +1 -1
  3. package/dist/server/services/ui/renderUIClient.js +1 -1
  4. package/dist/server/services/ui/renderUIClient.js.map +1 -1
  5. package/dist/tsconfig.tsbuildinfo +1 -1
  6. package/dist/wwwroot/routes/social-mail/user/signup/get.d.ts +2 -0
  7. package/dist/wwwroot/routes/social-mail/user/signup/get.d.ts.map +1 -1
  8. package/dist/wwwroot/routes/social-mail/user/signup/get.js +16 -1
  9. package/dist/wwwroot/routes/social-mail/user/signup/get.js.map +1 -1
  10. package/dist/wwwroot/routes/social-mail/user/signup/post.d.ts +2 -0
  11. package/dist/wwwroot/routes/social-mail/user/signup/post.d.ts.map +1 -1
  12. package/dist/wwwroot/routes/social-mail/user/signup/post.js +14 -6
  13. package/dist/wwwroot/routes/social-mail/user/signup/post.js.map +1 -1
  14. package/dist/wwwroot/routes/social-mail/video-player/[domain]/[type]/[postID]/[fileID]/index.js +2 -2
  15. package/dist/wwwroot/routes/social-mail/video-player/[domain]/[type]/[postID]/[fileID]/index.js.map +1 -1
  16. package/package.json +1 -1
  17. package/src/server/services/ui/renderUIClient.tsx +1 -1
  18. package/src/wwwroot/routes/social-mail/user/signup/get.tsx +5 -0
  19. package/src/wwwroot/routes/social-mail/user/signup/post.tsx +15 -6
  20. package/src/wwwroot/routes/social-mail/video-player/[domain]/[type]/[postID]/[fileID]/index.tsx +2 -2
  21. package/dist/wwwroot/routes/social-mail/mailboxes/password/reset/post.d.ts +0 -24
  22. package/dist/wwwroot/routes/social-mail/mailboxes/password/reset/post.d.ts.map +0 -1
  23. package/dist/wwwroot/routes/social-mail/mailboxes/password/reset/post.js +0 -109
  24. package/dist/wwwroot/routes/social-mail/mailboxes/password/reset/post.js.map +0 -1
  25. package/dist/wwwroot/routes/social-mail/mailboxes/signup/get.d.ts +0 -8
  26. package/dist/wwwroot/routes/social-mail/mailboxes/signup/get.d.ts.map +0 -1
  27. package/dist/wwwroot/routes/social-mail/mailboxes/signup/get.js +0 -28
  28. package/dist/wwwroot/routes/social-mail/mailboxes/signup/get.js.map +0 -1
  29. package/dist/wwwroot/routes/social-mail/mailboxes/signup/post.d.ts +0 -24
  30. package/dist/wwwroot/routes/social-mail/mailboxes/signup/post.d.ts.map +0 -1
  31. package/dist/wwwroot/routes/social-mail/mailboxes/signup/post.js +0 -109
  32. package/dist/wwwroot/routes/social-mail/mailboxes/signup/post.js.map +0 -1
  33. package/src/wwwroot/routes/social-mail/mailboxes/password/reset/post.tsx +0 -128
  34. package/src/wwwroot/routes/social-mail/mailboxes/signup/get.tsx +0 -27
  35. package/src/wwwroot/routes/social-mail/mailboxes/signup/post.tsx +0 -128
@@ -1 +0,0 @@
1
- {"version":3,"file":"post.js","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/social-mail/mailboxes/signup/post.tsx"],"names":[],"mappings":"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"}
@@ -1,128 +0,0 @@
1
- import EntityAccessError from "@entity-access/entity-access/dist/common/EntityAccessError.js";
2
- import Inject from "@entity-access/entity-access/dist/di/di.js";
3
- import Page from "@entity-access/server-pages/dist/Page.js";
4
- import { Prepare } from "@entity-access/server-pages/dist/decorators/Prepare.js";
5
- import SocialMailContext from "../../../../../../server/model/SocialMailContext.js";
6
- import CryptoService from "../../../../../../server/services/CryptoService.js";
7
- import EmailAddressService from "../../../../../../server/services/EmailAddressService.js";
8
- import CaptchaService from "../../../../../../server/services/captcha/CaptchaService.js";
9
- import { IVerification } from "../../../../../../server/services/captcha/IVerification.js";
10
- import ExternalOtpInService from "../../../../../../server/services/external-otp-in/ExternalOtpInService.js";
11
-
12
- export interface ISignup {
13
- username: string;
14
- userID: number;
15
- phoneNumber: string;
16
- captcha: IVerification;
17
- phone: IVerification;
18
- password: string;
19
- }
20
-
21
- @Prepare.parseJsonBody
22
- export default class extends Page {
23
-
24
- @Inject
25
- captchaService: CaptchaService;
26
-
27
- @Inject
28
- cryptoService: CryptoService;
29
-
30
- @Inject
31
- emailAddressService: EmailAddressService;
32
-
33
- @Inject
34
- ois: ExternalOtpInService;
35
-
36
-
37
- @Inject
38
- db: SocialMailContext;
39
-
40
- async run() {
41
-
42
- const { db } = this;
43
-
44
- db.verifyFilters = false;
45
- db.raiseEvents = false;
46
-
47
- const model = this.body as ISignup;
48
-
49
- model.username = model.username?.trim();
50
- if (!model.username) {
51
- throw new EntityAccessError("Username is required");
52
- }
53
- const [username, domain] = model.username.split("@");
54
-
55
- model.username = username?.trim()?.toLocaleLowerCase()?.replace(/[\.\-]/g, "") + "@" + domain;
56
-
57
- model.phoneNumber = `+${model.phoneNumber.replace(/[^0-9]/g, "")}`;
58
-
59
- // console.log(model);
60
-
61
- // verify captcha...
62
- await this.captchaService.verify(model.captcha as any);
63
-
64
- const user = await db.users.where(model, (p) => (x) => x.userName === p.username)
65
- .first();
66
-
67
- if (!user) {
68
- throw new EntityAccessError(`Username ${model.username} not found, make sure it is complete email address.`);
69
- }
70
-
71
- if (!model.phone.id) {
72
-
73
-
74
- // check if phone exists...
75
- const phone = await db.userAuthFactors
76
- .where(model, (p) => (x) =>
77
- x.user.userName === p.username
78
- && x.phoneNumber === p.phoneNumber
79
- )
80
- .first();
81
-
82
- if (!phone) {
83
- throw new EntityAccessError(`No phone number is associated with this user, please contact us the administrator.`);
84
- }
85
-
86
- if (!model.phone.id) {
87
- const v = await this.ois.create([model.phoneNumber]);
88
- model.phone.id = v.verificationID as any;
89
- model.phone.code = v.accessCode;
90
- model.phone.smsConfig = v.externalConfig;
91
- return this.json(model);
92
- }
93
-
94
- }
95
-
96
- if(model.phone.id) {
97
- // verify...
98
- const v = await db.verificationTokens.statements.select({} , { verificationID: model.phone.id as any });
99
- if (!v.verified) {
100
- return this.json(model);
101
- }
102
- model.phone.verified = "true";
103
- }
104
-
105
- if (!model.password) {
106
- return this.json(model);
107
- }
108
-
109
- if (model.password.length < 7) {
110
- throw new EntityAccessError("Password is cannot be less than 7 characters");
111
- }
112
-
113
- if (/\s/i.test(model.password)) {
114
- throw new EntityAccessError("Password must not any whitespace characters");
115
- }
116
-
117
- const passwordSalt = this.cryptoService.generateSalt();
118
- const passwordHash = this.cryptoService.hash(passwordSalt, model.password);
119
- model.userID = user.userID;
120
- await db.users.where(user, (p) => (x) => x.userID === p.userID)
121
- .update({ passwordSalt, passwordHash}, (p) => (x) => ({
122
- passwordHash: p.passwordHash,
123
- passwordSalt: p.passwordSalt
124
- }));
125
- return this.json(model);
126
- }
127
-
128
- }
@@ -1,27 +0,0 @@
1
- import Content from "@entity-access/server-pages/dist/Content.js";
2
- import Page from "@entity-access/server-pages/dist/Page.js";
3
- import { renderUIClient } from "../../../../../server/services/ui/renderUIClient.js";
4
- import Inject from "@entity-access/entity-access/dist/di/di.js";
5
- import SocialMailContext from "../../../../../server/model/SocialMailContext.js";
6
-
7
- export default class extends Page {
8
-
9
- @Inject
10
- db?: SocialMailContext;
11
-
12
- async run() {
13
-
14
- const hostedDomains = await this.db.domains.where(void 0, (p) => (x) => x.hostedDomain.allowSignup === true)
15
- .limit(5)
16
- .toArray();
17
-
18
- const domains = JSON.stringify(hostedDomains.map((x) => x.name));
19
-
20
- const domainScript = `socialMail.domains = ${domains};`;
21
-
22
- return renderUIClient(this, void 0, domainScript);
23
- }
24
-
25
-
26
-
27
- }
@@ -1,128 +0,0 @@
1
- import EntityAccessError from "@entity-access/entity-access/dist/common/EntityAccessError.js";
2
- import Inject from "@entity-access/entity-access/dist/di/di.js";
3
- import Page from "@entity-access/server-pages/dist/Page.js";
4
- import { Prepare } from "@entity-access/server-pages/dist/decorators/Prepare.js";
5
- import SocialMailContext from "../../../../../server/model/SocialMailContext.js";
6
- import CryptoService from "../../../../../server/services/CryptoService.js";
7
- import EmailAddressService from "../../../../../server/services/EmailAddressService.js";
8
- import CaptchaService from "../../../../../server/services/captcha/CaptchaService.js";
9
- import { IVerification } from "../../../../../server/services/captcha/IVerification.js";
10
- import ExternalOtpInService from "../../../../../server/services/external-otp-in/ExternalOtpInService.js";
11
-
12
- export interface ISignup {
13
- username: string;
14
- userID: number;
15
- phoneNumber: string;
16
- captcha: IVerification;
17
- phone: IVerification;
18
- password: string;
19
- }
20
-
21
- @Prepare.parseJsonBody
22
- export default class extends Page {
23
-
24
- @Inject
25
- captchaService: CaptchaService;
26
-
27
- @Inject
28
- cryptoService: CryptoService;
29
-
30
- @Inject
31
- emailAddressService: EmailAddressService;
32
-
33
- @Inject
34
- ois: ExternalOtpInService;
35
-
36
-
37
- @Inject
38
- db: SocialMailContext;
39
-
40
- async run() {
41
-
42
- const { db } = this;
43
-
44
- db.verifyFilters = false;
45
- db.raiseEvents = false;
46
-
47
- const model = this.body as ISignup;
48
-
49
- model.username = model.username?.trim();
50
- if (!model.username) {
51
- throw new EntityAccessError("Username is required");
52
- }
53
- const [username, domain] = model.username.split("@");
54
-
55
- model.username = username?.trim()?.toLocaleLowerCase()?.replace(/[\.\-]/g, "") + "@" + domain;
56
-
57
- model.phoneNumber = `+${model.phoneNumber.replace(/[^0-9]/g, "")}`;
58
-
59
- // console.log(model);
60
-
61
- // verify captcha...
62
- await this.captchaService.verify(model.captcha as any);
63
-
64
- const user = await db.users.where(model, (p) => (x) => x.userName === p.username)
65
- .first();
66
-
67
- if (!user) {
68
- throw new EntityAccessError(`Username ${model.username} not found, make sure it is complete email address.`);
69
- }
70
-
71
- if (!model.phone.id) {
72
-
73
-
74
- // check if phone exists...
75
- const phone = await db.userAuthFactors
76
- .where(model, (p) => (x) =>
77
- x.user.userName === p.username
78
- && x.phoneNumber === p.phoneNumber
79
- )
80
- .first();
81
-
82
- if (!phone) {
83
- throw new EntityAccessError(`No phone number is associated with this user, please contact us at support@neurospeech.com .`);
84
- }
85
-
86
- if (!model.phone.id) {
87
- const v = await this.ois.create([model.phoneNumber]);
88
- model.phone.id = v.verificationID as any;
89
- model.phone.code = v.accessCode;
90
- model.phone.smsConfig = v.externalConfig;
91
- return this.json(model);
92
- }
93
-
94
- }
95
-
96
- if(model.phone.id) {
97
- // verify...
98
- const v = await db.verificationTokens.statements.select({} , { verificationID: model.phone.id as any });
99
- if (!v.verified) {
100
- return this.json(model);
101
- }
102
- model.phone.verified = "true";
103
- }
104
-
105
- if (!model.password) {
106
- return this.json(model);
107
- }
108
-
109
- if (model.password.length < 7) {
110
- throw new EntityAccessError("Password is cannot be less than 7 characters");
111
- }
112
-
113
- if (/\s/i.test(model.password)) {
114
- throw new EntityAccessError("Password must not any whitespace characters");
115
- }
116
-
117
- const passwordSalt = this.cryptoService.generateSalt();
118
- const passwordHash = this.cryptoService.hash(passwordSalt, model.password);
119
- model.userID = user.userID;
120
- await db.users.where(user, (p) => (x) => x.userID === p.userID)
121
- .update({ passwordSalt, passwordHash}, (p) => (x) => ({
122
- passwordHash: p.passwordHash,
123
- passwordSalt: p.passwordSalt
124
- }));
125
- return this.json(model);
126
- }
127
-
128
- }