Skip to content

Commit 5fbbbd5

Browse files
committed
feat: update
1 parent bc11ed6 commit 5fbbbd5

File tree

6 files changed

+69
-3
lines changed

6 files changed

+69
-3
lines changed

packages-cli/cli-set-api/cli/templates/create/project/basic/boilerplate/package.original.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
"lint:fix": "eslint --fix"
4242
},
4343
"dependencies": {
44-
"vona": "^5.0.279"
44+
"vona": "^5.0.280"
4545
},
4646
"devDependencies": {
4747
"@cabloy/lint": "^5.0.16",

packages-cli/cli-set-api/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-base/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "vona-module-home-base",
33
"type": "module",
4-
"version": "5.0.16",
4+
"version": "5.0.17",
55
"title": "home-base",
66
"vonaModule": {
77
"dependencies": {

packages-cli/cli-set-api/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-base/src/.metadata/index.ts

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22
import type { TypeControllerOptionsActions } from 'vona-module-a-openapi';
33
/** service: begin */
44
export * from '../service/menu.ts';
5+
export * from '../service/permission.ts';
56

67
import 'vona-module-a-bean';
78
declare module 'vona-module-a-bean' {
89

910
export interface IServiceRecord {
1011
'home-base:menu': never;
12+
'home-base:permission': never;
1113
}
1214

1315

@@ -23,13 +25,26 @@ declare module 'vona-module-home-base' {
2325
get $beanFullName(): 'home-base.service.menu';
2426
get $onionName(): 'home-base:menu';
2527

28+
}
29+
30+
export interface ServicePermission {
31+
/** @internal */
32+
get scope(): ScopeModuleHomeBase;
33+
}
34+
35+
export interface ServicePermission {
36+
get $beanFullName(): 'home-base.service.permission';
37+
get $onionName(): 'home-base:permission';
38+
2639
}
2740
}
2841
/** service: end */
2942
/** service: begin */
3043
import type { ServiceMenu } from '../service/menu.ts';
44+
import type { ServicePermission } from '../service/permission.ts';
3145
export interface IModuleService {
3246
'menu': ServiceMenu;
47+
'permission': ServicePermission;
3348
}
3449
/** service: end */
3550
/** service: begin */
@@ -38,17 +53,21 @@ import 'vona';
3853
declare module 'vona' {
3954
export interface IBeanRecordGeneral {
4055
'home-base.service.menu': ServiceMenu;
56+
'home-base.service.permission': ServicePermission;
4157
}
4258
}
4359
/** service: end */
4460
/** controller: begin */
4561
export * from '../controller/menu.ts';
62+
export * from '../controller/permission.ts';
4663
import type { IControllerOptionsMenu } from '../controller/menu.ts';
64+
import type { IControllerOptionsPermission } from '../controller/permission.ts';
4765
import 'vona-module-a-web';
4866
declare module 'vona-module-a-web' {
4967

5068
export interface IControllerRecord {
5169
'home-base:menu': IControllerOptionsMenu;
70+
'home-base:permission': IControllerOptionsPermission;
5271
}
5372

5473

@@ -64,24 +83,43 @@ declare module 'vona-module-home-base' {
6483
get $beanFullName(): 'home-base.controller.menu';
6584
get $onionName(): 'home-base:menu';
6685
get $onionOptions(): IControllerOptionsMenu;
86+
}
87+
88+
export interface ControllerPermission {
89+
/** @internal */
90+
get scope(): ScopeModuleHomeBase;
91+
}
92+
93+
export interface ControllerPermission {
94+
get $beanFullName(): 'home-base.controller.permission';
95+
get $onionName(): 'home-base:permission';
96+
get $onionOptions(): IControllerOptionsPermission;
6797
}
6898
}
6999
/** controller: end */
70100
/** controller: begin */
71101
// @ts-ignore ignore
72102
import type { ControllerMenu } from '../controller/menu.ts';
103+
// @ts-ignore ignore
104+
import type { ControllerPermission } from '../controller/permission.ts';
73105
declare module 'vona-module-home-base' {
74106

75107
export interface IControllerOptionsMenu {
76108
actions?: TypeControllerOptionsActions<ControllerMenu>;
77109
}
110+
111+
export interface IControllerOptionsPermission {
112+
actions?: TypeControllerOptionsActions<ControllerPermission>;
113+
}
78114
}
79115
declare module 'vona-module-a-web' {
80116
export interface IApiPathGetRecord{
81117
'/home/base/menu/:publicPath?': undefined;
118+
'/home/base/permission/:resource': undefined;
82119
}
83120

84121
}
122+
85123
/** controller: end */
86124
/** main: begin */
87125
export * from '../main.ts';
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import type { IOpenapiPermissions, IResourceRecord } from 'vona-module-a-openapi';
2+
import type { IDecoratorControllerOptions } from 'vona-module-a-web';
3+
import { BeanBase } from 'vona';
4+
import { Api, v } from 'vona-module-a-openapiutils';
5+
import { DtoPermissions } from 'vona-module-a-permission';
6+
import { Arg, Controller, Web } from 'vona-module-a-web';
7+
import z from 'zod';
8+
9+
export interface IControllerOptionsPermission extends IDecoratorControllerOptions {}
10+
11+
@Controller<IControllerOptionsPermission>('permission')
12+
export class ControllerPermission extends BeanBase {
13+
@Web.get(':resource')
14+
@Api.body(v.object(DtoPermissions))
15+
async retrievePermissions(@Arg.param('resource', z.string()) resource: keyof IResourceRecord): Promise<IOpenapiPermissions> {
16+
return await this.scope.service.permission.retrievePermissions(resource);
17+
}
18+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import type { IOpenapiPermissions, IResourceRecord } from 'vona-module-a-openapi';
2+
import { BeanBase } from 'vona';
3+
import { Service } from 'vona-module-a-bean';
4+
5+
@Service()
6+
export class ServicePermission extends BeanBase {
7+
async retrievePermissions(resource: keyof IResourceRecord): Promise<IOpenapiPermissions> {
8+
return await this.bean.permission.retrievePermissions(resource);
9+
}
10+
}

packages-cli/cli-set-api/cli/templates/create/project/basic/boilerplate/src/suite/a-home/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "vona-suite-a-home",
33
"type": "module",
4-
"version": "5.0.32",
4+
"version": "5.0.33",
55
"title": "a-home",
66
"description": "",
77
"author": "zhennann",

0 commit comments

Comments
 (0)