@lenne.tech/cli 0.0.115 → 0.0.116
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.
|
@@ -23,7 +23,7 @@ const NewCommand = {
|
|
|
23
23
|
// Options:
|
|
24
24
|
const { currentItem, objectsToAdd, preventExitProcess, referencesToAdd } = Object.assign({ currentItem: '', objectsToAdd: [], preventExitProcess: false, referencesToAdd: [] }, options);
|
|
25
25
|
// Retrieve the tools we need
|
|
26
|
-
const { filesystem, helper, parameters, patching, print: { divider, error, info, spin, success }, server, strings: { camelCase, kebabCase, pascalCase }, system, template, } = toolbox;
|
|
26
|
+
const { filesystem, helper, parameters, patching, print: { divider, error, info, spin, success }, prompt: { ask, confirm }, server, strings: { camelCase, kebabCase, pascalCase }, system, template, } = toolbox;
|
|
27
27
|
// Start timer
|
|
28
28
|
const timer = system.startTimer();
|
|
29
29
|
// Info
|
|
@@ -40,6 +40,12 @@ const NewCommand = {
|
|
|
40
40
|
if (!name) {
|
|
41
41
|
return;
|
|
42
42
|
}
|
|
43
|
+
const controller = (yield ask({
|
|
44
|
+
choices: ['Rest', 'GraphQL', 'Both'],
|
|
45
|
+
message: 'What controller type?',
|
|
46
|
+
name: 'controller',
|
|
47
|
+
type: 'select',
|
|
48
|
+
})).controller;
|
|
43
49
|
// Set up initial props (to pass into templates)
|
|
44
50
|
const nameCamel = camelCase(name);
|
|
45
51
|
const nameKebab = kebabCase(name);
|
|
@@ -69,6 +75,13 @@ const NewCommand = {
|
|
|
69
75
|
target: (0, path_1.join)(directory, 'inputs', `${nameKebab}.input.ts`),
|
|
70
76
|
template: 'nest-server-module/inputs/template.input.ts.ejs',
|
|
71
77
|
});
|
|
78
|
+
if (controller === 'Rest' || controller === 'Both') {
|
|
79
|
+
yield template.generate({
|
|
80
|
+
props: { lowercase: name.toLowerCase(), nameCamel: camelCase(name), nameKebab: kebabCase(name), namePascal: pascalCase(name) },
|
|
81
|
+
target: (0, path_1.join)(directory, `${nameKebab}.controller.ts`),
|
|
82
|
+
template: 'nest-server-module/template.controller.ts.ejs',
|
|
83
|
+
});
|
|
84
|
+
}
|
|
72
85
|
// nest-server-module/inputs/xxx-create.input.ts
|
|
73
86
|
yield template.generate({
|
|
74
87
|
props: { imports: createTemplate.imports, nameCamel, nameKebab, namePascal, props: createTemplate.props },
|
|
@@ -96,16 +109,18 @@ const NewCommand = {
|
|
|
96
109
|
});
|
|
97
110
|
// nest-server-module/xxx.module.ts
|
|
98
111
|
yield template.generate({
|
|
99
|
-
props: { nameCamel, nameKebab, namePascal },
|
|
112
|
+
props: { controller, nameCamel, nameKebab, namePascal },
|
|
100
113
|
target: (0, path_1.join)(directory, `${nameKebab}.module.ts`),
|
|
101
114
|
template: 'nest-server-module/template.module.ts.ejs',
|
|
102
115
|
});
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
116
|
+
if (controller === 'GraphQL' || controller === 'Both') {
|
|
117
|
+
// nest-server-module/xxx.resolver.ts
|
|
118
|
+
yield template.generate({
|
|
119
|
+
props: { nameCamel, nameKebab, namePascal },
|
|
120
|
+
target: (0, path_1.join)(directory, `${nameKebab}.resolver.ts`),
|
|
121
|
+
template: 'nest-server-module/template.resolver.ts.ejs',
|
|
122
|
+
});
|
|
123
|
+
}
|
|
109
124
|
// nest-server-module/xxx.service.ts
|
|
110
125
|
yield template.generate({
|
|
111
126
|
props: { nameCamel, nameKebab, namePascal },
|
|
@@ -156,6 +171,10 @@ const NewCommand = {
|
|
|
156
171
|
const nextObj = objectsToAdd.shift().object;
|
|
157
172
|
yield object_1.default.run(toolbox, { currentItem: nextObj, objectsToAdd, preventExitProcess: true, referencesToAdd });
|
|
158
173
|
}
|
|
174
|
+
// Prettier
|
|
175
|
+
if (yield confirm('Run Prettier?', true)) {
|
|
176
|
+
yield system.run('npx prettier --write .');
|
|
177
|
+
}
|
|
159
178
|
divider();
|
|
160
179
|
// We're done, so show what to do next
|
|
161
180
|
if (!preventExitProcess) {
|
|
@@ -171,4 +190,4 @@ const NewCommand = {
|
|
|
171
190
|
}),
|
|
172
191
|
};
|
|
173
192
|
exports.default = NewCommand;
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3NlcnZlci9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSwrQkFBNEI7QUFJNUIscUNBQWlDO0FBRWpDOztHQUVHO0FBQ0gsTUFBTSxVQUFVLEdBQTJCO0lBQ3pDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQztJQUNaLFdBQVcsRUFBRSw2QkFBNkI7SUFDMUMsTUFBTSxFQUFFLEtBQUs7SUFDYixJQUFJLEVBQUUsUUFBUTtJQUNkLEdBQUcsRUFBRSxDQUNILE9BQStCLEVBQy9CLE9BS0MsRUFDRCxFQUFFO1FBRUYsV0FBVztRQUNYLE1BQU0sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxtQkFDdEUsV0FBVyxFQUFFLEVBQUUsRUFDZixZQUFZLEVBQUUsRUFBRSxFQUNoQixrQkFBa0IsRUFBRSxLQUFLLEVBQ3pCLGVBQWUsRUFBRSxFQUFFLElBQ2hCLE9BQU8sQ0FDWCxDQUFDO1FBRUYsNkJBQTZCO1FBQzdCLE1BQU0sRUFDSixVQUFVLEVBQ1YsTUFBTSxFQUNOLFVBQVUsRUFDVixRQUFRLEVBQ1IsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUM5QyxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQ3hCLE1BQU0sRUFDTixPQUFPLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxFQUM3QyxNQUFNLEVBQ04sUUFBUSxHQUNULEdBQUcsT0FBTyxDQUFDO1FBRVosY0FBYztRQUNkLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVsQyxPQUFPO1FBQ1AsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsb0NBQW9DLFdB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
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ApiCommonErrorResponses, FilterArgs, RoleEnum, Roles } from '@lenne.tech/nest-server';
|
|
2
|
+
import { Body, Controller, Delete, Get, Param, Post, Put } from '@nestjs/common';
|
|
3
|
+
|
|
4
|
+
import { <%= props.namePascal %>Service } from './<%= props.nameKebab %>.service';
|
|
5
|
+
import { <%= props.namePascal %>Input } from './inputs/<%= props.nameKebab %>.input';
|
|
6
|
+
import { <%= props.namePascal %>CreateInput } from './inputs/<%= props.nameKebab %>-create.input';
|
|
7
|
+
|
|
8
|
+
@ApiCommonErrorResponses()
|
|
9
|
+
@Controller('<%= props.lowercase %>')
|
|
10
|
+
@Roles(RoleEnum.ADMIN)
|
|
11
|
+
export class <%= props.namePascal %>Controller {
|
|
12
|
+
|
|
13
|
+
constructor(protected readonly <%= props.nameCamel %>Service: <%= props.namePascal %>Service) {}
|
|
14
|
+
|
|
15
|
+
@Post()
|
|
16
|
+
@Roles(RoleEnum.ADMIN)
|
|
17
|
+
async create(@Body() input: <%= props.namePascal %>CreateInput): Promise<any> {
|
|
18
|
+
return await this.<%= props.nameCamel %>Service.create(input);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@Get()
|
|
22
|
+
@Roles(RoleEnum.ADMIN)
|
|
23
|
+
async get(@Body() filterArgs: FilterArgs): Promise<any> {
|
|
24
|
+
return await this.<%= props.nameCamel %>Service.find(filterArgs);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@Get(':id')
|
|
28
|
+
@Roles(RoleEnum.ADMIN)
|
|
29
|
+
async getById(@Param('id') id: string): Promise<any> {
|
|
30
|
+
return await this.<%= props.nameCamel %>Service.findOne({filterQuery: { _id: id }})
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@Put(':id')
|
|
34
|
+
@Roles(RoleEnum.ADMIN)
|
|
35
|
+
async update(@Param('id') id: string, @Body() input: <%= props.namePascal %>Input): Promise<any> {
|
|
36
|
+
return await this.<%= props.nameCamel %>Service.update(id, input);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@Delete(':id')
|
|
40
|
+
@Roles(RoleEnum.ADMIN)
|
|
41
|
+
async delete(@Param('id') id: string): Promise<any> {
|
|
42
|
+
return await this.<%= props.nameCamel %>Service.delete(id);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
}
|
|
@@ -5,23 +5,29 @@ import { PubSub } from 'graphql-subscriptions';
|
|
|
5
5
|
|
|
6
6
|
import { UserModule } from '../user/user.module';
|
|
7
7
|
import { <%= props.namePascal %>, <%= props.namePascal %>Schema } from './<%= props.nameKebab %>.model';
|
|
8
|
+
<% if ((props.controller === 'GraphQL') || (props.controller === 'Both')) { -%>
|
|
8
9
|
import { <%= props.namePascal %>Resolver } from './<%= props.nameKebab %>.resolver';
|
|
10
|
+
<% } -%>
|
|
9
11
|
import { <%= props.namePascal %>Service } from './<%= props.nameKebab %>.service';
|
|
12
|
+
<% if ((props.controller === 'Rest') || (props.controller === 'Both')) { -%>
|
|
13
|
+
import { <%= props.namePascal %>Controller } from './<%= props.nameKebab %>.controller';
|
|
14
|
+
<% } -%>
|
|
10
15
|
|
|
11
16
|
/**
|
|
12
|
-
|
|
13
|
-
|
|
17
|
+
* <%= props.namePascal %> module
|
|
18
|
+
*/
|
|
14
19
|
@Module({
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
],
|
|
20
|
+
<% if ((props.controller === 'Rest') || (props.controller === 'Both')) { -%>
|
|
21
|
+
controllers: [<%= props.namePascal %>Controller],
|
|
22
|
+
<% } -%>
|
|
23
|
+
exports: [ MongooseModule, <% if ((props.controller === 'GraphQL') || (props.controller === 'Both')) { -%> <%= props.namePascal %>Resolver, <% } -%> <%= props.namePascal %>Service],
|
|
24
|
+
imports: [ MongooseModule.forFeature([{ name: <%= props.namePascal %>.name, schema: <%= props.namePascal %>Schema }]), forwardRef(() => UserModule) ],
|
|
21
25
|
providers: [
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
ConfigService,
|
|
27
|
+
<% if ((props.controller === 'GraphQL') || (props.controller === 'Both')) { -%>
|
|
28
|
+
<%= props.namePascal %>Resolver,
|
|
29
|
+
<% } -%>
|
|
30
|
+
<%= props.namePascal %>Service,
|
|
25
31
|
{
|
|
26
32
|
provide: 'PUB_SUB',
|
|
27
33
|
useValue: new PubSub(),
|
|
@@ -135,6 +135,6 @@ export class <%= props.namePascal %>Resolver {
|
|
|
135
135
|
resolve: (value) => value,
|
|
136
136
|
})
|
|
137
137
|
async <%= props.nameCamel %>Created() {
|
|
138
|
-
return this.pubSub.
|
|
138
|
+
return this.pubSub.asyncIterableIterator('<%= props.nameCamel %>Created');
|
|
139
139
|
}
|
|
140
140
|
}
|