@adaptivestone/framework 5.0.0-beta.41 → 5.0.0-beta.44
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/CHANGELOG.md +18 -0
- package/dist/controllers/Auth.d.ts +56 -4
- package/dist/controllers/Auth.js +8 -3
- package/dist/controllers/Auth.js.map +1 -1
- package/dist/models/User.d.ts +231 -158
- package/dist/models/User.js +4 -1
- package/dist/models/User.js.map +1 -1
- package/dist/models/UserOld.d.ts +7 -6
- package/dist/models/UserOld.js.map +1 -1
- package/dist/modules/BaseModel.d.ts +3 -1
- package/dist/tests/testHelpers.d.ts +136 -117
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -48,9 +48,27 @@ Main feature of that release is full TypeScript support insluding mongoose model
|
|
|
48
48
|
- **[BREAKING]** Minimum node version is 20.12 as for now (`process.loadEnvFile`).
|
|
49
49
|
- **[BREAKING]** ESM only. No more commonJS. That help to fix a lot of bugs with tests and provides better development expirience.
|
|
50
50
|
- **[BREAKING]** Mongoose v8. <https://mongoosejs.com/docs/migrating_to_8.html>.
|
|
51
|
+
- **[BREAKING]** Mongoose v9. <https://mongoosejs.com/docs/migrating_to_9.html>.
|
|
51
52
|
- **[BREAKING]** Vitest v4 <https://vitest.dev/guide/migration.html#vitest-4>
|
|
52
53
|
|
|
53
54
|
|
|
55
|
+
---
|
|
56
|
+
## [5.0.0-beta.44] NEXT
|
|
57
|
+
|
|
58
|
+
- **[NEW]** Logout method
|
|
59
|
+
- **[Update]** ser model typing
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
## [5.0.0-beta.43]
|
|
63
|
+
|
|
64
|
+
- **[FIX]** Fix typo in peerDeps
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
## [5.0.0-beta.42]
|
|
69
|
+
|
|
70
|
+
- **[BREAKING]** Mongoose v9. <https://mongoosejs.com/docs/migrating_to_9.html>.
|
|
71
|
+
|
|
54
72
|
---
|
|
55
73
|
## [5.0.0-beta.41]
|
|
56
74
|
|
|
@@ -27,6 +27,13 @@ declare class Auth extends AbstractController {
|
|
|
27
27
|
'/register': {
|
|
28
28
|
handler: (req: FrameworkRequest & {
|
|
29
29
|
appInfo: {
|
|
30
|
+
request: {
|
|
31
|
+
email: string;
|
|
32
|
+
password: string;
|
|
33
|
+
firstName?: string;
|
|
34
|
+
lastName?: string;
|
|
35
|
+
nickName?: string;
|
|
36
|
+
};
|
|
30
37
|
i18n: {
|
|
31
38
|
t: TFunction;
|
|
32
39
|
language: string;
|
|
@@ -47,11 +54,20 @@ declare class Auth extends AbstractController {
|
|
|
47
54
|
lastName: undefined;
|
|
48
55
|
}, "">;
|
|
49
56
|
};
|
|
50
|
-
'/logout': (
|
|
57
|
+
'/logout': (req: FrameworkRequest & {
|
|
58
|
+
appInfo: {
|
|
59
|
+
user: {
|
|
60
|
+
_id: string;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
}, res: Response) => Promise<Response<any, Record<string, any>>>;
|
|
51
64
|
'/verify': (req: FrameworkRequest, res: Response) => Promise<Response<any, Record<string, any>>>;
|
|
52
65
|
'/send-recovery-email': {
|
|
53
66
|
handler: (req: FrameworkRequest & {
|
|
54
67
|
appInfo: {
|
|
68
|
+
request: {
|
|
69
|
+
email: string;
|
|
70
|
+
};
|
|
55
71
|
i18n: {
|
|
56
72
|
t: TFunction;
|
|
57
73
|
language: string;
|
|
@@ -65,7 +81,14 @@ declare class Auth extends AbstractController {
|
|
|
65
81
|
}, "">;
|
|
66
82
|
};
|
|
67
83
|
'/recover-password': {
|
|
68
|
-
handler: (req: FrameworkRequest
|
|
84
|
+
handler: (req: FrameworkRequest & {
|
|
85
|
+
appInfo: {
|
|
86
|
+
request: {
|
|
87
|
+
passwordRecoveryToken: string;
|
|
88
|
+
password: string;
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
}, res: Response) => Promise<Response<any, Record<string, any>>>;
|
|
69
92
|
request: import("yup").ObjectSchema<{
|
|
70
93
|
password: string;
|
|
71
94
|
passwordRecoveryToken: string;
|
|
@@ -77,6 +100,9 @@ declare class Auth extends AbstractController {
|
|
|
77
100
|
'/send-verification': {
|
|
78
101
|
handler: (req: FrameworkRequest & {
|
|
79
102
|
appInfo: {
|
|
103
|
+
request: {
|
|
104
|
+
email: string;
|
|
105
|
+
};
|
|
80
106
|
i18n: {
|
|
81
107
|
t: TFunction;
|
|
82
108
|
language: string;
|
|
@@ -101,25 +127,51 @@ declare class Auth extends AbstractController {
|
|
|
101
127
|
}, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
102
128
|
postRegister(req: FrameworkRequest & {
|
|
103
129
|
appInfo: {
|
|
130
|
+
request: {
|
|
131
|
+
email: string;
|
|
132
|
+
password: string;
|
|
133
|
+
firstName?: string;
|
|
134
|
+
lastName?: string;
|
|
135
|
+
nickName?: string;
|
|
136
|
+
};
|
|
104
137
|
i18n: {
|
|
105
138
|
t: TFunction;
|
|
106
139
|
language: string;
|
|
107
140
|
};
|
|
108
141
|
};
|
|
109
142
|
}, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
110
|
-
postLogout(
|
|
143
|
+
postLogout(req: FrameworkRequest & {
|
|
144
|
+
appInfo: {
|
|
145
|
+
user: {
|
|
146
|
+
_id: string;
|
|
147
|
+
};
|
|
148
|
+
};
|
|
149
|
+
}, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
111
150
|
verifyUser(req: FrameworkRequest, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
112
151
|
sendPasswordRecoveryEmail(req: FrameworkRequest & {
|
|
113
152
|
appInfo: {
|
|
153
|
+
request: {
|
|
154
|
+
email: string;
|
|
155
|
+
};
|
|
114
156
|
i18n: {
|
|
115
157
|
t: TFunction;
|
|
116
158
|
language: string;
|
|
117
159
|
};
|
|
118
160
|
};
|
|
119
161
|
}, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
120
|
-
recoverPassword(req: FrameworkRequest
|
|
162
|
+
recoverPassword(req: FrameworkRequest & {
|
|
163
|
+
appInfo: {
|
|
164
|
+
request: {
|
|
165
|
+
passwordRecoveryToken: string;
|
|
166
|
+
password: string;
|
|
167
|
+
};
|
|
168
|
+
};
|
|
169
|
+
}, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
121
170
|
sendVerification(req: FrameworkRequest & {
|
|
122
171
|
appInfo: {
|
|
172
|
+
request: {
|
|
173
|
+
email: string;
|
|
174
|
+
};
|
|
123
175
|
i18n: {
|
|
124
176
|
t: TFunction;
|
|
125
177
|
language: string;
|
package/dist/controllers/Auth.js
CHANGED
|
@@ -107,9 +107,14 @@ class Auth extends AbstractController {
|
|
|
107
107
|
}
|
|
108
108
|
return res.status(201).json();
|
|
109
109
|
}
|
|
110
|
-
async postLogout(
|
|
111
|
-
|
|
112
|
-
|
|
110
|
+
async postLogout(req, res) {
|
|
111
|
+
const user = req.appInfo.user;
|
|
112
|
+
if (user) {
|
|
113
|
+
const token = req.headers.authorization?.replace(/^Bearer\s+/i, '');
|
|
114
|
+
const UserModel = this.app.getModel('User');
|
|
115
|
+
await UserModel.updateOne({ _id: user._id }, { $pull: { sessionTokens: { token } } });
|
|
116
|
+
}
|
|
117
|
+
return res.status(200).json({ message: 'Ok' });
|
|
113
118
|
}
|
|
114
119
|
async verifyUser(req, res) {
|
|
115
120
|
const User = req.appInfo.app.getModel('User');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/controllers/Auth.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/controllers/Auth.ts"],"names":[],"mappings":"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"}
|