mongodb-dynamic-api 1.2.1 → 1.3.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/CHANGELOG.md +11 -0
- package/README.md +90 -11
- package/package.json +3 -1
- package/src/builders/route-decorators.builder.d.ts +1 -0
- package/src/builders/route-decorators.builder.js +13 -2
- package/src/dtos/delete-many-entity.query.d.ts +3 -0
- package/src/dtos/delete-many-entity.query.js +24 -0
- package/src/dtos/index.d.ts +1 -0
- package/src/dtos/index.js +1 -0
- package/src/dynamic-api.module.d.ts +4 -3
- package/src/dynamic-api.module.js +35 -4
- package/src/helpers/format.helper.d.ts +1 -0
- package/src/helpers/format.helper.js +5 -1
- package/src/helpers/route-description.helper.js +6 -0
- package/src/helpers/versioning-config.helper.d.ts +2 -1
- package/src/helpers/versioning-config.helper.js +5 -1
- package/src/interfaces/controller-options.interface.d.ts +8 -0
- package/src/interfaces/dynamic-api-cache-options.interface.d.ts +8 -0
- package/src/interfaces/dynamic-api-options.interface.d.ts +10 -10
- package/src/interfaces/{route-config.interface.d.ts → dynamic-api-route-config.interface.d.ts} +3 -3
- package/src/interfaces/dynamic-api-route-config.interface.js +2 -0
- package/src/interfaces/{service-provider.interface.d.ts → dynamic-api-service-provider.interface.d.ts} +2 -2
- package/src/interfaces/dynamic-api-service-provider.interface.js +2 -0
- package/src/interfaces/index.d.ts +4 -3
- package/src/interfaces/index.js +4 -3
- package/src/modules/create-many/create-many-controller.mixin.js +4 -4
- package/src/modules/create-many/create-many.helper.d.ts +2 -2
- package/src/modules/create-many/create-many.helper.js +3 -2
- package/src/modules/create-many/create-many.module.d.ts +2 -2
- package/src/modules/create-one/create-one-controller.mixin.js +3 -3
- package/src/modules/create-one/create-one.helper.d.ts +2 -2
- package/src/modules/create-one/create-one.helper.js +3 -2
- package/src/modules/create-one/create-one.module.d.ts +2 -2
- package/src/modules/delete-many/base-delete-many.service.d.ts +34 -0
- package/src/modules/delete-many/base-delete-many.service.js +29 -0
- package/src/modules/delete-many/delete-many-controller.interface.d.ts +8 -0
- package/src/modules/delete-many/delete-many-controller.interface.js +2 -0
- package/src/modules/delete-many/delete-many-controller.mixin.d.ts +6 -0
- package/src/modules/delete-many/delete-many-controller.mixin.js +54 -0
- package/src/modules/delete-many/delete-many-service.interface.d.ts +6 -0
- package/src/modules/delete-many/delete-many-service.interface.js +2 -0
- package/src/modules/delete-many/delete-many.helper.d.ts +7 -0
- package/src/modules/delete-many/delete-many.helper.js +69 -0
- package/src/modules/delete-many/delete-many.module.d.ts +6 -0
- package/src/modules/delete-many/delete-many.module.js +28 -0
- package/src/modules/delete-many/delete-many.presenter.d.ts +3 -0
- package/src/modules/delete-many/delete-many.presenter.js +20 -0
- package/src/modules/delete-many/index.d.ts +7 -0
- package/src/modules/delete-many/index.js +23 -0
- package/src/modules/delete-one/delete-one-controller.mixin.js +3 -3
- package/src/modules/delete-one/delete-one.helper.d.ts +2 -2
- package/src/modules/delete-one/delete-one.helper.js +3 -2
- package/src/modules/delete-one/delete-one.module.d.ts +2 -2
- package/src/modules/duplicate-many/base-duplicate-many.service.d.ts +33 -0
- package/src/modules/duplicate-many/base-duplicate-many.service.js +43 -0
- package/src/modules/duplicate-many/duplicate-many-controller.interface.d.ts +7 -0
- package/src/modules/duplicate-many/duplicate-many-controller.interface.js +2 -0
- package/src/modules/duplicate-many/duplicate-many-controller.mixin.d.ts +6 -0
- package/src/modules/duplicate-many/duplicate-many-controller.mixin.js +63 -0
- package/src/modules/duplicate-many/duplicate-many-service.interface.d.ts +5 -0
- package/src/modules/duplicate-many/duplicate-many-service.interface.js +2 -0
- package/src/modules/duplicate-many/duplicate-many.helper.d.ts +7 -0
- package/src/modules/duplicate-many/duplicate-many.helper.js +69 -0
- package/src/modules/duplicate-many/duplicate-many.module.d.ts +6 -0
- package/src/modules/duplicate-many/duplicate-many.module.js +28 -0
- package/src/modules/duplicate-many/index.d.ts +6 -0
- package/src/modules/duplicate-many/index.js +22 -0
- package/src/modules/duplicate-one/duplicate-one-controller.mixin.js +4 -4
- package/src/modules/duplicate-one/duplicate-one.helper.d.ts +2 -2
- package/src/modules/duplicate-one/duplicate-one.helper.js +3 -2
- package/src/modules/duplicate-one/duplicate-one.module.d.ts +2 -2
- package/src/modules/get-many/get-many-controller.mixin.js +3 -3
- package/src/modules/get-many/get-many.helper.d.ts +2 -2
- package/src/modules/get-many/get-many.helper.js +3 -2
- package/src/modules/get-many/get-many.module.d.ts +2 -2
- package/src/modules/get-one/get-one-controller.mixin.js +4 -4
- package/src/modules/get-one/get-one.helper.d.ts +2 -2
- package/src/modules/get-one/get-one.helper.js +3 -2
- package/src/modules/get-one/get-one.module.d.ts +2 -2
- package/src/modules/replace-one/replace-one-controller.mixin.js +4 -4
- package/src/modules/replace-one/replace-one.helper.d.ts +2 -2
- package/src/modules/replace-one/replace-one.helper.js +3 -2
- package/src/modules/replace-one/replace-one.module.d.ts +2 -2
- package/src/modules/update-many/base-update-many.service.d.ts +33 -0
- package/src/modules/update-many/base-update-many.service.js +32 -0
- package/src/modules/update-many/index.d.ts +6 -0
- package/src/modules/update-many/index.js +22 -0
- package/src/modules/update-many/update-many-controller.interface.d.ts +7 -0
- package/src/modules/update-many/update-many-controller.interface.js +2 -0
- package/src/modules/update-many/update-many-controller.mixin.d.ts +6 -0
- package/src/modules/update-many/update-many-controller.mixin.js +63 -0
- package/src/modules/update-many/update-many-service.interface.d.ts +5 -0
- package/src/modules/update-many/update-many-service.interface.js +2 -0
- package/src/modules/update-many/update-many.helper.d.ts +7 -0
- package/src/modules/update-many/update-many.helper.js +69 -0
- package/src/modules/update-many/update-many.module.d.ts +6 -0
- package/src/modules/update-many/update-many.module.js +28 -0
- package/src/modules/update-one/update-one-controller.mixin.js +4 -4
- package/src/modules/update-one/update-one.helper.d.ts +2 -2
- package/src/modules/update-one/update-one.helper.js +3 -2
- package/src/modules/update-one/update-one.module.d.ts +2 -2
- package/src/version.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- /package/src/interfaces/{entity-mappers.interface.js → controller-options.interface.js} +0 -0
- /package/src/interfaces/{route-config.interface.js → dynamic-api-cache-options.interface.js} +0 -0
- /package/src/interfaces/{entity-mappers.interface.d.ts → dynamic-api-entity-mappers.interface.d.ts} +0 -0
- /package/src/interfaces/{service-provider.interface.js → dynamic-api-entity-mappers.interface.js} +0 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.DuplicateManyControllerMixin = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const builders_1 = require("../../builders");
|
|
18
|
+
const helpers_1 = require("../../helpers");
|
|
19
|
+
const mixins_1 = require("../../mixins");
|
|
20
|
+
function DuplicateManyControllerMixin(entity, path, apiTag, version, description, DTOs) {
|
|
21
|
+
const displayedName = (0, helpers_1.pascalCase)(apiTag) ?? entity.name;
|
|
22
|
+
const { body: CustomBody, presenter: CustomPresenter, } = DTOs ?? {};
|
|
23
|
+
class RouteBody extends (CustomBody ?? (0, mixins_1.EntityBodyMixin)(entity, true)) {
|
|
24
|
+
}
|
|
25
|
+
if (!CustomBody) {
|
|
26
|
+
Object.defineProperty(RouteBody, 'name', {
|
|
27
|
+
value: `DuplicateMany${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Dto`,
|
|
28
|
+
writable: false,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
class RoutePresenter extends (CustomPresenter ?? (0, mixins_1.EntityPresenterMixin)(entity)) {
|
|
32
|
+
}
|
|
33
|
+
if (!CustomPresenter) {
|
|
34
|
+
Object.defineProperty(RoutePresenter, 'name', {
|
|
35
|
+
value: `${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Presenter`,
|
|
36
|
+
writable: false,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder('DuplicateMany', entity, version, description, undefined, undefined, RouteBody, RoutePresenter);
|
|
40
|
+
class BaseDuplicateManyController {
|
|
41
|
+
constructor(service) {
|
|
42
|
+
this.service = service;
|
|
43
|
+
this.entity = entity;
|
|
44
|
+
}
|
|
45
|
+
async duplicateMany(ids, body) {
|
|
46
|
+
return this.service.duplicateMany(ids, body);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
__decorate([
|
|
50
|
+
(0, helpers_1.RouteDecoratorsHelper)(routeDecoratorsBuilder),
|
|
51
|
+
__param(0, (0, common_1.Query)('ids')),
|
|
52
|
+
__param(1, (0, common_1.Body)()),
|
|
53
|
+
__metadata("design:type", Function),
|
|
54
|
+
__metadata("design:paramtypes", [Array, RouteBody]),
|
|
55
|
+
__metadata("design:returntype", Promise)
|
|
56
|
+
], BaseDuplicateManyController.prototype, "duplicateMany", null);
|
|
57
|
+
Object.defineProperty(BaseDuplicateManyController, 'name', {
|
|
58
|
+
value: `BaseDuplicateMany${entity.name}${(0, helpers_1.addVersionSuffix)(version)}Controller`,
|
|
59
|
+
writable: false,
|
|
60
|
+
});
|
|
61
|
+
return BaseDuplicateManyController;
|
|
62
|
+
}
|
|
63
|
+
exports.DuplicateManyControllerMixin = DuplicateManyControllerMixin;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
+
import { DTOsBundle, DynamicAPIServiceProvider } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
import { DuplicateManyControllerConstructor } from './duplicate-many-controller.interface';
|
|
5
|
+
declare function createDuplicateManyServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, version: string | undefined): DynamicAPIServiceProvider;
|
|
6
|
+
declare function createDuplicateManyController<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle, validationPipeOptions?: ValidationPipeOptions): DuplicateManyControllerConstructor<Entity>;
|
|
7
|
+
export { createDuplicateManyController, createDuplicateManyServiceProvider };
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.createDuplicateManyServiceProvider = exports.createDuplicateManyController = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const mongoose_1 = require("@nestjs/mongoose");
|
|
18
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
19
|
+
const mongoose_2 = require("mongoose");
|
|
20
|
+
const dynamic_api_module_1 = require("../../dynamic-api.module");
|
|
21
|
+
const helpers_1 = require("../../helpers");
|
|
22
|
+
const base_duplicate_many_service_1 = require("./base-duplicate-many.service");
|
|
23
|
+
const duplicate_many_controller_mixin_1 = require("./duplicate-many-controller.mixin");
|
|
24
|
+
function provideServiceName(entityName, version) {
|
|
25
|
+
return `DuplicateMany${entityName}${(0, helpers_1.addVersionSuffix)(version)}Service`;
|
|
26
|
+
}
|
|
27
|
+
function createDuplicateManyServiceProvider(entity, version) {
|
|
28
|
+
let DuplicateManyService = class DuplicateManyService extends base_duplicate_many_service_1.BaseDuplicateManyService {
|
|
29
|
+
constructor(model) {
|
|
30
|
+
super(model);
|
|
31
|
+
this.model = model;
|
|
32
|
+
this.entity = entity;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
DuplicateManyService = __decorate([
|
|
36
|
+
__param(0, (0, mongoose_1.InjectModel)(entity.name, dynamic_api_module_1.DynamicApiModule.connectionName)),
|
|
37
|
+
__metadata("design:paramtypes", [mongoose_2.Model])
|
|
38
|
+
], DuplicateManyService);
|
|
39
|
+
Object.defineProperty(DuplicateManyService, 'name', {
|
|
40
|
+
value: provideServiceName(entity.name, version),
|
|
41
|
+
writable: false,
|
|
42
|
+
});
|
|
43
|
+
return {
|
|
44
|
+
provide: provideServiceName(entity.name, version),
|
|
45
|
+
useClass: DuplicateManyService,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
exports.createDuplicateManyServiceProvider = createDuplicateManyServiceProvider;
|
|
49
|
+
function createDuplicateManyController(entity, path, apiTag, version, description, DTOs, validationPipeOptions) {
|
|
50
|
+
let DuplicateManyController = class DuplicateManyController extends (0, duplicate_many_controller_mixin_1.DuplicateManyControllerMixin)(entity, path, apiTag, version, description, DTOs) {
|
|
51
|
+
constructor(service) {
|
|
52
|
+
super(service);
|
|
53
|
+
this.service = service;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
DuplicateManyController = __decorate([
|
|
57
|
+
(0, common_1.Controller)({ path, version }),
|
|
58
|
+
(0, swagger_1.ApiTags)(apiTag || entity.name),
|
|
59
|
+
(0, common_1.UsePipes)(new common_1.ValidationPipe(validationPipeOptions ?? { transform: true })),
|
|
60
|
+
__param(0, (0, common_1.Inject)(provideServiceName(entity.name, version))),
|
|
61
|
+
__metadata("design:paramtypes", [Object])
|
|
62
|
+
], DuplicateManyController);
|
|
63
|
+
Object.defineProperty(DuplicateManyController, 'name', {
|
|
64
|
+
value: `DuplicateMany${entity.name}${(0, helpers_1.addVersionSuffix)(version)}Controller`,
|
|
65
|
+
writable: false,
|
|
66
|
+
});
|
|
67
|
+
return DuplicateManyController;
|
|
68
|
+
}
|
|
69
|
+
exports.createDuplicateManyController = createDuplicateManyController;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DynamicModule, Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
+
import { ControllerOptions, DynamicAPIRouteConfig } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
export declare class DuplicateManyModule {
|
|
5
|
+
static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, { path, apiTag }: ControllerOptions, { description, dTOs: DTOs }: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): DynamicModule;
|
|
6
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var DuplicateManyModule_1;
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.DuplicateManyModule = void 0;
|
|
11
|
+
const common_1 = require("@nestjs/common");
|
|
12
|
+
const duplicate_many_helper_1 = require("./duplicate-many.helper");
|
|
13
|
+
let DuplicateManyModule = DuplicateManyModule_1 = class DuplicateManyModule {
|
|
14
|
+
static forFeature(databaseModule, entity, { path, apiTag }, { description, dTOs: DTOs }, version, validationPipeOptions) {
|
|
15
|
+
const controller = (0, duplicate_many_helper_1.createDuplicateManyController)(entity, path, apiTag, version, description, DTOs, validationPipeOptions);
|
|
16
|
+
const ServiceProvider = (0, duplicate_many_helper_1.createDuplicateManyServiceProvider)(entity, version);
|
|
17
|
+
return {
|
|
18
|
+
module: DuplicateManyModule_1,
|
|
19
|
+
imports: [databaseModule],
|
|
20
|
+
controllers: [controller],
|
|
21
|
+
providers: [ServiceProvider],
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.DuplicateManyModule = DuplicateManyModule;
|
|
26
|
+
exports.DuplicateManyModule = DuplicateManyModule = DuplicateManyModule_1 = __decorate([
|
|
27
|
+
(0, common_1.Module)({})
|
|
28
|
+
], DuplicateManyModule);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './base-duplicate-many.service';
|
|
2
|
+
export * from './duplicate-many.helper';
|
|
3
|
+
export * from './duplicate-many.module';
|
|
4
|
+
export * from './duplicate-many-controller.interface';
|
|
5
|
+
export * from './duplicate-many-controller.mixin';
|
|
6
|
+
export * from './duplicate-many-service.interface';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./base-duplicate-many.service"), exports);
|
|
18
|
+
__exportStar(require("./duplicate-many.helper"), exports);
|
|
19
|
+
__exportStar(require("./duplicate-many.module"), exports);
|
|
20
|
+
__exportStar(require("./duplicate-many-controller.interface"), exports);
|
|
21
|
+
__exportStar(require("./duplicate-many-controller.mixin"), exports);
|
|
22
|
+
__exportStar(require("./duplicate-many-service.interface"), exports);
|
|
@@ -25,7 +25,7 @@ function DuplicateOneControllerMixin(entity, path, apiTag, version, description,
|
|
|
25
25
|
}
|
|
26
26
|
if (!CustomBody) {
|
|
27
27
|
Object.defineProperty(RouteBody, 'name', {
|
|
28
|
-
value: `DuplicateOne${displayedName}${
|
|
28
|
+
value: `DuplicateOne${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Dto`,
|
|
29
29
|
writable: false,
|
|
30
30
|
});
|
|
31
31
|
}
|
|
@@ -33,7 +33,7 @@ function DuplicateOneControllerMixin(entity, path, apiTag, version, description,
|
|
|
33
33
|
}
|
|
34
34
|
if (!CustomParam) {
|
|
35
35
|
Object.defineProperty(RouteParam, 'name', {
|
|
36
|
-
value: `DuplicateOne${displayedName}${
|
|
36
|
+
value: `DuplicateOne${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Param`,
|
|
37
37
|
writable: false,
|
|
38
38
|
});
|
|
39
39
|
}
|
|
@@ -41,7 +41,7 @@ function DuplicateOneControllerMixin(entity, path, apiTag, version, description,
|
|
|
41
41
|
}
|
|
42
42
|
if (!CustomPresenter) {
|
|
43
43
|
Object.defineProperty(RoutePresenter, 'name', {
|
|
44
|
-
value: `${displayedName}${
|
|
44
|
+
value: `${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Presenter`,
|
|
45
45
|
writable: false,
|
|
46
46
|
});
|
|
47
47
|
}
|
|
@@ -64,7 +64,7 @@ function DuplicateOneControllerMixin(entity, path, apiTag, version, description,
|
|
|
64
64
|
__metadata("design:returntype", Promise)
|
|
65
65
|
], BaseDuplicateOneController.prototype, "duplicateOne", null);
|
|
66
66
|
Object.defineProperty(BaseDuplicateOneController, 'name', {
|
|
67
|
-
value: `BaseDuplicateOne${entity.name}${
|
|
67
|
+
value: `BaseDuplicateOne${entity.name}${(0, helpers_1.addVersionSuffix)(version)}Controller`,
|
|
68
68
|
writable: false,
|
|
69
69
|
});
|
|
70
70
|
return BaseDuplicateOneController;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
-
import { DTOsBundle,
|
|
2
|
+
import { DTOsBundle, DynamicAPIServiceProvider } from '../../interfaces';
|
|
3
3
|
import { BaseEntity } from '../../models';
|
|
4
4
|
import { DuplicateOneControllerConstructor } from './duplicate-one-controller.interface';
|
|
5
|
-
declare function createDuplicateOneServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, version: string | undefined):
|
|
5
|
+
declare function createDuplicateOneServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, version: string | undefined): DynamicAPIServiceProvider;
|
|
6
6
|
declare function createDuplicateOneController<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle, validationPipeOptions?: ValidationPipeOptions): DuplicateOneControllerConstructor<Entity>;
|
|
7
7
|
export { createDuplicateOneController, createDuplicateOneServiceProvider };
|
|
@@ -18,10 +18,11 @@ const mongoose_1 = require("@nestjs/mongoose");
|
|
|
18
18
|
const swagger_1 = require("@nestjs/swagger");
|
|
19
19
|
const mongoose_2 = require("mongoose");
|
|
20
20
|
const dynamic_api_module_1 = require("../../dynamic-api.module");
|
|
21
|
+
const helpers_1 = require("../../helpers");
|
|
21
22
|
const base_duplicate_one_service_1 = require("./base-duplicate-one.service");
|
|
22
23
|
const duplicate_one_controller_mixin_1 = require("./duplicate-one-controller.mixin");
|
|
23
24
|
function provideServiceName(entityName, version) {
|
|
24
|
-
return `DuplicateOne${entityName}${
|
|
25
|
+
return `DuplicateOne${entityName}${(0, helpers_1.addVersionSuffix)(version)}Service`;
|
|
25
26
|
}
|
|
26
27
|
function createDuplicateOneServiceProvider(entity, version) {
|
|
27
28
|
let DuplicateOneService = class DuplicateOneService extends base_duplicate_one_service_1.BaseDuplicateOneService {
|
|
@@ -60,7 +61,7 @@ function createDuplicateOneController(entity, path, apiTag, version, description
|
|
|
60
61
|
__metadata("design:paramtypes", [Object])
|
|
61
62
|
], DuplicateOneController);
|
|
62
63
|
Object.defineProperty(DuplicateOneController, 'name', {
|
|
63
|
-
value: `DuplicateOne${entity.name}${
|
|
64
|
+
value: `DuplicateOne${entity.name}${(0, helpers_1.addVersionSuffix)(version)}Controller`,
|
|
64
65
|
writable: false,
|
|
65
66
|
});
|
|
66
67
|
return DuplicateOneController;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DynamicModule, Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
-
import { ControllerOptions,
|
|
2
|
+
import { ControllerOptions, DynamicAPIRouteConfig } from '../../interfaces';
|
|
3
3
|
import { BaseEntity } from '../../models';
|
|
4
4
|
export declare class DuplicateOneModule {
|
|
5
|
-
static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, { path, apiTag }: ControllerOptions, { description, dTOs: DTOs }:
|
|
5
|
+
static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, { path, apiTag }: ControllerOptions, { description, dTOs: DTOs }: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): DynamicModule;
|
|
6
6
|
}
|
|
@@ -25,7 +25,7 @@ function GetManyControllerMixin(entity, path, apiTag, version, description, DTOs
|
|
|
25
25
|
}
|
|
26
26
|
if (!CustomQuery) {
|
|
27
27
|
Object.defineProperty(RouteQuery, 'name', {
|
|
28
|
-
value: `GetMany${displayedName}${
|
|
28
|
+
value: `GetMany${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Query`,
|
|
29
29
|
writable: false,
|
|
30
30
|
});
|
|
31
31
|
}
|
|
@@ -33,7 +33,7 @@ function GetManyControllerMixin(entity, path, apiTag, version, description, DTOs
|
|
|
33
33
|
}
|
|
34
34
|
if (!CustomPresenter) {
|
|
35
35
|
Object.defineProperty(RoutePresenter, 'name', {
|
|
36
|
-
value: `${displayedName}${
|
|
36
|
+
value: `${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Presenter`,
|
|
37
37
|
writable: false,
|
|
38
38
|
});
|
|
39
39
|
}
|
|
@@ -55,7 +55,7 @@ function GetManyControllerMixin(entity, path, apiTag, version, description, DTOs
|
|
|
55
55
|
__metadata("design:returntype", Promise)
|
|
56
56
|
], BaseGetManyController.prototype, "getMany", null);
|
|
57
57
|
Object.defineProperty(BaseGetManyController, 'name', {
|
|
58
|
-
value: `BaseGetMany${entity.name}${
|
|
58
|
+
value: `BaseGetMany${entity.name}${(0, helpers_1.addVersionSuffix)(version)}Controller`,
|
|
59
59
|
writable: false,
|
|
60
60
|
});
|
|
61
61
|
return BaseGetManyController;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
-
import { DTOsBundle,
|
|
2
|
+
import { DTOsBundle, DynamicAPIServiceProvider } from '../../interfaces';
|
|
3
3
|
import { BaseEntity } from '../../models';
|
|
4
4
|
import { GetManyControllerConstructor } from './get-many-controller.interface';
|
|
5
|
-
declare function createGetManyServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, version: string | undefined):
|
|
5
|
+
declare function createGetManyServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, version: string | undefined): DynamicAPIServiceProvider;
|
|
6
6
|
declare function createGetManyController<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle, validationPipeOptions?: ValidationPipeOptions): GetManyControllerConstructor<Entity>;
|
|
7
7
|
export { createGetManyController, createGetManyServiceProvider };
|
|
@@ -18,10 +18,11 @@ const mongoose_1 = require("@nestjs/mongoose");
|
|
|
18
18
|
const swagger_1 = require("@nestjs/swagger");
|
|
19
19
|
const mongoose_2 = require("mongoose");
|
|
20
20
|
const dynamic_api_module_1 = require("../../dynamic-api.module");
|
|
21
|
+
const helpers_1 = require("../../helpers");
|
|
21
22
|
const base_get_many_service_1 = require("./base-get-many.service");
|
|
22
23
|
const get_many_controller_mixin_1 = require("./get-many-controller.mixin");
|
|
23
24
|
function provideServiceName(entityName, version) {
|
|
24
|
-
return `GetMany${entityName}${
|
|
25
|
+
return `GetMany${entityName}${(0, helpers_1.addVersionSuffix)(version)}Service`;
|
|
25
26
|
}
|
|
26
27
|
function createGetManyServiceProvider(entity, version) {
|
|
27
28
|
let GetManyService = class GetManyService extends base_get_many_service_1.BaseGetManyService {
|
|
@@ -60,7 +61,7 @@ function createGetManyController(entity, path, apiTag, version, description, DTO
|
|
|
60
61
|
__metadata("design:paramtypes", [Object])
|
|
61
62
|
], GetManyController);
|
|
62
63
|
Object.defineProperty(GetManyController, 'name', {
|
|
63
|
-
value: `GetMany${entity.name}${
|
|
64
|
+
value: `GetMany${entity.name}${(0, helpers_1.addVersionSuffix)(version)}Controller`,
|
|
64
65
|
writable: false,
|
|
65
66
|
});
|
|
66
67
|
return GetManyController;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DynamicModule, Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
-
import { ControllerOptions,
|
|
2
|
+
import { ControllerOptions, DynamicAPIRouteConfig } from '../../interfaces';
|
|
3
3
|
import { BaseEntity } from '../../models';
|
|
4
4
|
export declare class GetManyModule {
|
|
5
|
-
static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, { path, apiTag }: ControllerOptions, { description, dTOs: DTOs }:
|
|
5
|
+
static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, { path, apiTag }: ControllerOptions, { description, dTOs: DTOs }: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): DynamicModule;
|
|
6
6
|
}
|
|
@@ -25,7 +25,7 @@ function GetOneControllerMixin(entity, path, apiTag, version, description, DTOs)
|
|
|
25
25
|
}
|
|
26
26
|
if (!CustomParam) {
|
|
27
27
|
Object.defineProperty(RouteParam, 'name', {
|
|
28
|
-
value: `GetOne${displayedName}${
|
|
28
|
+
value: `GetOne${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Param`,
|
|
29
29
|
writable: false,
|
|
30
30
|
});
|
|
31
31
|
}
|
|
@@ -33,7 +33,7 @@ function GetOneControllerMixin(entity, path, apiTag, version, description, DTOs)
|
|
|
33
33
|
}
|
|
34
34
|
if (!CustomQuery) {
|
|
35
35
|
Object.defineProperty(RouteQuery, 'name', {
|
|
36
|
-
value: `GetOne${displayedName}${
|
|
36
|
+
value: `GetOne${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Query`,
|
|
37
37
|
writable: false,
|
|
38
38
|
});
|
|
39
39
|
}
|
|
@@ -41,7 +41,7 @@ function GetOneControllerMixin(entity, path, apiTag, version, description, DTOs)
|
|
|
41
41
|
}
|
|
42
42
|
if (!CustomPresenter) {
|
|
43
43
|
Object.defineProperty(RoutePresenter, 'name', {
|
|
44
|
-
value: `${displayedName}${
|
|
44
|
+
value: `${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Presenter`,
|
|
45
45
|
writable: false,
|
|
46
46
|
});
|
|
47
47
|
}
|
|
@@ -63,7 +63,7 @@ function GetOneControllerMixin(entity, path, apiTag, version, description, DTOs)
|
|
|
63
63
|
__metadata("design:returntype", Promise)
|
|
64
64
|
], BaseGetOneController.prototype, "getOne", null);
|
|
65
65
|
Object.defineProperty(BaseGetOneController, 'name', {
|
|
66
|
-
value: `BaseGetOne${entity.name}${
|
|
66
|
+
value: `BaseGetOne${entity.name}${(0, helpers_1.addVersionSuffix)(version)}Controller`,
|
|
67
67
|
writable: false,
|
|
68
68
|
});
|
|
69
69
|
return BaseGetOneController;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
-
import { DTOsBundle,
|
|
2
|
+
import { DTOsBundle, DynamicAPIServiceProvider } from '../../interfaces';
|
|
3
3
|
import { BaseEntity } from '../../models';
|
|
4
4
|
import { GetOneControllerConstructor } from './get-one-controller.interface';
|
|
5
|
-
declare function createGetOneServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, version: string | undefined):
|
|
5
|
+
declare function createGetOneServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, version: string | undefined): DynamicAPIServiceProvider;
|
|
6
6
|
declare function createGetOneController<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle, validationPipeOptions?: ValidationPipeOptions): GetOneControllerConstructor<Entity>;
|
|
7
7
|
export { createGetOneController, createGetOneServiceProvider };
|
|
@@ -18,10 +18,11 @@ const mongoose_1 = require("@nestjs/mongoose");
|
|
|
18
18
|
const swagger_1 = require("@nestjs/swagger");
|
|
19
19
|
const mongoose_2 = require("mongoose");
|
|
20
20
|
const dynamic_api_module_1 = require("../../dynamic-api.module");
|
|
21
|
+
const helpers_1 = require("../../helpers");
|
|
21
22
|
const base_get_one_service_1 = require("./base-get-one.service");
|
|
22
23
|
const get_one_controller_mixin_1 = require("./get-one-controller.mixin");
|
|
23
24
|
function provideServiceName(entityName, version) {
|
|
24
|
-
return `GetOne${entityName}${
|
|
25
|
+
return `GetOne${entityName}${(0, helpers_1.addVersionSuffix)(version)}Service`;
|
|
25
26
|
}
|
|
26
27
|
function createGetOneServiceProvider(entity, version) {
|
|
27
28
|
let GetOneService = class GetOneService extends base_get_one_service_1.BaseGetOneService {
|
|
@@ -60,7 +61,7 @@ function createGetOneController(entity, path, apiTag, version, description, DTOs
|
|
|
60
61
|
__metadata("design:paramtypes", [Object])
|
|
61
62
|
], GetOneController);
|
|
62
63
|
Object.defineProperty(GetOneController, 'name', {
|
|
63
|
-
value: `GetOne${entity.name}${
|
|
64
|
+
value: `GetOne${entity.name}${(0, helpers_1.addVersionSuffix)(version)}Controller`,
|
|
64
65
|
writable: false,
|
|
65
66
|
});
|
|
66
67
|
return GetOneController;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DynamicModule, Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
-
import { ControllerOptions,
|
|
2
|
+
import { ControllerOptions, DynamicAPIRouteConfig } from '../../interfaces';
|
|
3
3
|
import { BaseEntity } from '../../models';
|
|
4
4
|
export declare class GetOneModule {
|
|
5
|
-
static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, { path, apiTag }: ControllerOptions, { description, dTOs: DTOs }:
|
|
5
|
+
static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, { path, apiTag }: ControllerOptions, { description, dTOs: DTOs }: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): DynamicModule;
|
|
6
6
|
}
|
|
@@ -25,7 +25,7 @@ function ReplaceOneControllerMixin(entity, path, apiTag, version, description, D
|
|
|
25
25
|
}
|
|
26
26
|
if (!CustomBody) {
|
|
27
27
|
Object.defineProperty(RouteBody, 'name', {
|
|
28
|
-
value: `ReplaceOne${displayedName}${
|
|
28
|
+
value: `ReplaceOne${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Dto`,
|
|
29
29
|
writable: false,
|
|
30
30
|
});
|
|
31
31
|
}
|
|
@@ -33,7 +33,7 @@ function ReplaceOneControllerMixin(entity, path, apiTag, version, description, D
|
|
|
33
33
|
}
|
|
34
34
|
if (!CustomParam) {
|
|
35
35
|
Object.defineProperty(RouteParam, 'name', {
|
|
36
|
-
value: `ReplaceOne${displayedName}${
|
|
36
|
+
value: `ReplaceOne${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Param`,
|
|
37
37
|
writable: false,
|
|
38
38
|
});
|
|
39
39
|
}
|
|
@@ -41,7 +41,7 @@ function ReplaceOneControllerMixin(entity, path, apiTag, version, description, D
|
|
|
41
41
|
}
|
|
42
42
|
if (!CustomPresenter) {
|
|
43
43
|
Object.defineProperty(RoutePresenter, 'name', {
|
|
44
|
-
value: `${displayedName}${
|
|
44
|
+
value: `${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Presenter`,
|
|
45
45
|
writable: false,
|
|
46
46
|
});
|
|
47
47
|
}
|
|
@@ -64,7 +64,7 @@ function ReplaceOneControllerMixin(entity, path, apiTag, version, description, D
|
|
|
64
64
|
__metadata("design:returntype", Promise)
|
|
65
65
|
], BaseReplaceOneController.prototype, "replaceOne", null);
|
|
66
66
|
Object.defineProperty(BaseReplaceOneController, 'name', {
|
|
67
|
-
value: `BaseReplaceOne${entity.name}${
|
|
67
|
+
value: `BaseReplaceOne${entity.name}${(0, helpers_1.addVersionSuffix)(version)}Controller`,
|
|
68
68
|
writable: false,
|
|
69
69
|
});
|
|
70
70
|
return BaseReplaceOneController;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
-
import { DTOsBundle,
|
|
2
|
+
import { DTOsBundle, DynamicAPIServiceProvider } from '../../interfaces';
|
|
3
3
|
import { BaseEntity } from '../../models';
|
|
4
4
|
import { ReplaceOneControllerConstructor } from './replace-one-controller.interface';
|
|
5
|
-
declare function createReplaceOneServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, version: string | undefined):
|
|
5
|
+
declare function createReplaceOneServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, version: string | undefined): DynamicAPIServiceProvider;
|
|
6
6
|
declare function createReplaceOneController<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle, validationPipeOptions?: ValidationPipeOptions): ReplaceOneControllerConstructor<Entity>;
|
|
7
7
|
export { createReplaceOneController, createReplaceOneServiceProvider };
|
|
@@ -18,10 +18,11 @@ const mongoose_1 = require("@nestjs/mongoose");
|
|
|
18
18
|
const swagger_1 = require("@nestjs/swagger");
|
|
19
19
|
const mongoose_2 = require("mongoose");
|
|
20
20
|
const dynamic_api_module_1 = require("../../dynamic-api.module");
|
|
21
|
+
const helpers_1 = require("../../helpers");
|
|
21
22
|
const base_replace_one_service_1 = require("./base-replace-one.service");
|
|
22
23
|
const replace_one_controller_mixin_1 = require("./replace-one-controller.mixin");
|
|
23
24
|
function provideServiceName(entityName, version) {
|
|
24
|
-
return `ReplaceOne${entityName}${
|
|
25
|
+
return `ReplaceOne${entityName}${(0, helpers_1.addVersionSuffix)(version)}Service`;
|
|
25
26
|
}
|
|
26
27
|
function createReplaceOneServiceProvider(entity, version) {
|
|
27
28
|
let ReplaceOneService = class ReplaceOneService extends base_replace_one_service_1.BaseReplaceOneService {
|
|
@@ -60,7 +61,7 @@ function createReplaceOneController(entity, path, apiTag, version, description,
|
|
|
60
61
|
__metadata("design:paramtypes", [Object])
|
|
61
62
|
], ReplaceOneController);
|
|
62
63
|
Object.defineProperty(ReplaceOneController, 'name', {
|
|
63
|
-
value: `ReplaceOne${entity.name}${
|
|
64
|
+
value: `ReplaceOne${entity.name}${(0, helpers_1.addVersionSuffix)(version)}Controller`,
|
|
64
65
|
writable: false,
|
|
65
66
|
});
|
|
66
67
|
return ReplaceOneController;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DynamicModule, Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
-
import { ControllerOptions,
|
|
2
|
+
import { ControllerOptions, DynamicAPIRouteConfig } from '../../interfaces';
|
|
3
3
|
import { BaseEntity } from '../../models';
|
|
4
4
|
export declare class ReplaceOneModule {
|
|
5
|
-
static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, { path, apiTag }: ControllerOptions, { description, dTOs: DTOs }:
|
|
5
|
+
static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, { path, apiTag }: ControllerOptions, { description, dTOs: DTOs }: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): DynamicModule;
|
|
6
6
|
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/aggregate" />
|
|
2
|
+
/// <reference types="mongoose/types/callback" />
|
|
3
|
+
/// <reference types="mongoose/types/collection" />
|
|
4
|
+
/// <reference types="mongoose/types/connection" />
|
|
5
|
+
/// <reference types="mongoose/types/cursor" />
|
|
6
|
+
/// <reference types="mongoose/types/document" />
|
|
7
|
+
/// <reference types="mongoose/types/error" />
|
|
8
|
+
/// <reference types="mongoose/types/expressions" />
|
|
9
|
+
/// <reference types="mongoose/types/helpers" />
|
|
10
|
+
/// <reference types="mongoose/types/middlewares" />
|
|
11
|
+
/// <reference types="mongoose/types/indexes" />
|
|
12
|
+
/// <reference types="mongoose/types/models" />
|
|
13
|
+
/// <reference types="mongoose/types/mongooseoptions" />
|
|
14
|
+
/// <reference types="mongoose/types/pipelinestage" />
|
|
15
|
+
/// <reference types="mongoose/types/populate" />
|
|
16
|
+
/// <reference types="mongoose/types/query" />
|
|
17
|
+
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
|
+
/// <reference types="mongoose/types/schematypes" />
|
|
19
|
+
/// <reference types="mongoose/types/session" />
|
|
20
|
+
/// <reference types="mongoose/types/types" />
|
|
21
|
+
/// <reference types="mongoose/types/utility" />
|
|
22
|
+
/// <reference types="mongoose/types/validation" />
|
|
23
|
+
/// <reference types="mongoose/types/virtuals" />
|
|
24
|
+
/// <reference types="mongoose/types/inferschematype" />
|
|
25
|
+
import { Model } from 'mongoose';
|
|
26
|
+
import { BaseEntity } from '../../models';
|
|
27
|
+
import { BaseService } from '../../services';
|
|
28
|
+
import { UpdateManyService } from './update-many-service.interface';
|
|
29
|
+
export declare abstract class BaseUpdateManyService<Entity extends BaseEntity> extends BaseService<Entity> implements UpdateManyService<Entity> {
|
|
30
|
+
protected readonly model: Model<Entity>;
|
|
31
|
+
protected constructor(model: Model<Entity>);
|
|
32
|
+
updateMany(ids: string[], partial: Partial<Entity>): Promise<Entity[]>;
|
|
33
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseUpdateManyService = void 0;
|
|
4
|
+
const services_1 = require("../../services");
|
|
5
|
+
class BaseUpdateManyService extends services_1.BaseService {
|
|
6
|
+
constructor(model) {
|
|
7
|
+
super(model);
|
|
8
|
+
this.model = model;
|
|
9
|
+
}
|
|
10
|
+
async updateMany(ids, partial) {
|
|
11
|
+
try {
|
|
12
|
+
const toUpdateList = await this.model.find({ _id: { $in: ids } }).lean().exec();
|
|
13
|
+
if (toUpdateList?.length !== ids.length) {
|
|
14
|
+
this.handleDocumentNotFound();
|
|
15
|
+
}
|
|
16
|
+
await this.model
|
|
17
|
+
.updateMany({
|
|
18
|
+
_id: { $in: ids },
|
|
19
|
+
...(this.isSoftDeletable ? { isDeleted: false } : undefined),
|
|
20
|
+
}, partial)
|
|
21
|
+
.lean()
|
|
22
|
+
.exec();
|
|
23
|
+
const documents = await this.model.find({ _id: { $in: ids } }).lean().exec();
|
|
24
|
+
return documents.map((d) => this.buildInstance(d));
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
this.handleDuplicateKeyError(error);
|
|
28
|
+
throw error;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.BaseUpdateManyService = BaseUpdateManyService;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './base-update-many.service';
|
|
2
|
+
export * from './update-many.helper';
|
|
3
|
+
export * from './update-many.module';
|
|
4
|
+
export * from './update-many-controller.interface';
|
|
5
|
+
export * from './update-many-controller.mixin';
|
|
6
|
+
export * from './update-many-service.interface';
|