vona-cli-set-api 1.0.111 → 1.0.115
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/.vscode/vona.code-snippets +72 -0
- package/cli/templates/create/project/basic/boilerplate/env/.env +1 -1
- 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 +8 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-base/src/.metadata/index.ts +12 -2
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-base/tsconfig.build.tsbuildinfo +1 -1
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-index/dist/.metadata/index.d.ts +8 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-index/src/.metadata/index.ts +12 -2
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-index/tsconfig.build.tsbuildinfo +1 -1
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/.metadata/index.d.ts +182 -38
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/config/locale/en-us.d.ts +9 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/config/locale/zh-cn.d.ts +9 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/controller/passport.d.ts +1 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/dto/auth.d.ts +1 -1
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/entity/role.d.ts +3 -2
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/entity/roleUser.d.ts +8 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/entity/user.d.ts +3 -2
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/entity/userRole.d.ts +2 -2
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/model/role.d.ts +4 -1
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/model/roleUser.d.ts +7 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/model/user.d.ts +4 -1
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/model/userRole.d.ts +4 -1
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/service/roleInnerAdapter.d.ts +1 -1
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/dist/types/passport.d.ts +1 -1
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/.metadata/index.ts +188 -44
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/bean/meta.index.ts +5 -5
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/bean/meta.version.ts +10 -8
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/config/locale/en-us.ts +8 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/config/locale/zh-cn.ts +8 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/controller/passport.ts +6 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/dto/auth.ts +1 -1
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/entity/role.ts +6 -5
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/entity/roleUser.ts +14 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/entity/user.ts +7 -6
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/lib/authAdapter.ts +1 -1
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/lib/roleAdapter.ts +1 -1
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/lib/userAdapter.ts +1 -1
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/model/role.ts +5 -2
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/model/roleUser.ts +8 -0
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/model/user.ts +12 -2
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/service/roleInnerAdapter.ts +3 -3
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/types/passport.ts +1 -1
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/tsconfig.build.tsbuildinfo +1 -1
- package/cli/templates/init/lib/boilerplate/lib/index.ts +1 -0
- package/cli/templates/init/types/boilerplate/types/index.ts +1 -0
- package/cli/templates/tools/crud/boilerplate/src/controller/{{resourceName}}.ts_ +1 -1
- package/cli/templates/tools/crud/boilerplate/src/dto/{{resourceName}}Create.ts_ +3 -3
- package/cli/templates/tools/crud/boilerplate/src/dto/{{resourceName}}Update.ts_ +3 -3
- package/cli/templates/tools/crud/boilerplate/src/entity/{{resourceName}}.ts_ +4 -4
- package/cli/templates/tools/crud/boilerplate/src/model/{{resourceName}}.ts_ +5 -2
- package/cli/templates/tools/crud/boilerplate/src/service/{{resourceName}}.ts_ +1 -1
- package/cli/templates/tools/crud/snippets/2-meta.index.ts +2 -5
- package/cli/templates/tools/crud/snippets/2-meta.version.ts +3 -2
- package/dist/lib/bean/cli.init.lib.d.ts +8 -0
- package/dist/lib/bean/cli.init.lib.js +36 -0
- package/dist/lib/bean/cli.init.types.d.ts +8 -0
- package/dist/lib/bean/cli.init.types.js +36 -0
- package/dist/lib/bean/cli.tools.metadata.d.ts +1 -0
- package/dist/lib/bean/cli.tools.metadata.js +43 -20
- package/dist/lib/bean/toolsMetadata/generateOnions.js +10 -1
- package/dist/lib/bean/toolsMetadata/utils.js +2 -0
- package/dist/lib/beans.d.ts +4 -0
- package/dist/lib/beans.js +4 -0
- package/dist/lib/command/init.lib.d.ts +9 -0
- package/dist/lib/command/init.lib.js +10 -0
- package/dist/lib/command/init.types.d.ts +9 -0
- package/dist/lib/command/init.types.js +10 -0
- package/dist/lib/commands.d.ts +16 -0
- package/dist/lib/commands.js +4 -0
- package/package.json +5 -5
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/entity/userRole.ts +0 -14
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/model/userRole.ts +0 -5
- package/dist/lib/bean/toolsMetadata/generateBeans.d.ts +0 -2
- package/dist/lib/bean/toolsMetadata/generateBeans.js +0 -72
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
|
-
import type {
|
|
3
|
-
import type { TypeControllerOptionsActions } from 'vona-module-a-openapi';
|
|
4
|
-
import type { TypeEntityOptionsFields } from 'vona-module-a-openapi';
|
|
2
|
+
import type { TypeEntityMeta,TypeModelsClassLikeGeneral,TypeSymbolKeyFieldsMore,IModelRelationBelongsToMany } from 'vona-module-a-orm';
|
|
3
|
+
import type { TypeEntityOptionsFields,TypeControllerOptionsActions } from 'vona-module-a-openapi';
|
|
5
4
|
/** entity: begin */
|
|
6
5
|
export * from '../entity/role.ts';
|
|
6
|
+
export * from '../entity/roleUser.ts';
|
|
7
7
|
export * from '../entity/user.ts';
|
|
8
|
-
export * from '../entity/userRole.ts';
|
|
9
8
|
import type { IEntityOptionsRole } from '../entity/role.ts';
|
|
9
|
+
import type { IEntityOptionsRoleUser } from '../entity/roleUser.ts';
|
|
10
10
|
import type { IEntityOptionsUser } from '../entity/user.ts';
|
|
11
|
-
import type { IEntityOptionsUserRole } from '../entity/userRole.ts';
|
|
12
11
|
import 'vona';
|
|
13
|
-
declare module 'vona-module-a-
|
|
12
|
+
declare module 'vona-module-a-orm' {
|
|
14
13
|
|
|
15
14
|
export interface IEntityRecord {
|
|
16
|
-
'home-user:role':
|
|
17
|
-
'home-user:
|
|
18
|
-
'home-user:
|
|
15
|
+
'home-user:role': IEntityOptionsRole;
|
|
16
|
+
'home-user:roleUser': IEntityOptionsRoleUser;
|
|
17
|
+
'home-user:user': IEntityOptionsUser;
|
|
19
18
|
}
|
|
20
19
|
|
|
21
20
|
|
|
@@ -26,52 +25,57 @@ declare module 'vona-module-home-user' {
|
|
|
26
25
|
/** entity: end */
|
|
27
26
|
/** entity: begin */
|
|
28
27
|
import type { EntityRole } from '../entity/role.ts';
|
|
28
|
+
import type { EntityRoleUser } from '../entity/roleUser.ts';
|
|
29
29
|
import type { EntityUser } from '../entity/user.ts';
|
|
30
|
-
import type { EntityUserRole } from '../entity/userRole.ts';
|
|
31
30
|
export interface IModuleEntity {
|
|
32
|
-
'role':
|
|
33
|
-
'
|
|
34
|
-
'
|
|
31
|
+
'role': EntityRoleMeta;
|
|
32
|
+
'roleUser': EntityRoleUserMeta;
|
|
33
|
+
'user': EntityUserMeta;
|
|
35
34
|
}
|
|
36
35
|
/** entity: end */
|
|
37
36
|
/** entity: begin */
|
|
38
37
|
export type EntityRoleTableName = 'homeRole';
|
|
38
|
+
export type EntityRoleUserTableName = 'homeRoleUser';
|
|
39
39
|
export type EntityUserTableName = 'homeUser';
|
|
40
|
-
export type
|
|
41
|
-
|
|
40
|
+
export type EntityRoleMeta=TypeEntityMeta<EntityRole,EntityRoleTableName>;
|
|
41
|
+
export type EntityRoleUserMeta=TypeEntityMeta<EntityRoleUser,EntityRoleUserTableName>;
|
|
42
|
+
export type EntityUserMeta=TypeEntityMeta<EntityUser,EntityUserTableName>;
|
|
43
|
+
declare module 'vona-module-a-orm' {
|
|
42
44
|
export interface ITableRecord {
|
|
43
45
|
'homeRole': never;
|
|
46
|
+
'homeRoleUser': never;
|
|
44
47
|
'homeUser': never;
|
|
45
|
-
'homeUserRole': never;
|
|
46
48
|
}
|
|
47
49
|
}
|
|
48
50
|
declare module 'vona-module-home-user' {
|
|
49
51
|
|
|
50
52
|
export interface IEntityOptionsRole {
|
|
51
|
-
fields?: TypeEntityOptionsFields<EntityRole, IEntityOptionsRole[
|
|
53
|
+
fields?: TypeEntityOptionsFields<EntityRole, IEntityOptionsRole[TypeSymbolKeyFieldsMore]>;
|
|
52
54
|
}
|
|
53
55
|
|
|
54
|
-
export interface
|
|
55
|
-
fields?: TypeEntityOptionsFields<
|
|
56
|
+
export interface IEntityOptionsRoleUser {
|
|
57
|
+
fields?: TypeEntityOptionsFields<EntityRoleUser, IEntityOptionsRoleUser[TypeSymbolKeyFieldsMore]>;
|
|
56
58
|
}
|
|
57
59
|
|
|
58
|
-
export interface
|
|
59
|
-
fields?: TypeEntityOptionsFields<
|
|
60
|
+
export interface IEntityOptionsUser {
|
|
61
|
+
fields?: TypeEntityOptionsFields<EntityUser, IEntityOptionsUser[TypeSymbolKeyFieldsMore]>;
|
|
60
62
|
}
|
|
61
63
|
}
|
|
62
64
|
/** entity: end */
|
|
63
65
|
/** model: begin */
|
|
64
66
|
export * from '../model/role.ts';
|
|
67
|
+
export * from '../model/roleUser.ts';
|
|
65
68
|
export * from '../model/user.ts';
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
import {
|
|
69
|
-
|
|
69
|
+
import type { IModelOptionsRole } from '../model/role.ts';
|
|
70
|
+
import type { IModelOptionsRoleUser } from '../model/roleUser.ts';
|
|
71
|
+
import type { IModelOptionsUser } from '../model/user.ts';
|
|
72
|
+
import 'vona';
|
|
73
|
+
declare module 'vona-module-a-orm' {
|
|
70
74
|
|
|
71
75
|
export interface IModelRecord {
|
|
72
|
-
'home-user:role':
|
|
73
|
-
'home-user:
|
|
74
|
-
'home-user:
|
|
76
|
+
'home-user:role': IModelOptionsRole;
|
|
77
|
+
'home-user:roleUser': IModelOptionsRoleUser;
|
|
78
|
+
'home-user:user': IModelOptionsUser;
|
|
75
79
|
}
|
|
76
80
|
|
|
77
81
|
|
|
@@ -83,25 +87,115 @@ declare module 'vona-module-home-user' {
|
|
|
83
87
|
get scope(): ScopeModuleHomeUser;
|
|
84
88
|
}
|
|
85
89
|
|
|
86
|
-
|
|
90
|
+
export interface ModelRole {
|
|
91
|
+
get $beanFullName(): 'home-user.model.role';
|
|
92
|
+
get $onionName(): 'home-user:role';
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export interface ModelRoleUser {
|
|
87
96
|
/** @internal */
|
|
88
97
|
get scope(): ScopeModuleHomeUser;
|
|
89
98
|
}
|
|
90
99
|
|
|
91
|
-
|
|
100
|
+
export interface ModelRoleUser {
|
|
101
|
+
get $beanFullName(): 'home-user.model.roleUser';
|
|
102
|
+
get $onionName(): 'home-user:roleUser';
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export interface ModelUser {
|
|
92
106
|
/** @internal */
|
|
93
107
|
get scope(): ScopeModuleHomeUser;
|
|
94
|
-
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export interface ModelUser {
|
|
111
|
+
get $beanFullName(): 'home-user.model.user';
|
|
112
|
+
get $onionName(): 'home-user:user';
|
|
113
|
+
}
|
|
95
114
|
}
|
|
96
115
|
/** model: end */
|
|
97
116
|
/** model: begin */
|
|
98
117
|
import type { ModelRole } from '../model/role.ts';
|
|
118
|
+
import type { ModelRoleUser } from '../model/roleUser.ts';
|
|
99
119
|
import type { ModelUser } from '../model/user.ts';
|
|
100
|
-
import type { ModelUserRole } from '../model/userRole.ts';
|
|
101
120
|
export interface IModuleModel {
|
|
102
121
|
'role': ModelRole;
|
|
122
|
+
'roleUser': ModelRoleUser;
|
|
103
123
|
'user': ModelUser;
|
|
104
|
-
|
|
124
|
+
}
|
|
125
|
+
/** model: end */
|
|
126
|
+
/** model: begin */
|
|
127
|
+
import type { IModelGetOptions, IModelMethodOptions, IModelSelectParams, TableIdentity, TypeModelRelationResult, TypeModelWhere, IModelInsertOptions, TypeModelMutateRelationData, IModelDeleteOptions, IModelUpdateOptions, IModelMutateOptions, IModelSelectCountParams, IModelSelectAggrParams, TypeModelAggrRelationResult, IModelSelectGroupParams, TypeModelGroupRelationResult } from 'vona-module-a-orm';
|
|
128
|
+
import { SymbolKeyEntity, SymbolKeyEntityMeta, SymbolKeyModelOptions } from 'vona-module-a-orm';
|
|
129
|
+
declare module 'vona-module-home-user' {
|
|
130
|
+
export interface IModelOptionsUser {
|
|
131
|
+
relations: {
|
|
132
|
+
roles: IModelRelationBelongsToMany<ModelRoleUser, ModelRole, false, 'id'|'name',undefined,undefined,undefined>;
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
export interface ModelRole {
|
|
136
|
+
[SymbolKeyEntity]: EntityRole;
|
|
137
|
+
[SymbolKeyEntityMeta]: EntityRoleMeta;
|
|
138
|
+
[SymbolKeyModelOptions]: IModelOptionsRole;
|
|
139
|
+
get<T extends IModelGetOptions<EntityRole,ModelRole>>(where: TypeModelWhere<EntityRole>, options?: T): Promise<TypeModelRelationResult<EntityRole, ModelRole, T> | undefined>;
|
|
140
|
+
mget<T extends IModelGetOptions<EntityRole,ModelRole>>(ids: TableIdentity[], options?: T): Promise<TypeModelRelationResult<EntityRole, ModelRole, T>[]>;
|
|
141
|
+
select<T extends IModelSelectParams<EntityRole,ModelRole,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelRelationResult<EntityRole, ModelRole, T>[]>;
|
|
142
|
+
insert<T extends IModelInsertOptions<EntityRole,ModelRole>>(data?: TypeModelMutateRelationData<EntityRole,ModelRole, T>, options?: T): Promise<Required<TypeModelMutateRelationData<EntityRole,ModelRole, T>>>;
|
|
143
|
+
insertBulk<T extends IModelInsertOptions<EntityRole,ModelRole>>(items: TypeModelMutateRelationData<EntityRole,ModelRole, T>[], options?: T): Promise<Required<TypeModelMutateRelationData<EntityRole,ModelRole, T>>[]>;
|
|
144
|
+
update<T extends IModelUpdateOptions<EntityRole,ModelRole>>(data: TypeModelMutateRelationData<EntityRole,ModelRole, T>, options?: T): Promise<TypeModelMutateRelationData<EntityRole,ModelRole, T>>;
|
|
145
|
+
updateBulk<T extends IModelUpdateOptions<EntityRole,ModelRole>>(items: TypeModelMutateRelationData<EntityRole,ModelRole, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityRole,ModelRole, T>[]>;
|
|
146
|
+
delete<T extends IModelDeleteOptions<EntityRole,ModelRole>>(where?: TypeModelWhere<EntityRole>, options?: T): Promise<void>;
|
|
147
|
+
deleteBulk<T extends IModelDeleteOptions<EntityRole,ModelRole>>(ids: TableIdentity[], options?: T): Promise<void>;
|
|
148
|
+
mutate<T extends IModelMutateOptions<EntityRole,ModelRole>>(data?: TypeModelMutateRelationData<EntityRole,ModelRole, T>, options?: T): Promise<TypeModelMutateRelationData<EntityRole,ModelRole, T>>;
|
|
149
|
+
mutateBulk<T extends IModelMutateOptions<EntityRole,ModelRole>>(items: TypeModelMutateRelationData<EntityRole,ModelRole, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityRole,ModelRole, T>[]>;
|
|
150
|
+
count<T extends IModelSelectCountParams<EntityRole,ModelRole,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<BigNumber | undefined>;
|
|
151
|
+
aggregate<T extends IModelSelectAggrParams<EntityRole,ModelRole,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelAggrRelationResult<T>>;
|
|
152
|
+
group<T extends IModelSelectGroupParams<EntityRole,ModelRole,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelGroupRelationResult<EntityRole, T>[]>;
|
|
153
|
+
}
|
|
154
|
+
export interface ModelRoleUser {
|
|
155
|
+
[SymbolKeyEntity]: EntityRoleUser;
|
|
156
|
+
[SymbolKeyEntityMeta]: EntityRoleUserMeta;
|
|
157
|
+
[SymbolKeyModelOptions]: IModelOptionsRoleUser;
|
|
158
|
+
get<T extends IModelGetOptions<EntityRoleUser,ModelRoleUser>>(where: TypeModelWhere<EntityRoleUser>, options?: T): Promise<TypeModelRelationResult<EntityRoleUser, ModelRoleUser, T> | undefined>;
|
|
159
|
+
mget<T extends IModelGetOptions<EntityRoleUser,ModelRoleUser>>(ids: TableIdentity[], options?: T): Promise<TypeModelRelationResult<EntityRoleUser, ModelRoleUser, T>[]>;
|
|
160
|
+
select<T extends IModelSelectParams<EntityRoleUser,ModelRoleUser,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelRelationResult<EntityRoleUser, ModelRoleUser, T>[]>;
|
|
161
|
+
insert<T extends IModelInsertOptions<EntityRoleUser,ModelRoleUser>>(data?: TypeModelMutateRelationData<EntityRoleUser,ModelRoleUser, T>, options?: T): Promise<Required<TypeModelMutateRelationData<EntityRoleUser,ModelRoleUser, T>>>;
|
|
162
|
+
insertBulk<T extends IModelInsertOptions<EntityRoleUser,ModelRoleUser>>(items: TypeModelMutateRelationData<EntityRoleUser,ModelRoleUser, T>[], options?: T): Promise<Required<TypeModelMutateRelationData<EntityRoleUser,ModelRoleUser, T>>[]>;
|
|
163
|
+
update<T extends IModelUpdateOptions<EntityRoleUser,ModelRoleUser>>(data: TypeModelMutateRelationData<EntityRoleUser,ModelRoleUser, T>, options?: T): Promise<TypeModelMutateRelationData<EntityRoleUser,ModelRoleUser, T>>;
|
|
164
|
+
updateBulk<T extends IModelUpdateOptions<EntityRoleUser,ModelRoleUser>>(items: TypeModelMutateRelationData<EntityRoleUser,ModelRoleUser, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityRoleUser,ModelRoleUser, T>[]>;
|
|
165
|
+
delete<T extends IModelDeleteOptions<EntityRoleUser,ModelRoleUser>>(where?: TypeModelWhere<EntityRoleUser>, options?: T): Promise<void>;
|
|
166
|
+
deleteBulk<T extends IModelDeleteOptions<EntityRoleUser,ModelRoleUser>>(ids: TableIdentity[], options?: T): Promise<void>;
|
|
167
|
+
mutate<T extends IModelMutateOptions<EntityRoleUser,ModelRoleUser>>(data?: TypeModelMutateRelationData<EntityRoleUser,ModelRoleUser, T>, options?: T): Promise<TypeModelMutateRelationData<EntityRoleUser,ModelRoleUser, T>>;
|
|
168
|
+
mutateBulk<T extends IModelMutateOptions<EntityRoleUser,ModelRoleUser>>(items: TypeModelMutateRelationData<EntityRoleUser,ModelRoleUser, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityRoleUser,ModelRoleUser, T>[]>;
|
|
169
|
+
count<T extends IModelSelectCountParams<EntityRoleUser,ModelRoleUser,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<BigNumber | undefined>;
|
|
170
|
+
aggregate<T extends IModelSelectAggrParams<EntityRoleUser,ModelRoleUser,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelAggrRelationResult<T>>;
|
|
171
|
+
group<T extends IModelSelectGroupParams<EntityRoleUser,ModelRoleUser,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelGroupRelationResult<EntityRoleUser, T>[]>;
|
|
172
|
+
}
|
|
173
|
+
export interface ModelUser {
|
|
174
|
+
[SymbolKeyEntity]: EntityUser;
|
|
175
|
+
[SymbolKeyEntityMeta]: EntityUserMeta;
|
|
176
|
+
[SymbolKeyModelOptions]: IModelOptionsUser;
|
|
177
|
+
get<T extends IModelGetOptions<EntityUser,ModelUser>>(where: TypeModelWhere<EntityUser>, options?: T): Promise<TypeModelRelationResult<EntityUser, ModelUser, T> | undefined>;
|
|
178
|
+
mget<T extends IModelGetOptions<EntityUser,ModelUser>>(ids: TableIdentity[], options?: T): Promise<TypeModelRelationResult<EntityUser, ModelUser, T>[]>;
|
|
179
|
+
select<T extends IModelSelectParams<EntityUser,ModelUser,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelRelationResult<EntityUser, ModelUser, T>[]>;
|
|
180
|
+
insert<T extends IModelInsertOptions<EntityUser,ModelUser>>(data?: TypeModelMutateRelationData<EntityUser,ModelUser, T>, options?: T): Promise<Required<TypeModelMutateRelationData<EntityUser,ModelUser, T>>>;
|
|
181
|
+
insertBulk<T extends IModelInsertOptions<EntityUser,ModelUser>>(items: TypeModelMutateRelationData<EntityUser,ModelUser, T>[], options?: T): Promise<Required<TypeModelMutateRelationData<EntityUser,ModelUser, T>>[]>;
|
|
182
|
+
update<T extends IModelUpdateOptions<EntityUser,ModelUser>>(data: TypeModelMutateRelationData<EntityUser,ModelUser, T>, options?: T): Promise<TypeModelMutateRelationData<EntityUser,ModelUser, T>>;
|
|
183
|
+
updateBulk<T extends IModelUpdateOptions<EntityUser,ModelUser>>(items: TypeModelMutateRelationData<EntityUser,ModelUser, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityUser,ModelUser, T>[]>;
|
|
184
|
+
delete<T extends IModelDeleteOptions<EntityUser,ModelUser>>(where?: TypeModelWhere<EntityUser>, options?: T): Promise<void>;
|
|
185
|
+
deleteBulk<T extends IModelDeleteOptions<EntityUser,ModelUser>>(ids: TableIdentity[], options?: T): Promise<void>;
|
|
186
|
+
mutate<T extends IModelMutateOptions<EntityUser,ModelUser>>(data?: TypeModelMutateRelationData<EntityUser,ModelUser, T>, options?: T): Promise<TypeModelMutateRelationData<EntityUser,ModelUser, T>>;
|
|
187
|
+
mutateBulk<T extends IModelMutateOptions<EntityUser,ModelUser>>(items: TypeModelMutateRelationData<EntityUser,ModelUser, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityUser,ModelUser, T>[]>;
|
|
188
|
+
count<T extends IModelSelectCountParams<EntityUser,ModelUser,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<BigNumber | undefined>;
|
|
189
|
+
aggregate<T extends IModelSelectAggrParams<EntityUser,ModelUser,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelAggrRelationResult<T>>;
|
|
190
|
+
group<T extends IModelSelectGroupParams<EntityUser,ModelUser,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelGroupRelationResult<EntityUser, T>[]>;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
declare module 'vona-module-a-orm' {
|
|
194
|
+
export interface IModelClassRecord {
|
|
195
|
+
'home-user:role': ModelRole;
|
|
196
|
+
'home-user:roleUser': ModelRoleUser;
|
|
197
|
+
'home-user:user': ModelUser;
|
|
198
|
+
}
|
|
105
199
|
}
|
|
106
200
|
/** model: end */
|
|
107
201
|
/** service: begin */
|
|
@@ -129,20 +223,40 @@ declare module 'vona-module-home-user' {
|
|
|
129
223
|
get scope(): ScopeModuleHomeUser;
|
|
130
224
|
}
|
|
131
225
|
|
|
226
|
+
export interface ServiceAuthInnerAdapter {
|
|
227
|
+
get $beanFullName(): 'home-user.service.authInnerAdapter';
|
|
228
|
+
get $onionName(): 'home-user:authInnerAdapter';
|
|
229
|
+
}
|
|
230
|
+
|
|
132
231
|
export interface ServicePassportAdapter {
|
|
133
232
|
/** @internal */
|
|
134
233
|
get scope(): ScopeModuleHomeUser;
|
|
135
234
|
}
|
|
136
235
|
|
|
236
|
+
export interface ServicePassportAdapter {
|
|
237
|
+
get $beanFullName(): 'home-user.service.passportAdapter';
|
|
238
|
+
get $onionName(): 'home-user:passportAdapter';
|
|
239
|
+
}
|
|
240
|
+
|
|
137
241
|
export interface ServiceRoleInnerAdapter {
|
|
138
242
|
/** @internal */
|
|
139
243
|
get scope(): ScopeModuleHomeUser;
|
|
140
244
|
}
|
|
141
245
|
|
|
246
|
+
export interface ServiceRoleInnerAdapter {
|
|
247
|
+
get $beanFullName(): 'home-user.service.roleInnerAdapter';
|
|
248
|
+
get $onionName(): 'home-user:roleInnerAdapter';
|
|
249
|
+
}
|
|
250
|
+
|
|
142
251
|
export interface ServiceUserInnerAdapter {
|
|
143
252
|
/** @internal */
|
|
144
253
|
get scope(): ScopeModuleHomeUser;
|
|
145
|
-
}
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
export interface ServiceUserInnerAdapter {
|
|
257
|
+
get $beanFullName(): 'home-user.service.userInnerAdapter';
|
|
258
|
+
get $onionName(): 'home-user:userInnerAdapter';
|
|
259
|
+
}
|
|
146
260
|
}
|
|
147
261
|
/** service: end */
|
|
148
262
|
/** service: begin */
|
|
@@ -190,10 +304,20 @@ declare module 'vona-module-home-user' {
|
|
|
190
304
|
get scope(): ScopeModuleHomeUser;
|
|
191
305
|
}
|
|
192
306
|
|
|
307
|
+
export interface MetaIndex {
|
|
308
|
+
get $beanFullName(): 'home-user.meta.index';
|
|
309
|
+
get $onionName(): 'home-user:index';
|
|
310
|
+
}
|
|
311
|
+
|
|
193
312
|
export interface MetaVersion {
|
|
194
313
|
/** @internal */
|
|
195
314
|
get scope(): ScopeModuleHomeUser;
|
|
196
|
-
}
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
export interface MetaVersion {
|
|
318
|
+
get $beanFullName(): 'home-user.meta.version';
|
|
319
|
+
get $onionName(): 'home-user:version';
|
|
320
|
+
}
|
|
197
321
|
}
|
|
198
322
|
/** meta: end */
|
|
199
323
|
/** dto: begin */
|
|
@@ -207,9 +331,9 @@ import 'vona';
|
|
|
207
331
|
declare module 'vona-module-a-web' {
|
|
208
332
|
|
|
209
333
|
export interface IDtoRecord {
|
|
210
|
-
'home-user:auth':
|
|
211
|
-
'home-user:passport':
|
|
212
|
-
'home-user:passportJwt':
|
|
334
|
+
'home-user:auth': IDtoOptionsAuth;
|
|
335
|
+
'home-user:passport': IDtoOptionsPassport;
|
|
336
|
+
'home-user:passportJwt': IDtoOptionsPassportJwt;
|
|
213
337
|
}
|
|
214
338
|
|
|
215
339
|
|
|
@@ -225,15 +349,15 @@ import type { DtoPassportJwt } from '../dto/passportJwt.ts';
|
|
|
225
349
|
declare module 'vona-module-home-user' {
|
|
226
350
|
|
|
227
351
|
export interface IDtoOptionsAuth {
|
|
228
|
-
fields?: TypeEntityOptionsFields<DtoAuth, IDtoOptionsAuth[
|
|
352
|
+
fields?: TypeEntityOptionsFields<DtoAuth, IDtoOptionsAuth[TypeSymbolKeyFieldsMore]>;
|
|
229
353
|
}
|
|
230
354
|
|
|
231
355
|
export interface IDtoOptionsPassport {
|
|
232
|
-
fields?: TypeEntityOptionsFields<DtoPassport, IDtoOptionsPassport[
|
|
356
|
+
fields?: TypeEntityOptionsFields<DtoPassport, IDtoOptionsPassport[TypeSymbolKeyFieldsMore]>;
|
|
233
357
|
}
|
|
234
358
|
|
|
235
359
|
export interface IDtoOptionsPassportJwt {
|
|
236
|
-
fields?: TypeEntityOptionsFields<DtoPassportJwt, IDtoOptionsPassportJwt[
|
|
360
|
+
fields?: TypeEntityOptionsFields<DtoPassportJwt, IDtoOptionsPassportJwt[TypeSymbolKeyFieldsMore]>;
|
|
237
361
|
}
|
|
238
362
|
}
|
|
239
363
|
/** dto: end */
|
|
@@ -254,7 +378,12 @@ declare module 'vona-module-home-user' {
|
|
|
254
378
|
export interface ControllerPassport {
|
|
255
379
|
/** @internal */
|
|
256
380
|
get scope(): ScopeModuleHomeUser;
|
|
257
|
-
}
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
export interface ControllerPassport {
|
|
384
|
+
get $beanFullName(): 'home-user.controller.passport';
|
|
385
|
+
get $onionName(): 'home-user:passport';
|
|
386
|
+
}
|
|
258
387
|
}
|
|
259
388
|
/** controller: end */
|
|
260
389
|
/** controller: begin */
|
|
@@ -278,6 +407,7 @@ export interface IApiPathPostRecord{
|
|
|
278
407
|
'/home/user/passport/login': undefined;
|
|
279
408
|
'/home/user/passport/refreshAuthToken': undefined;
|
|
280
409
|
'/home/user/passport/createPassportJwtFromOauthCode': undefined;
|
|
410
|
+
'/home/user/passport/createTempAuthToken': undefined;
|
|
281
411
|
}
|
|
282
412
|
|
|
283
413
|
}
|
|
@@ -286,8 +416,16 @@ export interface IApiPathPostRecord{
|
|
|
286
416
|
export * from '../config/config.ts';
|
|
287
417
|
import type { config } from '../config/config.ts';
|
|
288
418
|
/** config: end */
|
|
419
|
+
/** locale: begin */
|
|
420
|
+
import locale_en_us from '../config/locale/en-us.ts';
|
|
421
|
+
import locale_zh_cn from '../config/locale/zh-cn.ts';
|
|
422
|
+
export const locales = {
|
|
423
|
+
'en-us': locale_en_us,
|
|
424
|
+
'zh-cn': locale_zh_cn,
|
|
425
|
+
};
|
|
426
|
+
/** locale: end */
|
|
289
427
|
/** scope: begin */
|
|
290
|
-
import { BeanScopeBase, type BeanScopeUtil, type TypeModuleConfig } from 'vona';
|
|
428
|
+
import { BeanScopeBase, type BeanScopeUtil, type TypeModuleConfig, type TypeModuleLocales, type TypeLocaleBase } from 'vona';
|
|
291
429
|
import { Scope } from 'vona-module-a-bean';
|
|
292
430
|
|
|
293
431
|
@Scope()
|
|
@@ -296,6 +434,7 @@ export class ScopeModuleHomeUser extends BeanScopeBase {}
|
|
|
296
434
|
export interface ScopeModuleHomeUser {
|
|
297
435
|
util: BeanScopeUtil;
|
|
298
436
|
config: TypeModuleConfig<typeof config>;
|
|
437
|
+
locale: TypeModuleLocales<(typeof locales)[TypeLocaleBase]>;
|
|
299
438
|
entity: IModuleEntity;
|
|
300
439
|
model: IModuleModel;
|
|
301
440
|
service: IModuleService;
|
|
@@ -315,7 +454,12 @@ declare module 'vona' {
|
|
|
315
454
|
'home-user': ReturnType<typeof config>;
|
|
316
455
|
}
|
|
317
456
|
|
|
318
|
-
|
|
457
|
+
export interface IBeanScopeLocale {
|
|
458
|
+
'home-user': (typeof locales)[TypeLocaleBase];
|
|
459
|
+
}
|
|
319
460
|
}
|
|
320
461
|
|
|
462
|
+
export function $locale<K extends keyof (typeof locales)[TypeLocaleBase]>(key: K): `home-user::${K}` {
|
|
463
|
+
return `home-user::${key}`;
|
|
464
|
+
}
|
|
321
465
|
/** scope: end */
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import type { IMetaOptionsIndex } from 'vona-module-a-index';
|
|
2
2
|
import { BeanBase } from 'vona';
|
|
3
|
-
import { $tableColumns } from 'vona-module-a-database';
|
|
4
3
|
import { Meta } from 'vona-module-a-meta';
|
|
4
|
+
import { $tableColumns } from 'vona-module-a-orm';
|
|
5
5
|
import { EntityRole } from '../entity/role.ts';
|
|
6
|
+
import { EntityRoleUser } from '../entity/roleUser.ts';
|
|
6
7
|
import { EntityUser } from '../entity/user.ts';
|
|
7
|
-
import { EntityUserRole } from '../entity/userRole.ts';
|
|
8
8
|
|
|
9
9
|
@Meta<IMetaOptionsIndex>({
|
|
10
10
|
indexes: {
|
|
11
|
-
...$tableColumns(() => EntityUser,
|
|
12
|
-
...$tableColumns(() => EntityRole,
|
|
13
|
-
...$tableColumns(() =>
|
|
11
|
+
...$tableColumns(() => EntityUser, 'name'),
|
|
12
|
+
...$tableColumns(() => EntityRole, 'name'),
|
|
13
|
+
...$tableColumns(() => EntityRoleUser, ['userId', 'roleId']),
|
|
14
14
|
},
|
|
15
15
|
})
|
|
16
16
|
export class MetaIndex extends BeanBase {}
|
|
@@ -9,20 +9,22 @@ export class MetaVersion extends BeanBase implements IMetaVersionUpdate, IMetaVe
|
|
|
9
9
|
// homeRole
|
|
10
10
|
const entityRole = this.scope.entity.role;
|
|
11
11
|
await this.bean.model.createTable(entityRole.$table, table => {
|
|
12
|
+
table.comment(entityRole.$comment.$table);
|
|
12
13
|
table.basicFields();
|
|
13
|
-
table.string(entityRole.name, 255);
|
|
14
|
+
table.string(entityRole.name, 255).comment(entityRole.$comment.name);
|
|
14
15
|
});
|
|
15
16
|
// homeUser
|
|
16
17
|
const entityUser = this.scope.entity.user;
|
|
17
18
|
await this.bean.model.createTable(entityUser.$table, table => {
|
|
19
|
+
table.comment(entityUser.$comment.$table);
|
|
18
20
|
table.basicFields();
|
|
19
|
-
table.string(entityUser.name, 255);
|
|
20
|
-
table.string(entityUser.avatar, 255);
|
|
21
|
-
table.string(entityUser.locale, 255);
|
|
21
|
+
table.string(entityUser.name, 255).comment(entityUser.$comment.name);
|
|
22
|
+
table.string(entityUser.avatar, 255).comment(entityUser.$comment.avatar);
|
|
23
|
+
table.string(entityUser.locale, 255).comment(entityUser.$comment.locale);
|
|
22
24
|
});
|
|
23
|
-
//
|
|
24
|
-
const
|
|
25
|
-
await this.bean.model.createTable(
|
|
25
|
+
// homeRoleUser
|
|
26
|
+
const entityRoleUser = this.scope.entity.roleUser;
|
|
27
|
+
await this.bean.model.createTable(entityRoleUser.$table, table => {
|
|
26
28
|
table.basicFields();
|
|
27
29
|
table.tableIdentity('userId');
|
|
28
30
|
table.tableIdentity('roleId');
|
|
@@ -43,7 +45,7 @@ export class MetaVersion extends BeanBase implements IMetaVersionUpdate, IMetaVe
|
|
|
43
45
|
locale: undefined,
|
|
44
46
|
});
|
|
45
47
|
// userRole: admin
|
|
46
|
-
await this.scope.model.
|
|
48
|
+
await this.scope.model.roleUser.insert({
|
|
47
49
|
userId: userAdmin.id,
|
|
48
50
|
roleId: roleAdmin.id,
|
|
49
51
|
});
|
|
@@ -98,6 +98,12 @@ export class ControllerPassport extends BeanBase {
|
|
|
98
98
|
return this._combineDtoPassportJwt(jwt);
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
+
@Web.post('createTempAuthToken')
|
|
102
|
+
@Api.body(z.string())
|
|
103
|
+
async createTempAuthToken(@Arg.query('path', v.optional()) path?: string): Promise<string> {
|
|
104
|
+
return await this.bean.passport.createTempAuthToken({ path });
|
|
105
|
+
}
|
|
106
|
+
|
|
101
107
|
private _combineDtoPassportJwt(jwt?: IJwtToken): DtoPassportJwt {
|
|
102
108
|
if (!jwt) this.app.throw(403);
|
|
103
109
|
return {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TableIdentity } from 'vona-module-a-
|
|
1
|
+
import type { TableIdentity } from 'vona-module-a-orm';
|
|
2
2
|
import type { IAuthBase } from 'vona-module-a-user';
|
|
3
3
|
import type { IDecoratorDtoOptions } from 'vona-module-a-web';
|
|
4
4
|
import { Api, v } from 'vona-module-a-openapi';
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import type { IDecoratorEntityOptions } from 'vona-module-a-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type { IDecoratorEntityOptions } from 'vona-module-a-orm';
|
|
2
|
+
import { Api, v } from 'vona-module-a-openapi';
|
|
3
|
+
import { Entity, EntityBase } from 'vona-module-a-orm';
|
|
4
|
+
import { $locale } from '../.metadata/index.ts';
|
|
4
5
|
|
|
5
6
|
export interface IEntityOptionsRole extends IDecoratorEntityOptions {}
|
|
6
7
|
|
|
7
|
-
@Entity<IEntityOptionsRole>('homeRole')
|
|
8
|
+
@Entity<IEntityOptionsRole>('homeRole', { openapi: { title: $locale('Role') } })
|
|
8
9
|
export class EntityRole extends EntityBase {
|
|
9
|
-
@Api.field()
|
|
10
|
+
@Api.field(v.title($locale('RoleName')))
|
|
10
11
|
name: string;
|
|
11
12
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { IDecoratorEntityOptions, TableIdentity } from 'vona-module-a-orm';
|
|
2
|
+
import { Api, v } from 'vona-module-a-openapi';
|
|
3
|
+
import { Entity, EntityBase } from 'vona-module-a-orm';
|
|
4
|
+
|
|
5
|
+
export interface IEntityOptionsRoleUser extends IDecoratorEntityOptions {}
|
|
6
|
+
|
|
7
|
+
@Entity<IEntityOptionsRoleUser>('homeRoleUser')
|
|
8
|
+
export class EntityRoleUser extends EntityBase {
|
|
9
|
+
@Api.field(v.tableIdentity())
|
|
10
|
+
userId: TableIdentity;
|
|
11
|
+
|
|
12
|
+
@Api.field(v.tableIdentity())
|
|
13
|
+
roleId: TableIdentity;
|
|
14
|
+
}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import type { ILocaleInfos } from 'vona';
|
|
2
|
-
import type { IDecoratorEntityOptions } from 'vona-module-a-
|
|
3
|
-
import { Entity, EntityBase } from 'vona-module-a-database';
|
|
2
|
+
import type { IDecoratorEntityOptions } from 'vona-module-a-orm';
|
|
4
3
|
import { Api, v } from 'vona-module-a-openapi';
|
|
4
|
+
import { Entity, EntityBase } from 'vona-module-a-orm';
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
+
import { $locale } from '../.metadata/index.ts';
|
|
6
7
|
|
|
7
8
|
export interface IEntityOptionsUser extends IDecoratorEntityOptions {}
|
|
8
9
|
|
|
9
|
-
@Entity<IEntityOptionsUser>('homeUser')
|
|
10
|
+
@Entity<IEntityOptionsUser>('homeUser', { openapi: { title: $locale('User') } })
|
|
10
11
|
export class EntityUser extends EntityBase {
|
|
11
|
-
@Api.field()
|
|
12
|
+
@Api.field(v.title($locale('UserName')))
|
|
12
13
|
name: string;
|
|
13
14
|
|
|
14
|
-
@Api.field(v.optional())
|
|
15
|
+
@Api.field(v.title($locale('UserAvatar')), v.optional())
|
|
15
16
|
avatar?: string;
|
|
16
17
|
|
|
17
|
-
@Api.field(z.string().optional())
|
|
18
|
+
@Api.field(v.title($locale('UserLocale')), z.string().optional())
|
|
18
19
|
locale?: keyof ILocaleInfos | undefined;
|
|
19
20
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ILocaleInfos } from 'vona';
|
|
2
|
-
import type { TableIdentity } from 'vona-module-a-
|
|
2
|
+
import type { TableIdentity } from 'vona-module-a-orm';
|
|
3
3
|
import type { IUserBase } from 'vona-module-a-user';
|
|
4
4
|
import type { IUser } from '../types/user.ts';
|
|
5
5
|
import { cast } from 'vona';
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { IDecoratorModelOptions } from 'vona-module-a-orm';
|
|
2
|
+
import { BeanModelBase, Model } from 'vona-module-a-orm';
|
|
2
3
|
import { EntityRole } from '../entity/role.ts';
|
|
3
4
|
|
|
4
|
-
|
|
5
|
+
export interface IModelOptionsRole extends IDecoratorModelOptions<EntityRole> {}
|
|
6
|
+
|
|
7
|
+
@Model<IModelOptionsRole>({ entity: EntityRole })
|
|
5
8
|
export class ModelRole extends BeanModelBase<EntityRole> {}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IDecoratorModelOptions } from 'vona-module-a-orm';
|
|
2
|
+
import { BeanModelBase, Model } from 'vona-module-a-orm';
|
|
3
|
+
import { EntityRoleUser } from '../entity/roleUser.ts';
|
|
4
|
+
|
|
5
|
+
export interface IModelOptionsRoleUser extends IDecoratorModelOptions<EntityRoleUser> {}
|
|
6
|
+
|
|
7
|
+
@Model<IModelOptionsRoleUser>({ entity: EntityRoleUser })
|
|
8
|
+
export class ModelRoleUser extends BeanModelBase<EntityRoleUser> {}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { IDecoratorModelOptions } from 'vona-module-a-orm';
|
|
2
|
+
import { $relation, BeanModelBase, Model } from 'vona-module-a-orm';
|
|
2
3
|
import { EntityUser } from '../entity/user.ts';
|
|
4
|
+
import { ModelRole } from './role.ts';
|
|
5
|
+
import { ModelRoleUser } from './roleUser.ts';
|
|
3
6
|
|
|
4
|
-
|
|
7
|
+
export interface IModelOptionsUser extends IDecoratorModelOptions<EntityUser> {}
|
|
8
|
+
|
|
9
|
+
@Model<IModelOptionsUser>({
|
|
10
|
+
entity: EntityUser,
|
|
11
|
+
relations: {
|
|
12
|
+
roles: $relation.belongsToMany(() => ModelRoleUser, () => ModelRole, 'userId', 'roleId', { columns: ['id', 'name'] }),
|
|
13
|
+
},
|
|
14
|
+
})
|
|
5
15
|
export class ModelUser extends BeanModelBase<EntityUser> {}
|
|
@@ -14,8 +14,8 @@ export class ServiceRoleInnerAdapter extends BeanBase implements IRoleInnerAdapt
|
|
|
14
14
|
return await this.scope.model.role.get(role);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
async findAllByUserId(userId: TableIdentity): Promise<IRoleBase[]> {
|
|
18
|
-
const
|
|
19
|
-
return
|
|
17
|
+
async findAllByUserId(userId: TableIdentity): Promise<IRoleBase[] | undefined> {
|
|
18
|
+
const user = await this.scope.model.user.get({ id: userId }, { include: { roles: true } });
|
|
19
|
+
return user?.roles;
|
|
20
20
|
}
|
|
21
21
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { TableIdentity } from 'vona-module-a-database';
|
|
2
1
|
import type { IPayloadDataBase } from 'vona-module-a-jwt';
|
|
2
|
+
import type { TableIdentity } from 'vona-module-a-orm';
|
|
3
3
|
import type { IPassportBase } from 'vona-module-a-user';
|
|
4
4
|
import type { IAuth } from './auth.ts';
|
|
5
5
|
import type { IUser } from './user.ts';
|