@nest-extended/cli 0.0.2-beta-6 → 0.0.2-beta-9

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/README.md CHANGED
@@ -25,14 +25,14 @@ yarn add -D @nest-extended/cli
25
25
  ### Generate Application (`g app`)
26
26
 
27
27
  Generates a fully configured NestJS application with standard best-practices built right in.
28
- It interactive prompts for your choice of database (currently supporting MongoDB) and handles scaffolding the app.
28
+ It interactively prompts for your choice of database (currently supporting MongoDB) and handles scaffolding the app. It also prompts whether you want to automatically generate authentication modules.
29
29
 
30
30
  **Includes:**
31
31
  - Running `@nestjs/cli`'s `nest new` command internally
32
32
  - `Mongoose` schema integration out of the box
33
33
  - Context-mapping out of the box using `nestjs-cls`
34
- - Built-in `AuthModule` with JSON Web Token (JWT) handling via `@nestjs/jwt` and password hashing with `bcrypt`
35
- - Fully functional `UsersModule` equipped with standard fields and authentication logic implementations.
34
+ - Built-in `AuthModule` with JSON Web Token (JWT) handling via `@nestjs/jwt` and password hashing with `bcrypt` (opt-in)
35
+ - Fully functional `UsersModule` equipped with standard fields and authentication logic implementations. (opt-in)
36
36
  - Pre-configured `NestExtendedModule` context for soft deletes functionality
37
37
 
38
38
  **Usage:**
@@ -49,13 +49,25 @@ nest-cli generate app <app-name>
49
49
  nest-cli g app e-commerce-dashboard
50
50
  ```
51
51
 
52
+ ### Generate Authentication (`g auth`)
53
+
54
+ If you generated a NestJS application without the authentication modules and want to add them later, use the `auth` command. This will scaffold out the `Auth` and `Users` modules, install `@nestjs/jwt` and `bcrypt`, and hook them into your `app.module.ts`.
55
+
56
+ **Usage:**
57
+
58
+ ```bash
59
+ nest-cli g auth
60
+ # or
61
+ nest-cli generate auth
62
+ ```
63
+
52
64
  ### Generate Service (`g service`)
53
65
 
54
66
  Generates a complete resource bundle including:
55
67
  - **Module**: Registers the controller and service.
56
68
  - **Service**: Extends `NestService` from `@nest-extended/mongoose`.
57
69
  - **Controller**: Extends `NestController` from `@nest-extended/core`.
58
- - **Schema**: Mongoose schema with `timestamps` and soft delete fields.
70
+ - **Schema**: Mongoose schema with `timestamps` and soft delete fields (only injects `createdBy`, `updatedBy`, `deletedBy` mapping if Auth was generated).
59
71
  - **DTO**: Data Transfer Object with validation.
60
72
  - **Specs**: Unit tests for service and controller.
61
73
 
package/package.json CHANGED
@@ -1,7 +1,19 @@
1
1
  {
2
2
  "name": "@nest-extended/cli",
3
- "version": "0.0.2-beta-6",
3
+ "version": "0.0.2-beta-9",
4
4
  "private": false,
5
+ "contributors": [
6
+ {
7
+ "name": "Soubhik Kumar Gon",
8
+ "email": "soubhikgon2004@gmail.com",
9
+ "url": "https://github.com/zakhaev26"
10
+ },
11
+ {
12
+ "name": "Santanu Prasad Sahoo",
13
+ "email": "sahoosantanu92@gmail.com",
14
+ "url": "https://github.com/santanup"
15
+ }
16
+ ],
5
17
  "main": "./src/index.js",
6
18
  "types": "./src/index.d.ts",
7
19
  "bin": {
@@ -3,35 +3,45 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateAppAction = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const inquirer = require("inquirer");
6
- const chalk = require("chalk");
6
+ const chalk_1 = require("chalk");
7
7
  const path = require("path");
8
8
  const fs = require("fs-extra");
9
9
  const child_process_1 = require("child_process");
10
- const module_template_1 = require("../templates/module.template");
11
- const controller_template_1 = require("../templates/controller.template");
12
- const dto_template_1 = require("../templates/dto.template");
13
- const auth_template_1 = require("../templates/auth.template");
14
- const users_template_1 = require("../templates/users.template");
10
+ const generate_auth_services_1 = require("../lib/generate-auth-services");
15
11
  const generateAppAction = (appName) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
16
12
  const questions = [
13
+ {
14
+ type: 'list',
15
+ name: 'pkgManager',
16
+ message: 'Which package manager would you like to use?',
17
+ choices: ['npm', 'yarn', 'pnpm'],
18
+ default: 'yarn',
19
+ },
17
20
  {
18
21
  type: 'list',
19
22
  name: 'database',
20
23
  message: 'Which database would you like to use?',
21
- choices: ['mongo', 'sql'],
24
+ choices: ['mongoose', 'sqlite', 'prisma'],
25
+ },
26
+ {
27
+ type: 'confirm',
28
+ name: 'generateAuth',
29
+ message: 'Would you like to generate authentication (Users and Auth services)?',
30
+ default: true,
22
31
  },
23
32
  ];
24
33
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
25
34
  // @ts-expect-error
26
35
  const answers = yield inquirer.prompt(questions);
27
36
  const database = answers['database'];
28
- if (database === 'sql') {
29
- console.error(chalk.red('Error: We are not supporting sql now'));
37
+ const pkgManager = answers['pkgManager'];
38
+ const generateAuth = answers['generateAuth'];
39
+ if (database === 'sqlite' || database === 'prisma') {
40
+ console.error(chalk_1.default.red(`Error: We are not supporting ${database} now`));
30
41
  process.exit(1);
31
42
  }
32
- console.log(chalk.blue(`Generating NestJS app: ${appName}`));
43
+ console.log(chalk_1.default.blue(`Generating NestJS app: ${appName}`));
33
44
  const appDir = path.join(process.cwd(), appName);
34
- const pkgManager = fs.existsSync(path.join(process.cwd(), 'yarn.lock')) ? 'yarn' : 'npm';
35
45
  // 1. Run nest new
36
46
  yield new Promise((resolve, reject) => {
37
47
  const child = (0, child_process_1.spawn)('npx', ['@nestjs/cli', 'new', appName, '--package-manager', pkgManager], {
@@ -47,22 +57,26 @@ const generateAppAction = (appName) => tslib_1.__awaiter(void 0, void 0, void 0,
47
57
  });
48
58
  const pkg = require('../../package.json');
49
59
  const nestExtendedVersion = pkg.version;
50
- console.log(chalk.blue('Installing additional dependencies...'));
60
+ console.log(chalk_1.default.blue('Installing additional dependencies...'));
51
61
  // 2. Install dependencies
52
62
  yield new Promise((resolve, reject) => {
53
- const installArgs = pkgManager === 'yarn' ? ['add'] : ['install'];
54
- const child = (0, child_process_1.spawn)(pkgManager, [
55
- ...installArgs,
63
+ const installArgs = pkgManager === 'npm' ? ['install'] : ['add'];
64
+ const baseDeps = [
56
65
  '@nestjs/mongoose',
57
66
  'mongoose',
58
67
  '@nestjs/config',
59
68
  'nestjs-cls',
60
- '@nestjs/jwt',
61
- 'bcrypt',
62
69
  `@nest-extended/core@${nestExtendedVersion}`,
63
70
  `@nest-extended/mongoose@${nestExtendedVersion}`,
64
71
  `@nest-extended/decorators@${nestExtendedVersion}`,
65
72
  'zod'
73
+ ];
74
+ if (generateAuth) {
75
+ baseDeps.push('@nestjs/jwt', 'bcrypt');
76
+ }
77
+ const child = (0, child_process_1.spawn)(pkgManager, [
78
+ ...installArgs,
79
+ ...baseDeps
66
80
  ], {
67
81
  stdio: 'inherit',
68
82
  cwd: appDir,
@@ -76,35 +90,43 @@ const generateAppAction = (appName) => tslib_1.__awaiter(void 0, void 0, void 0,
76
90
  });
77
91
  });
78
92
  // 3. Install Dev dependencies
79
- yield new Promise((resolve, reject) => {
80
- const devArgs = pkgManager === 'yarn' ? ['add', '-D'] : ['install', '-D'];
81
- const child = (0, child_process_1.spawn)(pkgManager, [...devArgs, '@types/bcrypt'], {
82
- stdio: 'inherit',
83
- cwd: appDir,
84
- shell: true,
93
+ if (generateAuth) {
94
+ yield new Promise((resolve, reject) => {
95
+ const devArgs = pkgManager === 'npm' ? ['install', '-D'] : ['add', '-D'];
96
+ const child = (0, child_process_1.spawn)(pkgManager, [...devArgs, '@types/bcrypt'], {
97
+ stdio: 'inherit',
98
+ cwd: appDir,
99
+ shell: true,
100
+ });
101
+ child.on('close', (code) => {
102
+ if (code === 0)
103
+ resolve();
104
+ else
105
+ reject(new Error(`${pkgManager} dev install failed with code ${code}`));
106
+ });
85
107
  });
86
- child.on('close', (code) => {
87
- if (code === 0)
88
- resolve();
89
- else
90
- reject(new Error(`${pkgManager} dev install failed with code ${code}`));
91
- });
92
- });
93
- console.log(chalk.blue('Configuring project...'));
108
+ }
109
+ console.log(chalk_1.default.blue('Configuring project...'));
94
110
  // 4. Update app.module.ts
95
111
  const appModulePath = path.join(appDir, 'src/app.module.ts');
96
112
  let appModuleContent = fs.readFileSync(appModulePath, 'utf8');
113
+ const authImports = generateAuth ? `
114
+ import { AuthModule } from './services/auth/auth.module';
115
+ import { UsersModule } from './services/users/users.module';` : '';
97
116
  const importsToAdd = `
98
117
  import { APP_FILTER, APP_INTERCEPTOR } from '@nestjs/core';
99
118
  import { GlobalExceptionFilter } from '@nest-extended/mongoose';
100
119
  import { ConfigModule } from '@nestjs/config';
101
120
  import { ClsModule } from 'nestjs-cls';
102
121
  import { NestExtendedModule, NullResponseInterceptor } from '@nest-extended/core';
103
- import { MongooseModule } from '@nestjs/mongoose';
104
- import { AuthModule } from './services/auth/auth.module';
105
- import { UsersModule } from './services/users/users.module';
122
+ import { MongooseModule } from '@nestjs/mongoose';${authImports}
106
123
  `;
107
124
  appModuleContent = importsToAdd + appModuleContent;
125
+ const deletedByProp = generateAuth ? `
126
+ deletedBy: user?._id,` : '';
127
+ const authModuleImports = generateAuth ? `
128
+ AuthModule,
129
+ UsersModule,` : '';
108
130
  const nestImports = `
109
131
  ConfigModule.forRoot({
110
132
  envFilePath: ['.env'],
@@ -118,16 +140,14 @@ import { UsersModule } from './services/users/users.module';
118
140
  softDelete: {
119
141
  getQuery: () => ({ deleted: { $ne: true } }),
120
142
  getData: (user: { _id?: string } | null) => ({
121
- deleted: true,
122
- deletedBy: user?._id,
143
+ deleted: true,${deletedByProp}
123
144
  deletedAt: new Date(),
124
145
  }),
125
146
  },
126
147
  }),
127
- MongooseModule.forRoot(process.env.MONGODB_URI || 'mongodb://localhost:27017/test'),
128
- AuthModule,
129
- UsersModule,`;
130
- appModuleContent = appModuleContent.replace(/imports:\s*\[/, `imports: [\n${nestImports}`);
148
+ MongooseModule.forRoot(process.env.MONGODB_URI || 'mongodb://localhost:27017/test'),${authModuleImports}`;
149
+ appModuleContent = appModuleContent.replace(/imports:\s*\[/, `imports: [
150
+ ${nestImports}`);
131
151
  const appProviders = `providers: [
132
152
  AppService,
133
153
  {
@@ -142,28 +162,13 @@ import { UsersModule } from './services/users/users.module';
142
162
  appModuleContent = appModuleContent.replace(/providers:\s*\[AppService\],?/, appProviders);
143
163
  fs.writeFileSync(appModulePath, appModuleContent);
144
164
  // Write .env file
145
- fs.writeFileSync(path.join(appDir, '.env'), 'MONGODB_URI=mongodb://localhost:27017/test\nJWT_SECRET=super-secret-jwt-key\n');
146
- // 5. Generate Users Service
147
- const usersDir = path.join(appDir, 'src/services/users');
148
- const schemasDir = path.join(appDir, 'src/schemas');
149
- fs.ensureDirSync(usersDir);
150
- fs.ensureDirSync(schemasDir);
151
- fs.writeFileSync(path.join(schemasDir, 'users.schema.ts'), (0, users_template_1.getUsersSchema)());
152
- fs.writeFileSync(path.join(usersDir, 'users.module.ts'), (0, module_template_1.getModule)('Users', 'users'));
153
- fs.writeFileSync(path.join(usersDir, 'users.service.ts'), (0, users_template_1.getUsersService)());
154
- fs.writeFileSync(path.join(usersDir, 'users.controller.ts'), (0, controller_template_1.getController)('Users', 'users', 'users'));
155
- fs.ensureDirSync(path.join(usersDir, 'dto'));
156
- fs.writeFileSync(path.join(usersDir, 'dto/users.dto.ts'), (0, dto_template_1.getDto)('Users'));
157
- // 6. Generate Auth Service
158
- const authDir = path.join(appDir, 'src/services/auth');
159
- fs.ensureDirSync(authDir);
160
- fs.ensureDirSync(path.join(authDir, 'constants'));
161
- fs.writeFileSync(path.join(authDir, 'auth.module.ts'), (0, auth_template_1.getAuthModule)());
162
- fs.writeFileSync(path.join(authDir, 'auth.service.ts'), (0, auth_template_1.getAuthService)());
163
- fs.writeFileSync(path.join(authDir, 'auth.controller.ts'), (0, auth_template_1.getAuthController)());
164
- fs.writeFileSync(path.join(authDir, 'auth.guard.ts'), (0, auth_template_1.getAuthGuard)());
165
- fs.writeFileSync(path.join(authDir, 'constants/jwt-constants.ts'), (0, auth_template_1.getJwtConstants)());
166
- console.log(chalk.blue('Running lint...'));
165
+ fs.writeFileSync(path.join(appDir, '.env'), `MONGODB_URI=mongodb://localhost:27017/test
166
+ JWT_SECRET=super-secret-jwt-key
167
+ `);
168
+ if (generateAuth) {
169
+ (0, generate_auth_services_1.generateAuthServices)(appDir);
170
+ }
171
+ console.log(chalk_1.default.blue('Running lint...'));
167
172
  yield new Promise((resolve) => {
168
173
  const lintChild = (0, child_process_1.spawn)(pkgManager, ['run', 'lint'], {
169
174
  stdio: 'inherit',
@@ -172,7 +177,7 @@ import { UsersModule } from './services/users/users.module';
172
177
  });
173
178
  lintChild.on('close', () => resolve());
174
179
  });
175
- console.log(chalk.green('App generated successfully!'));
180
+ console.log(chalk_1.default.green('App generated successfully!'));
176
181
  });
177
182
  exports.generateAppAction = generateAppAction;
178
183
  //# sourceMappingURL=generate-app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-app.js","sourceRoot":"","sources":["../../../../../packages/cli/src/commands/generate-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-app.js","sourceRoot":"","sources":["../../../../../packages/cli/src/commands/generate-app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const generateAuthAction: () => Promise<void>;
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateAuthAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const chalk_1 = require("chalk");
6
+ const path = require("path");
7
+ const fs = require("fs-extra");
8
+ const child_process_1 = require("child_process");
9
+ const update_app_module_1 = require("../lib/update-app-module");
10
+ const generate_auth_services_1 = require("../lib/generate-auth-services");
11
+ const generateAuthAction = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
12
+ const projectDir = process.cwd();
13
+ const appDir = projectDir;
14
+ const authDir = path.join(appDir, 'src/services/auth');
15
+ if (fs.existsSync(authDir)) {
16
+ console.error(chalk_1.default.red('Error: Authentication is already generated in this project.'));
17
+ process.exit(1);
18
+ }
19
+ console.log(chalk_1.default.blue('Generating authentication (Auth & Users services)...'));
20
+ const pkgManager = fs.existsSync(path.join(projectDir, 'yarn.lock')) ? 'yarn' : fs.existsSync(path.join(projectDir, 'pnpm-lock.yaml')) ? 'pnpm' : 'npm';
21
+ console.log(chalk_1.default.blue('Installing additional dependencies...'));
22
+ yield new Promise((resolve, reject) => {
23
+ const installArgs = pkgManager === 'npm' ? ['install'] : ['add'];
24
+ const child = (0, child_process_1.spawn)(pkgManager, [...installArgs, '@nestjs/jwt', 'bcrypt'], { stdio: 'inherit', cwd: appDir, shell: true });
25
+ child.on('close', (code) => {
26
+ if (code === 0)
27
+ resolve();
28
+ else
29
+ reject(new Error(`${pkgManager} install failed with code ${code}`));
30
+ });
31
+ });
32
+ console.log(chalk_1.default.blue('Installing dev dependencies...'));
33
+ yield new Promise((resolve, reject) => {
34
+ const devArgs = pkgManager === 'npm' ? ['install', '-D'] : ['add', '-D'];
35
+ const child = (0, child_process_1.spawn)(pkgManager, [...devArgs, '@types/bcrypt'], {
36
+ stdio: 'inherit', cwd: appDir, shell: true
37
+ });
38
+ child.on('close', (code) => {
39
+ if (code === 0)
40
+ resolve();
41
+ else
42
+ reject(new Error(`${pkgManager} dev install failed with code ${code}`));
43
+ });
44
+ });
45
+ console.log(chalk_1.default.blue('Configuring project...'));
46
+ (0, generate_auth_services_1.generateAuthServices)(appDir);
47
+ // Update app.module.ts to add modules
48
+ yield (0, update_app_module_1.updateAppModule)('Auth', 'auth');
49
+ yield (0, update_app_module_1.updateAppModule)('Users', 'users');
50
+ // Update app.module.ts to add deletedBy to softDelete config
51
+ const appModulePath = path.join(appDir, 'src/app.module.ts');
52
+ if (fs.existsSync(appModulePath)) {
53
+ let content = fs.readFileSync(appModulePath, 'utf8');
54
+ // Check if softDelete config exists and doesn't have deletedBy yet
55
+ if (content.includes(`getData: (user: { _id?: string } | null) => ({
56
+ deleted: true,`) && !content.includes('deletedBy: user?._id')) {
57
+ content = content.replace(`getData: (user: { _id?: string } | null) => ({
58
+ deleted: true,`, `getData: (user: { _id?: string } | null) => ({
59
+ deleted: true,
60
+ deletedBy: user?._id,`);
61
+ fs.writeFileSync(appModulePath, content);
62
+ console.log(chalk_1.default.green('Updated softDelete configuration in app.module.ts with deletedBy'));
63
+ }
64
+ }
65
+ console.log(chalk_1.default.blue('Running lint...'));
66
+ yield new Promise((resolve) => {
67
+ const lintChild = (0, child_process_1.spawn)(pkgManager, ['run', 'lint'], {
68
+ stdio: 'inherit',
69
+ cwd: projectDir,
70
+ shell: true,
71
+ });
72
+ lintChild.on('close', () => resolve());
73
+ });
74
+ console.log(chalk_1.default.green('Authentication generated successfully!'));
75
+ });
76
+ exports.generateAuthAction = generateAuthAction;
77
+ //# sourceMappingURL=generate-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-auth.js","sourceRoot":"","sources":["../../../../../packages/cli/src/commands/generate-auth.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateServiceAction = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const chalk = require("chalk");
5
+ const chalk_1 = require("chalk");
6
6
  const path = require("path");
7
7
  const fs = require("fs-extra");
8
8
  const child_process_1 = require("child_process");
@@ -24,7 +24,8 @@ const generateServiceAction = (rawName) => tslib_1.__awaiter(void 0, void 0, voi
24
24
  const Name = argArray.join(''); // PascalCase
25
25
  const name = Name[0].toLowerCase() + Name.slice(1); // camelCase
26
26
  console.log(`Generating service for: ${Name} (${name})`);
27
- (0, create_file_1.createFileWithContent)(`src/schemas/${name}.schema.ts`, (0, schema_template_1.getSchema)(Name));
27
+ const isAuthGenerated = fs.existsSync(path.join(process.cwd(), 'src/services/auth'));
28
+ (0, create_file_1.createFileWithContent)(`src/schemas/${name}.schema.ts`, (0, schema_template_1.getSchema)(Name, 'Users', isAuthGenerated));
28
29
  (0, create_file_1.createFileWithContent)(`src/services/${name}/${name}.module.ts`, (0, module_template_1.getModule)(Name, name));
29
30
  (0, create_file_1.createFileWithContent)(`src/services/${name}/${name}.service.ts`, (0, service_template_1.getService)(Name, name));
30
31
  (0, create_file_1.createFileWithContent)(`src/services/${name}/${name}.controller.ts`, (0, controller_template_1.getController)(Name, name, rawName));
@@ -32,7 +33,7 @@ const generateServiceAction = (rawName) => tslib_1.__awaiter(void 0, void 0, voi
32
33
  (0, create_file_1.createFileWithContent)(`src/services/${name}/${name}.service.spec.ts`, (0, service_spec_template_1.getServiceSpec)(Name, name));
33
34
  (0, create_file_1.createFileWithContent)(`src/services/${name}/${name}.controller.spec.ts`, (0, controller_spec_template_1.getControllerSpec)(Name, name));
34
35
  yield (0, update_app_module_1.updateAppModule)(Name, name);
35
- console.log(chalk.blue('Running lint...'));
36
+ console.log(chalk_1.default.blue('Running lint...'));
36
37
  const projectDir = process.cwd();
37
38
  const pkgManager = fs.existsSync(path.join(projectDir, 'yarn.lock')) ? 'yarn' : 'npm';
38
39
  yield new Promise((resolve) => {
@@ -1 +1 @@
1
- {"version":3,"file":"generate-service.js","sourceRoot":"","sources":["../../../../../packages/cli/src/commands/generate-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-service.js","sourceRoot":"","sources":["../../../../../packages/cli/src/commands/generate-service.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ exports.generateCommand = void 0;
4
4
  const commander_1 = require("commander");
5
5
  const generate_service_1 = require("./generate-service");
6
6
  const generate_app_1 = require("./generate-app");
7
+ const generate_auth_1 = require("./generate-auth");
7
8
  exports.generateCommand = new commander_1.Command('generate')
8
9
  .alias('g')
9
10
  .description('Generate a new element');
@@ -15,4 +16,8 @@ exports.generateCommand
15
16
  .command('app <name>')
16
17
  .description('Generate a new application')
17
18
  .action(generate_app_1.generateAppAction);
19
+ exports.generateCommand
20
+ .command('auth')
21
+ .description('Generate authentication (Auth and Users services)')
22
+ .action(generate_auth_1.generateAuthAction);
18
23
  //# sourceMappingURL=generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../../packages/cli/src/commands/generate.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AACpC,yDAA2D;AAC3D,iDAAmD;AAEtC,QAAA,eAAe,GAAG,IAAI,mBAAO,CAAC,UAAU,CAAC;KACjD,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,wBAAwB,CAAC,CAAC;AAE3C,uBAAe;KACV,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,wCAAqB,CAAC,CAAC;AAEnC,uBAAe;KACV,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,gCAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../../packages/cli/src/commands/generate.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AACpC,yDAA2D;AAC3D,iDAAmD;AACnD,mDAAqD;AAExC,QAAA,eAAe,GAAG,IAAI,mBAAO,CAAC,UAAU,CAAC;KACjD,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,wBAAwB,CAAC,CAAC;AAE3C,uBAAe;KACV,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,wCAAqB,CAAC,CAAC;AAEnC,uBAAe;KACV,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,gCAAiB,CAAC,CAAC;AAE/B,uBAAe;KACV,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,kCAAkB,CAAC,CAAC"}
package/src/index.js CHANGED
@@ -5,7 +5,7 @@ const commander_1 = require("commander");
5
5
  const generate_1 = require("./commands/generate");
6
6
  const migration_1 = require("./commands/migration");
7
7
  const program = new commander_1.Command();
8
- const chalk = require("chalk");
8
+ const chalk_1 = require("chalk");
9
9
  const pkg = require('../package.json');
10
10
  program
11
11
  .name('nest-cli')
@@ -23,32 +23,32 @@ program.command('help')
23
23
  .description('display comprehensive help for all commands')
24
24
  .action(() => {
25
25
  console.log('');
26
- console.log(chalk.bold.cyan('🪹 NestExtended CLI'));
27
- console.log(chalk.gray(' A powerful command-line interface for the NestExtended ecosystem.'));
26
+ console.log(chalk_1.default.bold.cyan('🪹 NestExtended CLI'));
27
+ console.log(chalk_1.default.gray(' A powerful command-line interface for the NestExtended ecosystem.'));
28
28
  console.log('');
29
- console.log(`${chalk.bold('USAGE')}`);
30
- console.log(` $ ${chalk.green('nest-cli')} ${chalk.yellow('[command]')} ${chalk.cyan('[options]')}`);
29
+ console.log(`${chalk_1.default.bold('USAGE')}`);
30
+ console.log(` $ ${chalk_1.default.green('nest-cli')} ${chalk_1.default.yellow('[command]')} ${chalk_1.default.cyan('[options]')}`);
31
31
  console.log('');
32
- console.log(`${chalk.bold('COMMANDS')}`);
32
+ console.log(`${chalk_1.default.bold('COMMANDS')}`);
33
33
  program.commands.forEach((cmd) => {
34
34
  if (cmd.name() === 'help')
35
35
  return;
36
36
  const aliases = cmd.alias() ? ` | ${cmd.alias()}` : '';
37
- console.log(` ${chalk.green.bold(cmd.name())}${chalk.gray(aliases)}`);
38
- console.log(` ${chalk.white(cmd.description())}`);
37
+ console.log(` ${chalk_1.default.green.bold(cmd.name())}${chalk_1.default.gray(aliases)}`);
38
+ console.log(` ${chalk_1.default.white(cmd.description())}`);
39
39
  if (cmd.commands && cmd.commands.length > 0) {
40
40
  console.log('');
41
41
  cmd.commands.forEach((sub) => {
42
42
  const args = sub.registeredArguments.map(arg => arg.required ? `<${arg.name()}>` : `[${arg.name()}]`).join(' ');
43
- console.log(` ${chalk.cyan('nest-cli')} ${chalk.cyan(cmd.name())} ${chalk.green(sub.name())} ${chalk.yellow(args)}`);
44
- console.log(` ${chalk.gray('└─')} ${sub.description()}`);
43
+ console.log(` ${chalk_1.default.cyan('nest-cli')} ${chalk_1.default.cyan(cmd.name())} ${chalk_1.default.green(sub.name())} ${chalk_1.default.yellow(args)}`);
44
+ console.log(` ${chalk_1.default.gray('└─')} ${sub.description()}`);
45
45
  });
46
46
  }
47
47
  console.log(''); // spacer
48
48
  });
49
- console.log(`${chalk.bold('OPTIONS')}`);
50
- console.log(` ${chalk.cyan('-V, --version')} Output the version number`);
51
- console.log(` ${chalk.cyan('-h, --help')} Display help for command`);
49
+ console.log(`${chalk_1.default.bold('OPTIONS')}`);
50
+ console.log(` ${chalk_1.default.cyan('-V, --version')} Output the version number`);
51
+ console.log(` ${chalk_1.default.cyan('-h, --help')} Display help for command`);
52
52
  console.log('');
53
53
  });
54
54
  program.parse(process.argv);
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/cli/src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/cli/src/index.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createFileWithContent = createFileWithContent;
4
4
  const fs = require("fs-extra");
5
5
  const path = require("path");
6
- const chalk = require("chalk");
6
+ const chalk_1 = require("chalk");
7
7
  function createFileWithContent(filePath, content, callback) {
8
8
  // Extract the directory path from the file path
9
9
  const directory = path.dirname(filePath);
@@ -12,10 +12,10 @@ function createFileWithContent(filePath, content, callback) {
12
12
  // Write the content to the file
13
13
  fs.writeFile(filePath, content, (err) => {
14
14
  if (err) {
15
- console.error(chalk.red('Error creating file:'), err);
15
+ console.error(chalk_1.default.red('Error creating file:'), err);
16
16
  }
17
17
  else {
18
- console.log(chalk.green('File created successfully:'), filePath);
18
+ console.log(chalk_1.default.green('File created successfully:'), filePath);
19
19
  }
20
20
  // Invoke the callback function, if provided
21
21
  if (callback) {
@@ -1 +1 @@
1
- {"version":3,"file":"create-file.js","sourceRoot":"","sources":["../../../../../packages/cli/src/lib/create-file.ts"],"names":[],"mappings":";;AAKA,sDAwBC;AA5BD,+BAA+B;AAC/B,6BAA6B;AAC7B,+BAA+B;AAE/B,SAAgB,qBAAqB,CACjC,QAAgB,EAChB,OAAe,EACf,QAAgC;IAEhC,gDAAgD;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEzC,2CAA2C;IAC3C,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7C,gCAAgC;IAChC,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,GAAiC,EAAE,EAAE;QAClE,IAAI,GAAG,EAAE,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE,QAAQ,CAAC,CAAC;QACrE,CAAC;QAED,4CAA4C;QAC5C,IAAI,QAAQ,EAAE,CAAC;YACX,QAAQ,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"create-file.js","sourceRoot":"","sources":["../../../../../packages/cli/src/lib/create-file.ts"],"names":[],"mappings":";;AAKA,sDAwBC;AA5BD,+BAA+B;AAC/B,6BAA6B;AAC7B,iCAA0B;AAE1B,SAAgB,qBAAqB,CACjC,QAAgB,EAChB,OAAe,EACf,QAAgC;IAEhC,gDAAgD;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEzC,2CAA2C;IAC3C,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7C,gCAAgC;IAChC,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,GAAiC,EAAE,EAAE;QAClE,IAAI,GAAG,EAAE,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE,QAAQ,CAAC,CAAC;QACrE,CAAC;QAED,4CAA4C;QAC5C,IAAI,QAAQ,EAAE,CAAC;YACX,QAAQ,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const generateAuthServices: (appDir: string) => void;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateAuthServices = void 0;
4
+ const path = require("path");
5
+ const fs = require("fs-extra");
6
+ const module_template_1 = require("../templates/module.template");
7
+ const auth_template_1 = require("../templates/auth.template");
8
+ const users_template_1 = require("../templates/users.template");
9
+ const dto_template_1 = require("../templates/dto.template");
10
+ const generateAuthServices = (appDir) => {
11
+ // 5. Generate Users Service
12
+ const usersDir = path.join(appDir, 'src/services/users');
13
+ const schemasDir = path.join(appDir, 'src/schemas');
14
+ fs.ensureDirSync(usersDir);
15
+ fs.ensureDirSync(schemasDir);
16
+ fs.writeFileSync(path.join(schemasDir, 'users.schema.ts'), (0, users_template_1.getUsersSchema)());
17
+ fs.writeFileSync(path.join(usersDir, 'users.module.ts'), (0, module_template_1.getModule)('Users', 'users'));
18
+ fs.writeFileSync(path.join(usersDir, 'users.service.ts'), (0, users_template_1.getUsersService)());
19
+ fs.writeFileSync(path.join(usersDir, 'users.controller.ts'), (0, users_template_1.getUsersController)());
20
+ fs.ensureDirSync(path.join(usersDir, 'dto'));
21
+ fs.writeFileSync(path.join(usersDir, 'dto/users.dto.ts'), (0, dto_template_1.getDto)('Users'));
22
+ // 6. Generate Auth Service
23
+ const authDir = path.join(appDir, 'src/services/auth');
24
+ fs.ensureDirSync(authDir);
25
+ fs.ensureDirSync(path.join(authDir, 'constants'));
26
+ fs.writeFileSync(path.join(authDir, 'auth.module.ts'), (0, auth_template_1.getAuthModule)());
27
+ fs.writeFileSync(path.join(authDir, 'auth.service.ts'), (0, auth_template_1.getAuthService)());
28
+ fs.writeFileSync(path.join(authDir, 'auth.controller.ts'), (0, auth_template_1.getAuthController)());
29
+ fs.writeFileSync(path.join(authDir, 'auth.guard.ts'), (0, auth_template_1.getAuthGuard)());
30
+ fs.writeFileSync(path.join(authDir, 'constants/jwt-constants.ts'), (0, auth_template_1.getJwtConstants)());
31
+ };
32
+ exports.generateAuthServices = generateAuthServices;
33
+ //# sourceMappingURL=generate-auth-services.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-auth-services.js","sourceRoot":"","sources":["../../../../../packages/cli/src/lib/generate-auth-services.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,+BAA+B;AAC/B,kEAAyD;AACzD,8DAMoC;AACpC,gEAAkG;AAClG,4DAAmD;AAE5C,MAAM,oBAAoB,GAAG,CAAC,MAAc,EAAE,EAAE;IACnD,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACpD,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3B,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAE7B,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,IAAA,+BAAc,GAAE,CAAC,CAAC;IAC7E,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EAAE,IAAA,2BAAS,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACtF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EAAE,IAAA,gCAAe,GAAE,CAAC,CAAC;IAC7E,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,qBAAqB,CAAC,EAAE,IAAA,mCAAkB,GAAE,CAAC,CAAC;IACnF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7C,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EAAE,IAAA,qBAAM,EAAC,OAAO,CAAC,CAAC,CAAC;IAE3E,2BAA2B;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACvD,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1B,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IAElD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,IAAA,6BAAa,GAAE,CAAC,CAAC;IACxE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,IAAA,8BAAc,GAAE,CAAC,CAAC;IAC1E,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,EAAE,IAAA,iCAAiB,GAAE,CAAC,CAAC;IAChF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,IAAA,4BAAY,GAAE,CAAC,CAAC;IACtE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,CAAC,EAAE,IAAA,+BAAe,GAAE,CAAC,CAAC;AAC1F,CAAC,CAAC;AAxBW,QAAA,oBAAoB,wBAwB/B"}
@@ -4,20 +4,20 @@ exports.updateAppModule = updateAppModule;
4
4
  const tslib_1 = require("tslib");
5
5
  const fs = require("fs-extra");
6
6
  const path = require("path");
7
- const chalk = require("chalk");
7
+ const chalk_1 = require("chalk");
8
8
  function updateAppModule(Name, name) {
9
9
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
10
10
  const appModulePath = path.join(process.cwd(), 'src/app.module.ts');
11
11
  try {
12
12
  if (!fs.existsSync(appModulePath)) {
13
- console.warn(chalk.yellow(`Warning: ${appModulePath} not found. Skipping app.module.ts update.`));
13
+ console.warn(chalk_1.default.yellow(`Warning: ${appModulePath} not found. Skipping app.module.ts update.`));
14
14
  return;
15
15
  }
16
16
  let content = yield fs.readFile(appModulePath, 'utf-8');
17
17
  // Check if module is already imported
18
18
  const moduleImport = `${Name}Module`;
19
19
  if (content.includes(`import { ${moduleImport} }`)) {
20
- console.log(chalk.yellow(`${moduleImport} is already imported in app.module.ts`));
20
+ console.log(chalk_1.default.yellow(`${moduleImport} is already imported in app.module.ts`));
21
21
  return;
22
22
  }
23
23
  // Find the last module import line (lines importing from './services/')
@@ -96,10 +96,10 @@ function updateAppModule(Name, name) {
96
96
  }
97
97
  }
98
98
  yield fs.writeFile(appModulePath, content, 'utf-8');
99
- console.log(chalk.green(`Successfully added ${Name}Module to app.module.ts`));
99
+ console.log(chalk_1.default.green(`Successfully added ${Name}Module to app.module.ts`));
100
100
  }
101
101
  catch (err) {
102
- console.error(chalk.red('Error updating app.module.ts:'), err.message);
102
+ console.error(chalk_1.default.red('Error updating app.module.ts:'), err.message);
103
103
  }
104
104
  });
105
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"update-app-module.js","sourceRoot":"","sources":["../../../../../packages/cli/src/lib/update-app-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-app-module.js","sourceRoot":"","sources":["../../../../../packages/cli/src/lib/update-app-module.ts"],"names":[],"mappings":";;AAKA,0CA6GC;;AAjHD,+BAA+B;AAC/B,6BAA6B;AAC7B,iCAA0B;AAE1B,SAAsB,eAAe,CAAC,IAAY,EAAE,IAAY;;QAC5D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAC;QAEpE,IAAI,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,YAAY,aAAa,4CAA4C,CAAC,CAAC,CAAC;gBAClG,OAAO;YACX,CAAC;YAED,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAExD,sCAAsC;YACtC,MAAM,YAAY,GAAG,GAAG,IAAI,QAAQ,CAAC;YACrC,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,YAAY,IAAI,CAAC,EAAE,CAAC;gBACjD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,GAAG,YAAY,uCAAuC,CAAC,CAAC,CAAC;gBAClF,OAAO;YACX,CAAC;YAED,wEAAwE;YACxE,MAAM,WAAW,GAAG,6DAA6D,CAAC;YAClF,IAAI,eAAe,GAA2B,IAAI,CAAC;YACnD,IAAI,KAAK,CAAC;YACV,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAClD,eAAe,GAAG,KAAK,CAAC;YAC5B,CAAC;YAED,kCAAkC;YAClC,MAAM,SAAS,GAAG,YAAY,IAAI,6BAA6B,IAAI,IAAI,IAAI,WAAW,CAAC;YAEvF,IAAI,eAAe,EAAE,CAAC;gBAClB,8CAA8C;gBAC9C,MAAM,cAAc,GAAG,eAAe,CAAC,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACzE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAClG,CAAC;iBAAM,CAAC;gBACJ,0EAA0E;gBAC1E,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACtD,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;oBACvD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBAC5F,CAAC;qBAAM,CAAC;oBACJ,2CAA2C;oBAC3C,OAAO,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC;gBACzC,CAAC;YACL,CAAC;YAED,2DAA2D;YAC3D,0BAA0B;YAC1B,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC1D,IAAI,iBAAiB,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC3B,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;gBACjE,IAAI,OAAO,GAAG,CAAC,CAAC;gBAChB,IAAI,mBAAmB,GAAG,CAAC,CAAC,CAAC;gBAE7B,KAAK,IAAI,CAAC,GAAG,gBAAgB,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzD,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;wBAAE,OAAO,EAAE,CAAC;yBAC7B,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;wBAAE,OAAO,EAAE,CAAC;oBAEvC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;wBAChB,mBAAmB,GAAG,CAAC,CAAC;wBACxB,MAAM;oBACV,CAAC;gBACL,CAAC;gBAED,IAAI,mBAAmB,KAAK,CAAC,CAAC,EAAE,CAAC;oBAC7B,4CAA4C;oBAC5C,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;oBAChE,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAEzC,sDAAsD;oBACtD,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC3C,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAEzD,6CAA6C;oBAC7C,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,gBAAgB,GAAG,CAAC,EAAE,mBAAmB,CAAC,CAAC;oBACnF,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;oBAC3C,yDAAyD;oBACzD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAE5E,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAErC,4DAA4D;oBAC5D,MAAM,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC;oBAErC,qFAAqF;oBACrF,wEAAwE;oBACxE,MAAM,uBAAuB,GAAG,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;oBACnE,MAAM,wBAAwB,GAAG,uBAAuB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjG,MAAM,cAAc,GAAG,mBAAmB,GAAG,wBAAwB,CAAC;oBAEtE,yBAAyB;oBACzB,8BAA8B;oBAC9B,iDAAiD;oBACjD,iDAAiD;oBAEjD,MAAM,YAAY,GAAG,GAAG,MAAM,KAAK,UAAU,GAAG,IAAI,YAAY,UAAU,EAAE,CAAC;oBAE7E,sEAAsE;oBACtE,mBAAmB;oBACnB,4DAA4D;oBAC5D,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBACnG,CAAC;YACL,CAAC;YAED,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,sBAAsB,IAAI,yBAAyB,CAAC,CAAC,CAAC;QAClF,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3E,CAAC;IACL,CAAC;CAAA"}
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getController = void 0;
4
4
  const getController = (Name, name, url) => `import {
5
- Body,
6
5
  Controller,
7
6
  Delete,
8
7
  Get,
@@ -39,7 +38,7 @@ export class ${Name}Controller {
39
38
  @Patch('/:id')
40
39
  async patch(
41
40
  @Query() query: Record<string, any>,
42
- @Body() patch${Name}Dto: Partial<${Name}>,
41
+ @ModifyBody(setCreatedBy('updatedBy')) patch${Name}Dto: Partial<${Name}>,
43
42
  @Param('id') id: string,
44
43
  ) {
45
44
  return await this.${name}Service._patch(id, patch${Name}Dto, query);
@@ -1 +1 @@
1
- {"version":3,"file":"controller.template.js","sourceRoot":"","sources":["../../../../../packages/cli/src/templates/controller.template.ts"],"names":[],"mappings":";;;AACO,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAAU,EAAE,CAAC;;;;;;;;;;WAUvE,IAAI,qBAAqB,IAAI;;WAE7B,IAAI,0BAA0B,IAAI;;eAE9B,GAAG;eACH,IAAI;iCACc,IAAI,YAAY,IAAI;;;;wBAI7B,IAAI;;;;;wBAKJ,IAAI;;;;;wCAKY,IAAI,QAAQ,IAAI;;wBAEhC,IAAI,yBAAyB,IAAI;;;;;;mBAMtC,IAAI,gBAAgB,IAAI;;;wBAGnB,IAAI,2BAA2B,IAAI;;;;;wBAKnC,IAAI;;;CAG3B,CAAC;AAjDW,QAAA,aAAa,iBAiDxB"}
1
+ {"version":3,"file":"controller.template.js","sourceRoot":"","sources":["../../../../../packages/cli/src/templates/controller.template.ts"],"names":[],"mappings":";;;AACO,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAAU,EAAE,CAAC;;;;;;;;;WASvE,IAAI,qBAAqB,IAAI;;WAE7B,IAAI,0BAA0B,IAAI;;eAE9B,GAAG;eACH,IAAI;iCACc,IAAI,YAAY,IAAI;;;;wBAI7B,IAAI;;;;;wBAKJ,IAAI;;;;;wCAKY,IAAI,QAAQ,IAAI;;wBAEhC,IAAI,yBAAyB,IAAI;;;;;;kDAMP,IAAI,gBAAgB,IAAI;;;wBAGlD,IAAI,2BAA2B,IAAI;;;;;wBAKnC,IAAI;;;CAG3B,CAAC;AAhDW,QAAA,aAAa,iBAgDxB"}
@@ -1 +1 @@
1
- export declare const getSchema: (Name: string, UserEntity?: string) => string;
1
+ export declare const getSchema: (Name: string, UserEntity?: string, isAuthGenerated?: boolean) => string;
@@ -1,20 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getSchema = void 0;
4
- const getSchema = (Name, UserEntity = 'Users') => `import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
5
- import { HydratedDocument, Types } from 'mongoose';
6
- import { ${UserEntity} } from './users.schema';
7
- import { EnsureObjectId } from '@nest-extended/mongoose';
8
-
9
- export type ${Name}Document = HydratedDocument<${Name}>;
10
-
11
- @Schema({
12
- timestamps: true,
13
- })
14
- export class ${Name} {
15
- @Prop({ trim: true })
16
- name?: string;
17
-
4
+ const getSchema = (Name, UserEntity = 'Users', isAuthGenerated = true) => {
5
+ const authFields = isAuthGenerated ? `
18
6
  @Prop({
19
7
  type: Types.ObjectId,
20
8
  ref: ${UserEntity}.name,
@@ -35,7 +23,21 @@ export class ${Name} {
35
23
  default: null
36
24
  })
37
25
  deletedBy?: Types.ObjectId;
26
+ ` : '';
27
+ return `import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
28
+ import { HydratedDocument, Types } from 'mongoose';
29
+ import { ${UserEntity} } from './users.schema';
30
+ import { EnsureObjectId } from '@nest-extended/mongoose';
38
31
 
32
+ export type ${Name}Document = HydratedDocument<${Name}>;
33
+
34
+ @Schema({
35
+ timestamps: true,
36
+ })
37
+ export class ${Name} {
38
+ @Prop({ trim: true })
39
+ name?: string;
40
+ ${authFields}
39
41
  @Prop({
40
42
  type: Boolean,
41
43
  default: null
@@ -52,5 +54,6 @@ export class ${Name} {
52
54
 
53
55
  export const ${Name}Schema = SchemaFactory.createForClass(${Name});
54
56
  `;
57
+ };
55
58
  exports.getSchema = getSchema;
56
59
  //# sourceMappingURL=schema.template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.template.js","sourceRoot":"","sources":["../../../../../packages/cli/src/templates/schema.template.ts"],"names":[],"mappings":";;;AACO,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,aAAqB,OAAO,EAAU,EAAE,CAAC;;WAEtE,UAAU;;;cAGP,IAAI,+BAA+B,IAAI;;;;;eAKtC,IAAI;;;;;;WAMR,UAAU;;;;;;;WAOV,UAAU;;;;;;;WAOV,UAAU;;;;;;;;;;;;;;;;;;;eAmBN,IAAI,yCAAyC,IAAI;CAC/D,CAAC;AAlDW,QAAA,SAAS,aAkDpB"}
1
+ {"version":3,"file":"schema.template.js","sourceRoot":"","sources":["../../../../../packages/cli/src/templates/schema.template.ts"],"names":[],"mappings":";;;AACO,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,aAAqB,OAAO,EAAE,kBAA2B,IAAI,EAAU,EAAE;IAC/G,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC;;;WAG5B,UAAU;;;;;;;WAOV,UAAU;;;;;;;WAOV,UAAU;;;;CAIpB,CAAC,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO;;WAEE,UAAU;;;cAGP,IAAI,+BAA+B,IAAI;;;;;eAKtC,IAAI;;;IAGf,UAAU;;;;;;;;;;;;;;;eAeC,IAAI,yCAAyC,IAAI;CAC/D,CAAC;AACF,CAAC,CAAC;AAtDW,QAAA,SAAS,aAsDpB"}
@@ -1,2 +1,3 @@
1
1
  export declare const getUsersSchema: () => string;
2
2
  export declare const getUsersService: () => string;
3
+ export declare const getUsersController: () => string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUsersService = exports.getUsersSchema = void 0;
3
+ exports.getUsersController = exports.getUsersService = exports.getUsersSchema = void 0;
4
4
  const getUsersSchema = () => `import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
5
5
  import { HydratedDocument, Types } from 'mongoose';
6
6
 
@@ -56,4 +56,85 @@ export class UsersService extends NestService<Users, UsersDocument> {
56
56
  }
57
57
  `;
58
58
  exports.getUsersService = getUsersService;
59
+ const getUsersController = () => `import {
60
+ BadRequestException,
61
+ Body,
62
+ Controller,
63
+ Get,
64
+ Param,
65
+ Patch,
66
+ Post,
67
+ Query,
68
+ } from '@nestjs/common';
69
+ import { UsersService } from './users.service';
70
+ import { Public } from '@nest-extended/decorators';
71
+ import { Users } from '../../schemas/users.schema';
72
+ import * as bcrypt from 'bcrypt';
73
+ import { JwtService } from '@nestjs/jwt';
74
+
75
+ @Controller('users')
76
+ export class UsersController {
77
+ constructor(
78
+ private readonly usersService: UsersService,
79
+ private readonly jwtService: JwtService,
80
+ ) {}
81
+
82
+ @Get()
83
+ async find(@Query() query: Record<string, any>) {
84
+ return await this.usersService._find(query);
85
+ }
86
+
87
+ @Get('/:id')
88
+ async get(@Query() query: Record<string, any>, @Param('id') id: string) {
89
+ return await this.usersService._get(id, query);
90
+ }
91
+
92
+ @Public()
93
+ @Post()
94
+ async create(@Body() createUsersDto: Users) {
95
+ if (!createUsersDto.email || !createUsersDto.password) {
96
+ throw new BadRequestException('Email or Password not provided!');
97
+ }
98
+
99
+ const saltOrRounds = 10;
100
+ const password = await bcrypt.hash(createUsersDto.password, saltOrRounds);
101
+
102
+ const user = await this.usersService._create({
103
+ ...createUsersDto,
104
+ password,
105
+ });
106
+
107
+ const sanitizedUser = this.usersService.sanitizeUser(user);
108
+ const payload = { sub: { id: user._id }, user };
109
+
110
+ return {
111
+ accessToken: await this.jwtService.signAsync(payload),
112
+ user: sanitizedUser,
113
+ };
114
+ }
115
+
116
+ @Patch('/:id')
117
+ async patch(
118
+ @Query() query: Record<string, any>,
119
+ @Body() patchUsersDto: Partial<Users>,
120
+ @Param('id') id: string,
121
+ ) {
122
+ delete patchUsersDto.email;
123
+ return await this.usersService._patch(id, patchUsersDto, query);
124
+ }
125
+
126
+ @Patch('/:id/block')
127
+ async block(
128
+ @Body() patchUsersDto: { blocked: boolean },
129
+ @Param('id') id: string,
130
+ ) {
131
+ return await this.usersService._patch(
132
+ id,
133
+ { blocked: patchUsersDto?.blocked ?? true },
134
+ {},
135
+ );
136
+ }
137
+ }
138
+ `;
139
+ exports.getUsersController = getUsersController;
59
140
  //# sourceMappingURL=users.template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"users.template.js","sourceRoot":"","sources":["../../../../../packages/cli/src/templates/users.template.ts"],"names":[],"mappings":";;;AAAO,MAAM,cAAc,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B3C,CAAC;AA/BW,QAAA,cAAc,kBA+BzB;AAEK,MAAM,eAAe,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;CAoB5C,CAAC;AApBW,QAAA,eAAe,mBAoB1B"}
1
+ {"version":3,"file":"users.template.js","sourceRoot":"","sources":["../../../../../packages/cli/src/templates/users.template.ts"],"names":[],"mappings":";;;AAAO,MAAM,cAAc,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B3C,CAAC;AA/BW,QAAA,cAAc,kBA+BzB;AAEK,MAAM,eAAe,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;CAoB5C,CAAC;AApBW,QAAA,eAAe,mBAoB1B;AAEK,MAAM,kBAAkB,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+E/C,CAAC;AA/EW,QAAA,kBAAkB,sBA+E7B"}