vona-cli-set-api 1.0.72 → 1.0.74
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/cli/templates/create/project/basic/boilerplate/package.original.json +1 -1
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-base/dist/.metadata/index.d.ts +74 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-base/dist/.metadata/this.d.ts +2 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-base/dist/controller/menu.d.ts +8 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-base/dist/index.d.ts +1 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-base/dist/service/menu.d.ts +6 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-base/package.json +2 -3
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-base/tsconfig.build.json +7 -1
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-base/tsconfig.build.tsbuildinfo +1 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-index/dist/.metadata/index.d.ts +74 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-index/dist/.metadata/this.d.ts +2 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-index/dist/bean/meta.printTip.d.ts +5 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-index/dist/config/locale/en-us.d.ts +5 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-index/dist/config/locale/zh-cn.d.ts +5 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-index/dist/controller/home.d.ts +8 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-index/dist/index.d.ts +1 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-index/package.json +3 -5
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-index/tsconfig.build.json +7 -1
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-index/tsconfig.build.tsbuildinfo +1 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/.metadata/index.d.ts +266 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/.metadata/this.d.ts +2 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/bean/meta.index.d.ts +3 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/bean/meta.version.d.ts +6 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/config/config.d.ts +10 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/controller/passport.d.ts +21 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/dto/auth.d.ts +8 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/dto/passport.d.ts +11 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/dto/passportJwt.d.ts +9 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/entity/role.d.ts +7 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/entity/user.d.ts +10 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/entity/userRole.d.ts +8 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/index.d.ts +3 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/lib/authAdapter.d.ts +1 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/lib/index.d.ts +3 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/lib/roleAdapter.d.ts +1 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/lib/userAdapter.d.ts +1 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/model/role.d.ts +4 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/model/user.d.ts +4 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/model/userRole.d.ts +4 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/service/authInnerAdapter.d.ts +6 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/service/authTokenAdapter.d.ts +11 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/service/passportAdapter.d.ts +10 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/service/redisToken.d.ts +14 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/service/roleInnerAdapter.d.ts +9 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/service/userInnerAdapter.d.ts +11 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/types/auth.d.ts +3 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/types/index.d.ts +4 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/types/passport.d.ts +14 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/types/role.d.ts +4 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/types/user.d.ts +7 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/package.json +2 -3
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/.metadata/index.ts +86 -20
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/bean/meta.index.ts +16 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/bean/meta.version.ts +24 -2
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/controller/passport.ts +2 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/dto/passport.ts +5 -1
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/entity/role.ts +11 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/entity/userRole.ts +14 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/lib/index.ts +1 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/lib/roleAdapter.ts +15 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/model/role.ts +5 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/model/userRole.ts +5 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/service/authInnerAdapter.ts +2 -2
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/service/passportAdapter.ts +4 -3
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/service/roleInnerAdapter.ts +21 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/service/userInnerAdapter.ts +4 -4
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/types/index.ts +1 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/types/role.ts +5 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/tsconfig.build.json +7 -1
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/tsconfig.build.tsbuildinfo +1 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/package.json +2 -3
- package/package.json +1 -1
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-base/node_modules/.bin/clean-package +0 -17
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-base/node_modules/.bin/rimraf +0 -17
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-index/node_modules/.bin/clean-package +0 -17
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-index/node_modules/.bin/rimraf +0 -17
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/node_modules/.bin/clean-package +0 -17
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/node_modules/.bin/rimraf +0 -17
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import type { BeanScopeUtil, TypeModuleConfig } from 'vona';
|
|
2
2
|
import type { IDecoratorModelOptions } from 'vona-module-a-database';
|
|
3
|
+
import type { IMetaOptionsIndex } from 'vona-module-a-index';
|
|
3
4
|
import type { TypeControllerOptionsActions } from 'vona-module-a-openapi';
|
|
4
5
|
import type { TypeEntityOptionsFields } from 'vona-module-a-openapi';
|
|
5
6
|
import type { config } from '../config/config.ts';
|
|
6
|
-
|
|
7
7
|
import type { IControllerOptionsPassport } from '../controller/passport.ts';
|
|
8
8
|
/** controller: end */
|
|
9
9
|
/** controller: begin */
|
|
10
10
|
// @ts-ignore ignore
|
|
11
11
|
import type { ControllerPassport } from '../controller/passport.ts';
|
|
12
|
-
|
|
13
12
|
import type { IDtoOptionsAuth } from '../dto/auth.ts';
|
|
13
|
+
|
|
14
14
|
/** dto: end */
|
|
15
15
|
/** dto: begin */
|
|
16
16
|
import type { DtoAuth } from '../dto/auth.ts';
|
|
@@ -18,20 +18,27 @@ import type { IDtoOptionsPassport } from '../dto/passport.ts';
|
|
|
18
18
|
import type { DtoPassport } from '../dto/passport.ts';
|
|
19
19
|
import type { IDtoOptionsPassportJwt } from '../dto/passportJwt.ts';
|
|
20
20
|
import type { DtoPassportJwt } from '../dto/passportJwt.ts';
|
|
21
|
-
import type {
|
|
21
|
+
import type { IEntityOptionsRole } from '../entity/role.ts';
|
|
22
22
|
/** entity: end */
|
|
23
23
|
/** entity: begin */
|
|
24
|
+
import type { EntityRole } from '../entity/role.ts';
|
|
25
|
+
import type { IEntityOptionsUser } from '../entity/user.ts';
|
|
24
26
|
import type { EntityUser } from '../entity/user.ts';
|
|
25
|
-
|
|
27
|
+
import type { IEntityOptionsUserRole } from '../entity/userRole.ts';
|
|
28
|
+
import type { EntityUserRole } from '../entity/userRole.ts';
|
|
26
29
|
/** model: end */
|
|
27
30
|
/** model: begin */
|
|
31
|
+
import type { ModelRole } from '../model/role.ts';
|
|
28
32
|
import type { ModelUser } from '../model/user.ts';
|
|
33
|
+
|
|
34
|
+
import type { ModelUserRole } from '../model/userRole.ts';
|
|
29
35
|
/** service: end */
|
|
30
36
|
/** service: begin */
|
|
31
37
|
import type { ServiceAuthInnerAdapter } from '../service/authInnerAdapter.ts';
|
|
32
38
|
import type { ServiceAuthTokenAdapter } from '../service/authTokenAdapter.ts';
|
|
33
39
|
import type { ServicePassportAdapter } from '../service/passportAdapter.ts';
|
|
34
40
|
import type { ServiceRedisToken } from '../service/redisToken.ts';
|
|
41
|
+
import type { ServiceRoleInnerAdapter } from '../service/roleInnerAdapter.ts';
|
|
35
42
|
import type { ServiceUserInnerAdapter } from '../service/userInnerAdapter.ts';
|
|
36
43
|
/** config: end */
|
|
37
44
|
/** scope: begin */
|
|
@@ -50,11 +57,17 @@ import 'vona';
|
|
|
50
57
|
import 'vona';
|
|
51
58
|
/** model: end */
|
|
52
59
|
/** meta: begin */
|
|
60
|
+
export * from '../bean/meta.index.ts';
|
|
53
61
|
export * from '../bean/meta.version.ts';
|
|
62
|
+
/** controller: end */
|
|
63
|
+
/** config: begin */
|
|
64
|
+
export * from '../config/config.ts';
|
|
54
65
|
declare module 'vona-module-a-database' {
|
|
55
66
|
|
|
56
67
|
export interface IEntityRecord {
|
|
68
|
+
'home-user:role': IEntityOptionsRole;
|
|
57
69
|
'home-user:user': IEntityOptionsUser;
|
|
70
|
+
'home-user:userRole': IEntityOptionsUserRole;
|
|
58
71
|
}
|
|
59
72
|
|
|
60
73
|
}
|
|
@@ -62,63 +75,110 @@ declare module 'vona-module-home-user' {
|
|
|
62
75
|
|
|
63
76
|
}
|
|
64
77
|
export interface IModuleEntity {
|
|
78
|
+
role: EntityRole;
|
|
65
79
|
user: EntityUser;
|
|
80
|
+
userRole: EntityUserRole;
|
|
66
81
|
}
|
|
67
82
|
/** entity: end */
|
|
68
83
|
/** entity: begin */
|
|
69
84
|
declare module 'vona-module-home-user' {
|
|
70
85
|
|
|
86
|
+
export interface EntityRole {
|
|
87
|
+
get $table(): 'homeRole';
|
|
88
|
+
$column: <K extends keyof Omit<EntityRole, '$column' | '$columns' | '$table'>>(column: K) => K;
|
|
89
|
+
$columns: <K extends keyof Omit<EntityRole, '$column' | '$columns' | '$table'>>(...columns: K[]) => K[];
|
|
90
|
+
}
|
|
91
|
+
|
|
71
92
|
export interface EntityUser {
|
|
93
|
+
get $table(): 'homeUser';
|
|
72
94
|
$column: <K extends keyof Omit<EntityUser, '$column' | '$columns' | '$table'>>(column: K) => K;
|
|
73
95
|
$columns: <K extends keyof Omit<EntityUser, '$column' | '$columns' | '$table'>>(...columns: K[]) => K[];
|
|
74
96
|
}
|
|
75
97
|
|
|
98
|
+
export interface EntityUserRole {
|
|
99
|
+
get $table(): 'homeUserRole';
|
|
100
|
+
$column: <K extends keyof Omit<EntityUserRole, '$column' | '$columns' | '$table'>>(column: K) => K;
|
|
101
|
+
$columns: <K extends keyof Omit<EntityUserRole, '$column' | '$columns' | '$table'>>(...columns: K[]) => K[];
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export interface IEntityOptionsRole {
|
|
105
|
+
fields?: TypeEntityOptionsFields<EntityRole, IEntityOptionsRole['fieldsMore']>;
|
|
106
|
+
}
|
|
107
|
+
|
|
76
108
|
export interface IEntityOptionsUser {
|
|
77
109
|
fields?: TypeEntityOptionsFields<EntityUser, IEntityOptionsUser['fieldsMore']>;
|
|
78
110
|
}
|
|
111
|
+
|
|
112
|
+
export interface IEntityOptionsUserRole {
|
|
113
|
+
fields?: TypeEntityOptionsFields<EntityUserRole, IEntityOptionsUserRole['fieldsMore']>;
|
|
114
|
+
}
|
|
79
115
|
}
|
|
80
|
-
/**
|
|
81
|
-
/**
|
|
82
|
-
export * from '../
|
|
116
|
+
/** service: end */
|
|
117
|
+
/** controller: begin */
|
|
118
|
+
export * from '../controller/passport.ts';
|
|
119
|
+
/** meta: end */
|
|
120
|
+
/** dto: begin */
|
|
121
|
+
export * from '../dto/auth.ts';
|
|
122
|
+
export * from '../dto/passport.ts';
|
|
83
123
|
declare module 'vona-module-a-database' {
|
|
84
124
|
|
|
85
125
|
export interface IModelRecord {
|
|
126
|
+
'home-user:role': IDecoratorModelOptions;
|
|
86
127
|
'home-user:user': IDecoratorModelOptions;
|
|
128
|
+
'home-user:userRole': IDecoratorModelOptions;
|
|
87
129
|
}
|
|
88
130
|
|
|
89
131
|
}
|
|
90
132
|
declare module 'vona-module-home-user' {
|
|
91
133
|
|
|
134
|
+
export interface ModelRole {
|
|
135
|
+
/** @internal */
|
|
136
|
+
get scope(): ScopeModuleHomeUser;
|
|
137
|
+
}
|
|
138
|
+
|
|
92
139
|
export interface ModelUser {
|
|
93
140
|
/** @internal */
|
|
94
141
|
get scope(): ScopeModuleHomeUser;
|
|
95
142
|
}
|
|
143
|
+
|
|
144
|
+
export interface ModelUserRole {
|
|
145
|
+
/** @internal */
|
|
146
|
+
get scope(): ScopeModuleHomeUser;
|
|
147
|
+
}
|
|
96
148
|
}
|
|
97
149
|
export interface IModuleModel {
|
|
150
|
+
role: ModelRole;
|
|
98
151
|
user: ModelUser;
|
|
152
|
+
userRole: ModelUserRole;
|
|
99
153
|
}
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
export * from '../
|
|
154
|
+
export * from '../dto/passportJwt.ts';
|
|
155
|
+
/** entity: begin */
|
|
156
|
+
export * from '../entity/role.ts';
|
|
103
157
|
declare module 'vona' {
|
|
104
158
|
|
|
105
159
|
export interface IMetaRecord {
|
|
160
|
+
'home-user:index': IMetaOptionsIndex;
|
|
106
161
|
'home-user:version': never;
|
|
107
162
|
}
|
|
108
163
|
|
|
109
164
|
}
|
|
110
165
|
declare module 'vona-module-home-user' {
|
|
111
166
|
|
|
167
|
+
export interface MetaIndex {
|
|
168
|
+
/** @internal */
|
|
169
|
+
get scope(): ScopeModuleHomeUser;
|
|
170
|
+
}
|
|
171
|
+
|
|
112
172
|
export interface MetaVersion {
|
|
113
173
|
/** @internal */
|
|
114
174
|
get scope(): ScopeModuleHomeUser;
|
|
115
175
|
}
|
|
116
176
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
export * from '../
|
|
177
|
+
export * from '../entity/user.ts';
|
|
178
|
+
export * from '../entity/userRole.ts';
|
|
179
|
+
/** entity: end */
|
|
180
|
+
/** model: begin */
|
|
181
|
+
export * from '../model/role.ts';
|
|
122
182
|
declare module 'vona-module-a-web' {
|
|
123
183
|
|
|
124
184
|
export interface IDtoRecord {
|
|
@@ -145,16 +205,14 @@ declare module 'vona-module-home-user' {
|
|
|
145
205
|
fields?: TypeEntityOptionsFields<DtoPassportJwt, IDtoOptionsPassportJwt['fieldsMore']>;
|
|
146
206
|
}
|
|
147
207
|
}
|
|
148
|
-
/** entity: begin */
|
|
149
|
-
export * from '../entity/user.ts';
|
|
150
|
-
/** entity: end */
|
|
151
|
-
/** model: begin */
|
|
152
208
|
export * from '../model/user.ts';
|
|
209
|
+
export * from '../model/userRole.ts';
|
|
153
210
|
/** dto: end */
|
|
154
211
|
/** service: begin */
|
|
155
212
|
export * from '../service/authInnerAdapter.ts';
|
|
156
213
|
export * from '../service/authTokenAdapter.ts';
|
|
157
214
|
export * from '../service/passportAdapter.ts';
|
|
215
|
+
export * from '../service/redisToken.ts';
|
|
158
216
|
declare module 'vona-module-a-web' {
|
|
159
217
|
|
|
160
218
|
export interface IServiceRecord {
|
|
@@ -162,6 +220,7 @@ declare module 'vona-module-a-web' {
|
|
|
162
220
|
'home-user:authTokenAdapter': never;
|
|
163
221
|
'home-user:passportAdapter': never;
|
|
164
222
|
'home-user:redisToken': never;
|
|
223
|
+
'home-user:roleInnerAdapter': never;
|
|
165
224
|
'home-user:userInnerAdapter': never;
|
|
166
225
|
}
|
|
167
226
|
|
|
@@ -188,6 +247,11 @@ declare module 'vona-module-home-user' {
|
|
|
188
247
|
get scope(): ScopeModuleHomeUser;
|
|
189
248
|
}
|
|
190
249
|
|
|
250
|
+
export interface ServiceRoleInnerAdapter {
|
|
251
|
+
/** @internal */
|
|
252
|
+
get scope(): ScopeModuleHomeUser;
|
|
253
|
+
}
|
|
254
|
+
|
|
191
255
|
export interface ServiceUserInnerAdapter {
|
|
192
256
|
/** @internal */
|
|
193
257
|
get scope(): ScopeModuleHomeUser;
|
|
@@ -198,6 +262,7 @@ export interface IModuleService {
|
|
|
198
262
|
authTokenAdapter: ServiceAuthTokenAdapter;
|
|
199
263
|
passportAdapter: ServicePassportAdapter;
|
|
200
264
|
redisToken: ServiceRedisToken;
|
|
265
|
+
roleInnerAdapter: ServiceRoleInnerAdapter;
|
|
201
266
|
userInnerAdapter: ServiceUserInnerAdapter;
|
|
202
267
|
}
|
|
203
268
|
declare module 'vona' {
|
|
@@ -206,10 +271,11 @@ declare module 'vona' {
|
|
|
206
271
|
'home-user.service.authTokenAdapter': ServiceAuthTokenAdapter;
|
|
207
272
|
'home-user.service.passportAdapter': ServicePassportAdapter;
|
|
208
273
|
'home-user.service.redisToken': ServiceRedisToken;
|
|
274
|
+
'home-user.service.roleInnerAdapter': ServiceRoleInnerAdapter;
|
|
209
275
|
'home-user.service.userInnerAdapter': ServiceUserInnerAdapter;
|
|
210
276
|
}
|
|
211
277
|
}
|
|
212
|
-
export * from '../service/
|
|
278
|
+
export * from '../service/roleInnerAdapter.ts';
|
|
213
279
|
declare module 'vona-module-a-web' {
|
|
214
280
|
|
|
215
281
|
export interface IControllerRecord {
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { IMetaOptionsIndex } from 'vona-module-a-index';
|
|
2
|
+
import { BeanBase } from 'vona';
|
|
3
|
+
import { $tableColumns } from 'vona-module-a-database';
|
|
4
|
+
import { Meta } from 'vona-module-a-meta';
|
|
5
|
+
import { EntityRole } from '../entity/role.ts';
|
|
6
|
+
import { EntityUser } from '../entity/user.ts';
|
|
7
|
+
import { EntityUserRole } from '../entity/userRole.ts';
|
|
8
|
+
|
|
9
|
+
@Meta<IMetaOptionsIndex>({
|
|
10
|
+
indexes: {
|
|
11
|
+
...$tableColumns(() => EntityUser, entity => entity.name),
|
|
12
|
+
...$tableColumns(() => EntityRole, entity => entity.name),
|
|
13
|
+
...$tableColumns(() => EntityUserRole, entity => [entity.userId, entity.roleId]),
|
|
14
|
+
},
|
|
15
|
+
})
|
|
16
|
+
export class MetaIndex extends BeanBase {}
|
|
@@ -6,6 +6,12 @@ import { Meta } from 'vona-module-a-meta';
|
|
|
6
6
|
export class MetaVersion extends BeanBase implements IMetaVersionUpdate, IMetaVersionInit {
|
|
7
7
|
async update(options: IMetaVersionUpdateOptions) {
|
|
8
8
|
if (options.version === 1) {
|
|
9
|
+
// homeRole
|
|
10
|
+
const entityRole = this.scope.entity.role;
|
|
11
|
+
await this.bean.model.createTable(entityRole.$table, table => {
|
|
12
|
+
table.basicFields();
|
|
13
|
+
table.string(entityRole.$column('name'), 255);
|
|
14
|
+
});
|
|
9
15
|
// homeUser
|
|
10
16
|
const entityUser = this.scope.entity.user;
|
|
11
17
|
await this.bean.model.createTable(entityUser.$table, table => {
|
|
@@ -14,17 +20,33 @@ export class MetaVersion extends BeanBase implements IMetaVersionUpdate, IMetaVe
|
|
|
14
20
|
table.string(entityUser.$column('avatar'), 255);
|
|
15
21
|
table.string(entityUser.$column('locale'), 255);
|
|
16
22
|
});
|
|
23
|
+
// homeUserRole
|
|
24
|
+
const entityUserRole = this.scope.entity.userRole;
|
|
25
|
+
await this.bean.model.createTable(entityUserRole.$table, table => {
|
|
26
|
+
table.basicFields();
|
|
27
|
+
table.tableIdentity('userId');
|
|
28
|
+
table.tableIdentity('roleId');
|
|
29
|
+
});
|
|
17
30
|
}
|
|
18
31
|
}
|
|
19
32
|
|
|
20
33
|
async init(options: IMetaVersionInitOptions) {
|
|
21
34
|
if (options.version === 1) {
|
|
22
|
-
// admin
|
|
23
|
-
await this.scope.model.
|
|
35
|
+
// role: admin
|
|
36
|
+
const roleAdmin = await this.scope.model.role.insert({
|
|
37
|
+
name: 'admin',
|
|
38
|
+
});
|
|
39
|
+
// user: admin
|
|
40
|
+
const userAdmin = await this.scope.model.user.insert({
|
|
24
41
|
name: 'admin',
|
|
25
42
|
avatar: ':emoji:flower',
|
|
26
43
|
locale: undefined,
|
|
27
44
|
});
|
|
45
|
+
// userRole: admin
|
|
46
|
+
await this.scope.model.userRole.insert({
|
|
47
|
+
userId: userAdmin.id,
|
|
48
|
+
roleId: roleAdmin.id,
|
|
49
|
+
});
|
|
28
50
|
}
|
|
29
51
|
}
|
|
30
52
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { IAuthenticateOptions, IAuthProviderRecord } from 'vona-module-a-auth';
|
|
2
2
|
import type { IJwtToken } from 'vona-module-a-jwt';
|
|
3
3
|
import type { IDecoratorControllerOptions } from 'vona-module-a-web';
|
|
4
|
+
import type { EntityRole } from '../entity/role.ts';
|
|
4
5
|
import type { EntityUser } from '../entity/user.ts';
|
|
5
6
|
import { BeanBase } from 'vona';
|
|
6
7
|
import { DtoAuthSimple } from 'vona-module-a-authsimple';
|
|
@@ -111,6 +112,7 @@ export class ControllerPassport extends BeanBase {
|
|
|
111
112
|
return {
|
|
112
113
|
user: passport.user as EntityUser,
|
|
113
114
|
auth: { id: passport.auth!.id },
|
|
115
|
+
roles: passport.roles as EntityRole[],
|
|
114
116
|
};
|
|
115
117
|
}
|
|
116
118
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { IDecoratorDtoOptions } from 'vona-module-a-web';
|
|
2
|
-
import { Api } from 'vona-module-a-openapi';
|
|
2
|
+
import { Api, v } from 'vona-module-a-openapi';
|
|
3
3
|
import { Dto } from 'vona-module-a-web';
|
|
4
|
+
import { EntityRole } from 'vona-module-home-user';
|
|
4
5
|
import { EntityUser } from '../entity/user.ts';
|
|
5
6
|
import { DtoAuth } from './auth.ts';
|
|
6
7
|
|
|
@@ -13,4 +14,7 @@ export class DtoPassport {
|
|
|
13
14
|
|
|
14
15
|
@Api.field()
|
|
15
16
|
auth: DtoAuth;
|
|
17
|
+
|
|
18
|
+
@Api.field(v.array(EntityRole))
|
|
19
|
+
roles: EntityRole[];
|
|
16
20
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { IDecoratorEntityOptions } from 'vona-module-a-database';
|
|
2
|
+
import { Entity, EntityBase } from 'vona-module-a-database';
|
|
3
|
+
import { Api } from 'vona-module-a-openapi';
|
|
4
|
+
|
|
5
|
+
export interface IEntityOptionsRole extends IDecoratorEntityOptions {}
|
|
6
|
+
|
|
7
|
+
@Entity<IEntityOptionsRole>('homeRole')
|
|
8
|
+
export class EntityRole extends EntityBase {
|
|
9
|
+
@Api.field()
|
|
10
|
+
name: string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { IDecoratorEntityOptions, TableIdentity } from 'vona-module-a-database';
|
|
2
|
+
import { Entity, EntityBase } from 'vona-module-a-database';
|
|
3
|
+
import { Api, v } from 'vona-module-a-openapi';
|
|
4
|
+
|
|
5
|
+
export interface IEntityOptionsUserRole extends IDecoratorEntityOptions {}
|
|
6
|
+
|
|
7
|
+
@Entity<IEntityOptionsUserRole>('homeUserRole')
|
|
8
|
+
export class EntityUserRole extends EntityBase {
|
|
9
|
+
@Api.field(v.tableIdentity())
|
|
10
|
+
userId: TableIdentity;
|
|
11
|
+
|
|
12
|
+
@Api.field(v.tableIdentity())
|
|
13
|
+
roleId: TableIdentity;
|
|
14
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { TableIdentity } from 'vona-module-a-database';
|
|
2
|
+
import type { IRoleBase } from 'vona-module-a-user';
|
|
3
|
+
import type { IRole } from '../types/role.ts';
|
|
4
|
+
import { cast } from 'vona';
|
|
5
|
+
import { setRoleAdapter } from 'vona-module-a-user';
|
|
6
|
+
|
|
7
|
+
setRoleAdapter({ getRoleId, getRoleName });
|
|
8
|
+
|
|
9
|
+
function getRoleId(role: IRoleBase): TableIdentity {
|
|
10
|
+
return cast<IRole>(role).id;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function getRoleName(role: IRoleBase): string {
|
|
14
|
+
return cast<IRole>(role).name;
|
|
15
|
+
}
|
|
@@ -5,10 +5,10 @@ import { Service } from 'vona-module-a-web';
|
|
|
5
5
|
|
|
6
6
|
@Service()
|
|
7
7
|
export class ServiceAuthInnerAdapter extends BeanBase implements IAuthInnerAdapter {
|
|
8
|
-
async
|
|
8
|
+
async findOne(auth: Partial<IAuth>): Promise<IAuthBase | undefined> {
|
|
9
9
|
const beanFullName = beanFullNameFromOnionName(this.scope.config.adapter.authInner, 'service');
|
|
10
10
|
const beanAuth = this.bean._getBean<IAuthInnerAdapter>(beanFullName as never);
|
|
11
|
-
if (beanAuth) return await beanAuth.
|
|
11
|
+
if (beanAuth) return await beanAuth.findOne(auth);
|
|
12
12
|
return auth as unknown as IAuthBase | undefined;
|
|
13
13
|
}
|
|
14
14
|
}
|
|
@@ -21,10 +21,11 @@ export class ServicePassportAdapter extends BeanBase implements IPassportAdapter
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
async deserialize(payloadData: IPayloadData): Promise<IPassportBase | undefined> {
|
|
24
|
-
const user = await this.bean.userInner.
|
|
24
|
+
const user = await this.bean.userInner.findOne({ id: payloadData.userId });
|
|
25
25
|
if (!user) return;
|
|
26
|
-
const auth = await this.bean.authInner.
|
|
26
|
+
const auth = await this.bean.authInner.findOne({ id: payloadData.authId });
|
|
27
27
|
if (!auth) return;
|
|
28
|
-
|
|
28
|
+
const roles = await this.bean.roleInner.findAllByUserId(payloadData.userId);
|
|
29
|
+
return { user, auth, roles };
|
|
29
30
|
}
|
|
30
31
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { TableIdentity } from 'table-identity';
|
|
2
|
+
import type { IRoleBase, IRoleInnerAdapter } from 'vona-module-a-user';
|
|
3
|
+
import type { IRole } from '../types/role.ts';
|
|
4
|
+
import { BeanBase } from 'vona';
|
|
5
|
+
import { Service } from 'vona-module-a-web';
|
|
6
|
+
|
|
7
|
+
@Service()
|
|
8
|
+
export class ServiceRoleInnerAdapter extends BeanBase implements IRoleInnerAdapter {
|
|
9
|
+
async findOneByName(name: string): Promise<IRoleBase | undefined> {
|
|
10
|
+
return await this.findOne({ name });
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
async findOne(role: Partial<IRole>): Promise<IRoleBase | undefined> {
|
|
14
|
+
return await this.scope.model.role.get(role);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
async findAllByUserId(userId: TableIdentity): Promise<IRoleBase[]> {
|
|
18
|
+
const userRoles = await this.scope.model.userRole.select({ where: { userId } });
|
|
19
|
+
return await this.scope.model.role.select({ where: { id: userRoles.map(item => item.roleId) } });
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -17,11 +17,11 @@ export class ServiceUserInnerAdapter extends BeanBase implements IUserInnerAdapt
|
|
|
17
17
|
return { id: -1, name: 'anonymous', avatar: undefined, locale: undefined } as IUserBase;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
async
|
|
21
|
-
return await this.
|
|
20
|
+
async findOneByName(name: string): Promise<IUserBase | undefined> {
|
|
21
|
+
return await this.findOne({ name });
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
async
|
|
24
|
+
async findOne(user: Partial<IUser>): Promise<IUserBase | undefined> {
|
|
25
25
|
return await this.scope.model.user.get(user);
|
|
26
26
|
}
|
|
27
27
|
|
|
@@ -29,7 +29,7 @@ export class ServiceUserInnerAdapter extends BeanBase implements IUserInnerAdapt
|
|
|
29
29
|
await this.scope.model.user.update(user);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
async
|
|
32
|
+
async remove(user: Partial<IUser>): Promise<void> {
|
|
33
33
|
await this.scope.model.user.delete(user);
|
|
34
34
|
}
|
|
35
35
|
}
|
|
@@ -2,7 +2,13 @@
|
|
|
2
2
|
"extends": "../../tsconfig.base",
|
|
3
3
|
"compilerOptions": {
|
|
4
4
|
"rootDir": "src",
|
|
5
|
+
"declaration": true,
|
|
6
|
+
"emitDeclarationOnly": true,
|
|
5
7
|
"outDir": "dist"
|
|
6
8
|
},
|
|
7
|
-
"include": [
|
|
9
|
+
"include": [
|
|
10
|
+
"src",
|
|
11
|
+
"src/.metadata/*.ts",
|
|
12
|
+
"src/**/*.json"
|
|
13
|
+
]
|
|
8
14
|
}
|