@social-mail/social-mail-web-server 1.7.653 → 1.7.655
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/server/model/events/VerificationTokenEvents.d.ts +4 -1
- package/dist/server/model/events/VerificationTokenEvents.d.ts.map +1 -1
- package/dist/server/model/events/VerificationTokenEvents.js +4 -0
- package/dist/server/model/events/VerificationTokenEvents.js.map +1 -1
- package/dist/server/seed/ui/seed-ui.js +1 -1
- package/dist/server/services/user/otp-to-user/BaseOtpToUserService.d.ts +2 -0
- package/dist/server/services/user/otp-to-user/BaseOtpToUserService.d.ts.map +1 -1
- package/dist/server/services/user/otp-to-user/BaseOtpToUserService.js.map +1 -1
- package/dist/server/services/user/otp-to-user/OtpToUserService.d.ts +2 -0
- package/dist/server/services/user/otp-to-user/OtpToUserService.d.ts.map +1 -1
- package/dist/server/services/user/otp-to-user/OtpToUserService.js +1 -1
- package/dist/server/services/user/otp-to-user/OtpToUserService.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/wwwroot/routes/social-mail/user/signup/post.d.ts +4 -0
- package/dist/wwwroot/routes/social-mail/user/signup/post.d.ts.map +1 -1
- package/dist/wwwroot/routes/social-mail/user/signup/post.js +23 -1
- package/dist/wwwroot/routes/social-mail/user/signup/post.js.map +1 -1
- package/package.json +1 -1
- package/src/server/model/events/VerificationTokenEvents.ts +4 -0
- package/src/server/seed/ui/seed-ui.ts +1 -1
- package/src/server/services/user/otp-to-user/BaseOtpToUserService.ts +3 -1
- package/src/server/services/user/otp-to-user/OtpToUserService.ts +1 -1
- package/src/wwwroot/routes/social-mail/user/signup/post.tsx +21 -3
|
@@ -5,6 +5,8 @@ import CryptoService from "../../../../../server/services/CryptoService.js";
|
|
|
5
5
|
import EmailAddressService from "../../../../../server/services/EmailAddressService.js";
|
|
6
6
|
import CaptchaService from "../../../../../server/services/captcha/CaptchaService.js";
|
|
7
7
|
import WelcomeMailService from "../../../../../server/services/mailboxes/WelcomeMailService.js";
|
|
8
|
+
import OtpToUserService from "../../../../../server/services/user/otp-to-user/OtpToUserService.js";
|
|
9
|
+
import SessionSecurity from "@entity-access/server-pages/dist/services/SessionSecurity.js";
|
|
8
10
|
export interface ISignup {
|
|
9
11
|
userID: number;
|
|
10
12
|
username: string;
|
|
@@ -21,6 +23,8 @@ export default class extends Page {
|
|
|
21
23
|
captchaService: CaptchaService;
|
|
22
24
|
cryptoService: CryptoService;
|
|
23
25
|
emailAddressService: EmailAddressService;
|
|
26
|
+
sessionSecurity: SessionSecurity;
|
|
27
|
+
otpService: OtpToUserService;
|
|
24
28
|
wms: WelcomeMailService;
|
|
25
29
|
db: SocialMailContext;
|
|
26
30
|
run(): Promise<import("@entity-access/server-pages/dist/Content.js").default>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/social-mail/user/signup/post.tsx"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAK5D,OAAO,iBAAiB,MAAM,kDAAkD,CAAC;AACjF,OAAO,iBAAiB,MAAM,2DAA2D,CAAC;AAC1F,OAAO,aAAa,MAAM,iDAAiD,CAAC;AAC5E,OAAO,mBAAmB,MAAM,uDAAuD,CAAC;AACxF,OAAO,cAAc,MAAM,0DAA0D,CAAC;AACtF,OAAO,kBAAkB,MAAM,gEAAgE,CAAC;
|
|
1
|
+
{"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/social-mail/user/signup/post.tsx"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAK5D,OAAO,iBAAiB,MAAM,kDAAkD,CAAC;AACjF,OAAO,iBAAiB,MAAM,2DAA2D,CAAC;AAC1F,OAAO,aAAa,MAAM,iDAAiD,CAAC;AAC5E,OAAO,mBAAmB,MAAM,uDAAuD,CAAC;AACxF,OAAO,cAAc,MAAM,0DAA0D,CAAC;AACtF,OAAO,kBAAkB,MAAM,gEAAgE,CAAC;AAChG,OAAO,gBAAgB,MAAM,qEAAqE,CAAC;AACnG,OAAO,eAAe,MAAM,8DAA8D,CAAC;AAE3F,MAAM,WAAW,OAAO;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpC,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACrC;AAkBD,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,cAAc,EAAE,cAAc,CAAC;IAG/B,aAAa,EAAE,aAAa,CAAC;IAG7B,mBAAmB,EAAE,mBAAmB,CAAC;IAGzC,eAAe,EAAE,eAAe,CAAC;IAGjC,UAAU,EAAE,gBAAgB,CAAC;IAG7B,GAAG,EAAE,kBAAkB,CAAC;IAGxB,EAAE,EAAE,iBAAiB,CAAC;IAEhB,GAAG;CAiKZ"}
|
|
@@ -18,6 +18,8 @@ import CryptoService from "../../../../../server/services/CryptoService.js";
|
|
|
18
18
|
import EmailAddressService from "../../../../../server/services/EmailAddressService.js";
|
|
19
19
|
import CaptchaService from "../../../../../server/services/captcha/CaptchaService.js";
|
|
20
20
|
import WelcomeMailService from "../../../../../server/services/mailboxes/WelcomeMailService.js";
|
|
21
|
+
import OtpToUserService from "../../../../../server/services/user/otp-to-user/OtpToUserService.js";
|
|
22
|
+
import SessionSecurity from "@entity-access/server-pages/dist/services/SessionSecurity.js";
|
|
21
23
|
const ensureUsername = (name) => {
|
|
22
24
|
const json = JSON.parse(readFileSync("./content/json/bad-names.json", "utf-8"));
|
|
23
25
|
if (json.reserved.includes(name)) {
|
|
@@ -58,7 +60,19 @@ let default_1 = class extends Page {
|
|
|
58
60
|
}
|
|
59
61
|
model.phoneNumber = `+${model.phoneNumber.replace(/[^0-9]/g, "")}`;
|
|
60
62
|
// console.log(model);
|
|
61
|
-
|
|
63
|
+
if (!model.phone.verificationID) {
|
|
64
|
+
// generate new one...
|
|
65
|
+
const vp = await this.otpService.create({ phone: model.phone.phone });
|
|
66
|
+
model.phone.verificationID = vp.id;
|
|
67
|
+
const v = await db.verificationTokens.where(vp, (p) => (x) => x.verificationID === p.id).first();
|
|
68
|
+
// inject public key
|
|
69
|
+
await this.sessionSecurity.injectPublicKey(v);
|
|
70
|
+
model.phone.accessCode = v.accessCode;
|
|
71
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
72
|
+
// @ts-expect-error
|
|
73
|
+
model.phone.$key = v.$key;
|
|
74
|
+
return this.json(model);
|
|
75
|
+
}
|
|
62
76
|
for (const v1 of [model.captcha, model.phone]) {
|
|
63
77
|
const { verificationID, accessCode } = v1;
|
|
64
78
|
const vr = await db.verificationTokens.statements.select({}, { verificationID, accessCode });
|
|
@@ -164,6 +178,14 @@ __decorate([
|
|
|
164
178
|
Inject,
|
|
165
179
|
__metadata("design:type", EmailAddressService)
|
|
166
180
|
], default_1.prototype, "emailAddressService", void 0);
|
|
181
|
+
__decorate([
|
|
182
|
+
Inject,
|
|
183
|
+
__metadata("design:type", SessionSecurity)
|
|
184
|
+
], default_1.prototype, "sessionSecurity", void 0);
|
|
185
|
+
__decorate([
|
|
186
|
+
Inject,
|
|
187
|
+
__metadata("design:type", OtpToUserService)
|
|
188
|
+
], default_1.prototype, "otpService", void 0);
|
|
167
189
|
__decorate([
|
|
168
190
|
Inject,
|
|
169
191
|
__metadata("design:type", WelcomeMailService)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post.js","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/social-mail/user/signup/post.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAChE,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,wDAAwD,CAAC;AACjF,OAAO,iBAAiB,MAAM,+DAA+D,CAAC;AAC9F,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,iBAAiB,MAAM,kDAAkD,CAAC;AAEjF,OAAO,aAAa,MAAM,iDAAiD,CAAC;AAC5E,OAAO,mBAAmB,MAAM,uDAAuD,CAAC;AACxF,OAAO,cAAc,MAAM,0DAA0D,CAAC;AACtF,OAAO,kBAAkB,MAAM,gEAAgE,CAAC;
|
|
1
|
+
{"version":3,"file":"post.js","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/social-mail/user/signup/post.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -75,6 +75,10 @@ export default class VerificationTokenEvents extends AuthenticatedEvents<Verific
|
|
|
75
75
|
}
|
|
76
76
|
entity.verified = r.result;
|
|
77
77
|
this.ss.injectPublicKey(entity);
|
|
78
|
+
return {
|
|
79
|
+
verificationID: entity.verificationID,
|
|
80
|
+
verified: entity.verified
|
|
81
|
+
};
|
|
78
82
|
}
|
|
79
83
|
|
|
80
84
|
// @ExternalQuery
|
|
@@ -5,7 +5,7 @@ export default async function seedUI(config: DBConfig) {
|
|
|
5
5
|
await config.saveVersion(UIPackageConfig, {
|
|
6
6
|
package: "@social-mail/social-mail-client",
|
|
7
7
|
view: "dist/web/AppIndex",
|
|
8
|
-
version: "1.8.
|
|
8
|
+
version: "1.8.168"
|
|
9
9
|
});
|
|
10
10
|
|
|
11
11
|
await config.saveVersion(WebComponentsPackageConfig, {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import VerificationToken from "../../../model/entities/VerificationToken.js";
|
|
2
|
+
|
|
1
3
|
export default abstract class BaseOtpToUserService {
|
|
2
|
-
abstract create({ phone }): Promise<{ id: any }>;
|
|
4
|
+
abstract create({ phone }): Promise<{ id: any, verification?: VerificationToken }>;
|
|
3
5
|
abstract verify({ id, phone, code }): Promise<{ id: any, result: boolean }>;
|
|
4
6
|
abstract resend({ id, phone }): Promise<{ id: any, resent: boolean }>;
|
|
5
7
|
}
|
|
@@ -32,7 +32,7 @@ export default class OtpToUserService extends BaseOtpToUserService {
|
|
|
32
32
|
const r = await service.create({ phone });
|
|
33
33
|
v.externalID = r.id;
|
|
34
34
|
await db.verificationTokens.statements.update({ externalID: r.id, attempt: v.attempt }, { verificationID: v.verificationID});
|
|
35
|
-
return { id, accessCode: v.accessCode };
|
|
35
|
+
return { id, accessCode: v.accessCode, verification: v };
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
async verify({ id, code }) {
|
|
@@ -10,6 +10,8 @@ import CryptoService from "../../../../../server/services/CryptoService.js";
|
|
|
10
10
|
import EmailAddressService from "../../../../../server/services/EmailAddressService.js";
|
|
11
11
|
import CaptchaService from "../../../../../server/services/captcha/CaptchaService.js";
|
|
12
12
|
import WelcomeMailService from "../../../../../server/services/mailboxes/WelcomeMailService.js";
|
|
13
|
+
import OtpToUserService from "../../../../../server/services/user/otp-to-user/OtpToUserService.js";
|
|
14
|
+
import SessionSecurity from "@entity-access/server-pages/dist/services/SessionSecurity.js";
|
|
13
15
|
|
|
14
16
|
export interface ISignup {
|
|
15
17
|
userID: number;
|
|
@@ -51,6 +53,12 @@ export default class extends Page {
|
|
|
51
53
|
@Inject
|
|
52
54
|
emailAddressService: EmailAddressService;
|
|
53
55
|
|
|
56
|
+
@Inject
|
|
57
|
+
sessionSecurity: SessionSecurity;
|
|
58
|
+
|
|
59
|
+
@Inject
|
|
60
|
+
otpService: OtpToUserService;
|
|
61
|
+
|
|
54
62
|
@Inject
|
|
55
63
|
wms: WelcomeMailService;
|
|
56
64
|
|
|
@@ -96,8 +104,19 @@ export default class extends Page {
|
|
|
96
104
|
model.phoneNumber = `+${model.phoneNumber.replace(/[^0-9]/g, "")}`;
|
|
97
105
|
|
|
98
106
|
// console.log(model);
|
|
99
|
-
|
|
100
|
-
|
|
107
|
+
if (!model.phone.verificationID) {
|
|
108
|
+
// generate new one...
|
|
109
|
+
const vp = await this.otpService.create({ phone: model.phone.phone });
|
|
110
|
+
model.phone.verificationID = vp.id;
|
|
111
|
+
const v = await db.verificationTokens.where(vp, (p) => (x) => x.verificationID === p.id).first();
|
|
112
|
+
// inject public key
|
|
113
|
+
await this.sessionSecurity.injectPublicKey(v);
|
|
114
|
+
model.phone.accessCode = v.accessCode;
|
|
115
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
116
|
+
// @ts-expect-error
|
|
117
|
+
model.phone.$key = v.$key;
|
|
118
|
+
return this.json(model);
|
|
119
|
+
}
|
|
101
120
|
|
|
102
121
|
for(const v1 of [model.captcha, model.phone]) {
|
|
103
122
|
const { verificationID , accessCode } = v1;
|
|
@@ -118,7 +137,6 @@ export default class extends Page {
|
|
|
118
137
|
throw new EntityAccessError(`Email address already exists.`);
|
|
119
138
|
}
|
|
120
139
|
|
|
121
|
-
|
|
122
140
|
// check if phone exists...
|
|
123
141
|
const exists = await db.users
|
|
124
142
|
.where(model, (p) => (x) => x.uniquePhoneNumber === p.phoneNumber)
|