@mikemajesty/microservice-crud 6.1.0 → 6.1.1
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/package.json +1 -1
- package/src/templates/mongo/core/use-cases/update.js +1 -1
- package/src/templates/mongo/modules/module.js +11 -12
- package/src/templates/mongo/modules/repository.js +3 -3
- package/src/templates/postgres/core/use-cases/__tests__/list.spec.js +1 -1
- package/src/templates/postgres/core/use-cases/update.js +1 -1
package/package.json
CHANGED
|
@@ -31,7 +31,7 @@ export class ${dashToPascal(name)}UpdateUsecase implements IUsecase {
|
|
|
31
31
|
throw new ApiNotFoundException('${snakeToCamel(name)}NotFound');
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
const ${snakeToCamel(name)}Found = new ${dashToPascal(name)}Entity(${name});
|
|
34
|
+
const ${snakeToCamel(name)}Found = new ${dashToPascal(name)}Entity(${snakeToCamel(name)});
|
|
35
35
|
|
|
36
36
|
const entity = new ${dashToPascal(name)}Entity({ ...${snakeToCamel(name)}Found, ...input });
|
|
37
37
|
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
const { dashToPascal } = require("../../../textUtils")
|
|
2
|
-
|
|
1
|
+
const { dashToPascal, snakeToCamel } = require("../../../textUtils")
|
|
3
2
|
|
|
4
3
|
const getModule = (name) => `import { MiddlewareConsumer, Module, NestModule } from '@nestjs/common';
|
|
5
4
|
import { getConnectionToken } from '@nestjs/mongoose';
|
|
@@ -56,36 +55,36 @@ import { ${dashToPascal(name)}Repository } from './repository';
|
|
|
56
55
|
},
|
|
57
56
|
{
|
|
58
57
|
provide: I${dashToPascal(name)}CreateAdapter,
|
|
59
|
-
useFactory: (${name}Repository: I${dashToPascal(name)}Repository, loggerService: ILoggerAdapter) => {
|
|
60
|
-
return new ${dashToPascal(name)}CreateUsecase(${name}Repository, loggerService);
|
|
58
|
+
useFactory: (${snakeToCamel(name)}Repository: I${dashToPascal(name)}Repository, loggerService: ILoggerAdapter) => {
|
|
59
|
+
return new ${dashToPascal(name)}CreateUsecase(${snakeToCamel(name)}Repository, loggerService);
|
|
61
60
|
},
|
|
62
61
|
inject: [I${dashToPascal(name)}Repository, ILoggerAdapter]
|
|
63
62
|
},
|
|
64
63
|
{
|
|
65
64
|
provide: I${dashToPascal(name)}UpdateAdapter,
|
|
66
|
-
useFactory: (${name}Repository: I${dashToPascal(name)}Repository, loggerService: ILoggerAdapter) => {
|
|
67
|
-
return new ${dashToPascal(name)}UpdateUsecase(${name}Repository, loggerService);
|
|
65
|
+
useFactory: (${snakeToCamel(name)}Repository: I${dashToPascal(name)}Repository, loggerService: ILoggerAdapter) => {
|
|
66
|
+
return new ${dashToPascal(name)}UpdateUsecase(${snakeToCamel(name)}Repository, loggerService);
|
|
68
67
|
},
|
|
69
68
|
inject: [I${dashToPascal(name)}Repository, ILoggerAdapter]
|
|
70
69
|
},
|
|
71
70
|
{
|
|
72
71
|
provide: I${dashToPascal(name)}ListAdapter,
|
|
73
|
-
useFactory: (${name}Repository: I${dashToPascal(name)}Repository) => {
|
|
74
|
-
return new ${dashToPascal(name)}ListUsecase(${name}Repository);
|
|
72
|
+
useFactory: (${snakeToCamel(name)}Repository: I${dashToPascal(name)}Repository) => {
|
|
73
|
+
return new ${dashToPascal(name)}ListUsecase(${snakeToCamel(name)}Repository);
|
|
75
74
|
},
|
|
76
75
|
inject: [I${dashToPascal(name)}Repository]
|
|
77
76
|
},
|
|
78
77
|
{
|
|
79
78
|
provide: I${dashToPascal(name)}DeleteAdapter,
|
|
80
|
-
useFactory: (${name}Repository: I${dashToPascal(name)}Repository) => {
|
|
81
|
-
return new ${dashToPascal(name)}DeleteUsecase(${name}Repository);
|
|
79
|
+
useFactory: (${snakeToCamel(name)}Repository: I${dashToPascal(name)}Repository) => {
|
|
80
|
+
return new ${dashToPascal(name)}DeleteUsecase(${snakeToCamel(name)}Repository);
|
|
82
81
|
},
|
|
83
82
|
inject: [I${dashToPascal(name)}Repository]
|
|
84
83
|
},
|
|
85
84
|
{
|
|
86
85
|
provide: I${dashToPascal(name)}GetByIdAdapter,
|
|
87
|
-
useFactory: (${name}Repository: I${dashToPascal(name)}Repository) => {
|
|
88
|
-
return new ${dashToPascal(name)}GetByIdUsecase(${name}Repository);
|
|
86
|
+
useFactory: (${snakeToCamel(name)}Repository: I${dashToPascal(name)}Repository) => {
|
|
87
|
+
return new ${dashToPascal(name)}GetByIdUsecase(${snakeToCamel(name)}Repository);
|
|
89
88
|
},
|
|
90
89
|
inject: [I${dashToPascal(name)}Repository]
|
|
91
90
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const pluralize = require('pluralize')
|
|
2
|
-
const { dashToPascal } = require('../../../textUtils')
|
|
2
|
+
const { dashToPascal, snakeToCamel } = require('../../../textUtils')
|
|
3
3
|
|
|
4
4
|
const getModuleRepository = (name) => `import { Injectable } from '@nestjs/common';
|
|
5
5
|
import { InjectModel } from '@nestjs/mongoose';
|
|
@@ -22,13 +22,13 @@ export class ${dashToPascal(name)}Repository extends MongoRepository<${dashToPas
|
|
|
22
22
|
@ConvertMongooseFilter([{ name: 'name', type: SearchTypeEnum.like }])
|
|
23
23
|
@ValidateDatabaseSortAllowed({ name: 'name' }, { name: 'createdAt' })
|
|
24
24
|
async paginate({ limit, page, sort, search }: ${dashToPascal(name)}ListInput): Promise<${dashToPascal(name)}ListOutput> {
|
|
25
|
-
const ${pluralize(name)} = await this.entity.paginate(search as FilterQuery<IEntity>, {
|
|
25
|
+
const ${pluralize(snakeToCamel(name))} = await this.entity.paginate(search as FilterQuery<IEntity>, {
|
|
26
26
|
page,
|
|
27
27
|
limit,
|
|
28
28
|
sort: sort as object
|
|
29
29
|
});
|
|
30
30
|
|
|
31
|
-
return { docs: ${pluralize(name)}.docs.map((u) => u.toObject({ virtuals: true })), limit, page, total: ${name}s.totalDocs };
|
|
31
|
+
return { docs: ${pluralize(snakeToCamel(name))}.docs.map((u) => u.toObject({ virtuals: true })), limit, page, total: ${snakeToCamel(name)}s.totalDocs };
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
`
|
|
@@ -61,7 +61,7 @@ describe(${dashToPascal(name)}ListUsecase.name, () => {
|
|
|
61
61
|
const ${pluralize(snakeToCamel(name))} = [${snakeToCamel(name)}];
|
|
62
62
|
|
|
63
63
|
test('when ${snakeToCamel(name)} are found, should expect an ${snakeToCamel(name)} list', async () => {
|
|
64
|
-
const output: ${dashToPascal(name)}ListOutput = { docs: ${pluralize(name)}, page: 1, limit: 1, total: 1 };
|
|
64
|
+
const output: ${dashToPascal(name)}ListOutput = { docs: ${pluralize(snakeToCamel(name))}, page: 1, limit: 1, total: 1 };
|
|
65
65
|
repository.paginate = jest.fn().mockResolvedValue(output);
|
|
66
66
|
|
|
67
67
|
await expect(usecase.execute(input)).resolves.toEqual({
|
|
@@ -31,7 +31,7 @@ export class ${dashToPascal(name)}UpdateUsecase implements IUsecase {
|
|
|
31
31
|
throw new ApiNotFoundException('${snakeToCamel(name)}NotFound');
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
const ${snakeToCamel(name)}Found = new ${dashToPascal(name)}Entity(${name});
|
|
34
|
+
const ${snakeToCamel(name)}Found = new ${dashToPascal(name)}Entity(${snakeToCamel(name)});
|
|
35
35
|
|
|
36
36
|
const entity = new ${dashToPascal(name)}Entity({ ...${snakeToCamel(name)}Found, ...input });
|
|
37
37
|
|