mongodb-dynamic-api 1.1.0
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 +30 -0
- package/LICENSE +21 -0
- package/README.md +190 -0
- package/index.d.ts +1 -0
- package/index.js +17 -0
- package/package.json +119 -0
- package/src/builders/index.d.ts +1 -0
- package/src/builders/index.js +17 -0
- package/src/builders/route-decorators.builder.d.ts +18 -0
- package/src/builders/route-decorators.builder.js +76 -0
- package/src/decorators/index.d.ts +1 -0
- package/src/decorators/index.js +17 -0
- package/src/decorators/schema-options.decorator.d.ts +4 -0
- package/src/decorators/schema-options.decorator.js +11 -0
- package/src/dtos/entity.param.d.ts +4 -0
- package/src/dtos/entity.param.js +26 -0
- package/src/dtos/entity.query.d.ts +2 -0
- package/src/dtos/entity.query.js +6 -0
- package/src/dtos/index.d.ts +2 -0
- package/src/dtos/index.js +18 -0
- package/src/dynamic-api.module.d.ts +8 -0
- package/src/dynamic-api.module.js +101 -0
- package/src/helpers/config.helper.d.ts +61 -0
- package/src/helpers/config.helper.js +95 -0
- package/src/helpers/index.d.ts +2 -0
- package/src/helpers/index.js +18 -0
- package/src/helpers/route-decorators.helper.d.ts +4 -0
- package/src/helpers/route-decorators.helper.js +8 -0
- package/src/index.d.ts +10 -0
- package/src/index.js +26 -0
- package/src/interfaces/dynamic-api-options.interface.d.ts +15 -0
- package/src/interfaces/dynamic-api-options.interface.js +2 -0
- package/src/interfaces/dynamic-api-schema-options.interface.d.ts +43 -0
- package/src/interfaces/dynamic-api-schema-options.interface.js +2 -0
- package/src/interfaces/entity-mappers.interface.d.ts +8 -0
- package/src/interfaces/entity-mappers.interface.js +2 -0
- package/src/interfaces/index.d.ts +6 -0
- package/src/interfaces/index.js +22 -0
- package/src/interfaces/maybe-promise.type.d.ts +2 -0
- package/src/interfaces/maybe-promise.type.js +2 -0
- package/src/interfaces/route-config.interface.d.ts +17 -0
- package/src/interfaces/route-config.interface.js +2 -0
- package/src/interfaces/service-provider.interface.d.ts +6 -0
- package/src/interfaces/service-provider.interface.js +2 -0
- package/src/mixins/entity-body.mixin.d.ts +16 -0
- package/src/mixins/entity-body.mixin.js +24 -0
- package/src/mixins/entity-presenter.mixin.d.ts +15 -0
- package/src/mixins/entity-presenter.mixin.js +10 -0
- package/src/mixins/index.d.ts +2 -0
- package/src/mixins/index.js +18 -0
- package/src/models/base-entity.model.d.ts +32 -0
- package/src/models/base-entity.model.js +40 -0
- package/src/models/index.d.ts +2 -0
- package/src/models/index.js +18 -0
- package/src/models/soft-deletable-entity.model.d.ts +5 -0
- package/src/models/soft-deletable-entity.model.js +29 -0
- package/src/modules/create-many/base-create-many.service.d.ts +33 -0
- package/src/modules/create-many/base-create-many.service.js +22 -0
- package/src/modules/create-many/create-many-controller.interface.d.ts +9 -0
- package/src/modules/create-many/create-many-controller.interface.js +2 -0
- package/src/modules/create-many/create-many-controller.mixin.d.ts +6 -0
- package/src/modules/create-many/create-many-controller.mixin.js +81 -0
- package/src/modules/create-many/create-many-service.interface.d.ts +5 -0
- package/src/modules/create-many/create-many-service.interface.js +2 -0
- package/src/modules/create-many/create-many.helper.d.ts +7 -0
- package/src/modules/create-many/create-many.helper.js +68 -0
- package/src/modules/create-many/create-many.module.d.ts +6 -0
- package/src/modules/create-many/create-many.module.js +28 -0
- package/src/modules/create-many/index.d.ts +6 -0
- package/src/modules/create-many/index.js +22 -0
- package/src/modules/create-one/base-create-one.service.d.ts +33 -0
- package/src/modules/create-one/base-create-one.service.js +22 -0
- package/src/modules/create-one/create-one-controller.interface.d.ts +7 -0
- package/src/modules/create-one/create-one-controller.interface.js +2 -0
- package/src/modules/create-one/create-one-controller.mixin.d.ts +6 -0
- package/src/modules/create-one/create-one-controller.mixin.js +62 -0
- package/src/modules/create-one/create-one-service.interface.d.ts +5 -0
- package/src/modules/create-one/create-one-service.interface.js +2 -0
- package/src/modules/create-one/create-one.helper.d.ts +7 -0
- package/src/modules/create-one/create-one.helper.js +68 -0
- package/src/modules/create-one/create-one.module.d.ts +6 -0
- package/src/modules/create-one/create-one.module.js +28 -0
- package/src/modules/create-one/index.d.ts +6 -0
- package/src/modules/create-one/index.js +22 -0
- package/src/modules/delete-one/base-delete-one.service.d.ts +34 -0
- package/src/modules/delete-one/base-delete-one.service.js +29 -0
- package/src/modules/delete-one/delete-one-controller.interface.d.ts +7 -0
- package/src/modules/delete-one/delete-one-controller.interface.js +2 -0
- package/src/modules/delete-one/delete-one-controller.mixin.d.ts +6 -0
- package/src/modules/delete-one/delete-one-controller.mixin.js +63 -0
- package/src/modules/delete-one/delete-one-service.interface.d.ts +8 -0
- package/src/modules/delete-one/delete-one-service.interface.js +2 -0
- package/src/modules/delete-one/delete-one.helper.d.ts +7 -0
- package/src/modules/delete-one/delete-one.helper.js +68 -0
- package/src/modules/delete-one/delete-one.module.d.ts +6 -0
- package/src/modules/delete-one/delete-one.module.js +28 -0
- package/src/modules/delete-one/delete-one.presenter.d.ts +3 -0
- package/src/modules/delete-one/delete-one.presenter.js +20 -0
- package/src/modules/delete-one/index.d.ts +7 -0
- package/src/modules/delete-one/index.js +23 -0
- package/src/modules/duplicate-one/base-duplicate-one.service.d.ts +33 -0
- package/src/modules/duplicate-one/base-duplicate-one.service.js +41 -0
- package/src/modules/duplicate-one/duplicate-one-controller.interface.d.ts +7 -0
- package/src/modules/duplicate-one/duplicate-one-controller.interface.js +2 -0
- package/src/modules/duplicate-one/duplicate-one-controller.mixin.d.ts +6 -0
- package/src/modules/duplicate-one/duplicate-one-controller.mixin.js +72 -0
- package/src/modules/duplicate-one/duplicate-one-service.interface.d.ts +5 -0
- package/src/modules/duplicate-one/duplicate-one-service.interface.js +2 -0
- package/src/modules/duplicate-one/duplicate-one.helper.d.ts +7 -0
- package/src/modules/duplicate-one/duplicate-one.helper.js +68 -0
- package/src/modules/duplicate-one/duplicate-one.module.d.ts +6 -0
- package/src/modules/duplicate-one/duplicate-one.module.js +28 -0
- package/src/modules/duplicate-one/index.d.ts +6 -0
- package/src/modules/duplicate-one/index.js +22 -0
- package/src/modules/get-many/base-get-many.service.d.ts +33 -0
- package/src/modules/get-many/base-get-many.service.js +21 -0
- package/src/modules/get-many/get-many-controller.interface.d.ts +7 -0
- package/src/modules/get-many/get-many-controller.interface.js +2 -0
- package/src/modules/get-many/get-many-controller.mixin.d.ts +6 -0
- package/src/modules/get-many/get-many-controller.mixin.js +63 -0
- package/src/modules/get-many/get-many-service.interface.d.ts +5 -0
- package/src/modules/get-many/get-many-service.interface.js +2 -0
- package/src/modules/get-many/get-many.helper.d.ts +7 -0
- package/src/modules/get-many/get-many.helper.js +68 -0
- package/src/modules/get-many/get-many.module.d.ts +6 -0
- package/src/modules/get-many/get-many.module.js +28 -0
- package/src/modules/get-many/index.d.ts +6 -0
- package/src/modules/get-many/index.js +22 -0
- package/src/modules/get-one/base-get-one.service.d.ts +33 -0
- package/src/modules/get-one/base-get-one.service.js +24 -0
- package/src/modules/get-one/get-one-controller.interface.d.ts +7 -0
- package/src/modules/get-one/get-one-controller.interface.js +2 -0
- package/src/modules/get-one/get-one-controller.mixin.d.ts +6 -0
- package/src/modules/get-one/get-one-controller.mixin.js +71 -0
- package/src/modules/get-one/get-one-service.interface.d.ts +5 -0
- package/src/modules/get-one/get-one-service.interface.js +2 -0
- package/src/modules/get-one/get-one.helper.d.ts +7 -0
- package/src/modules/get-one/get-one.helper.js +68 -0
- package/src/modules/get-one/get-one.module.d.ts +6 -0
- package/src/modules/get-one/get-one.module.js +28 -0
- package/src/modules/get-one/index.d.ts +6 -0
- package/src/modules/get-one/index.js +22 -0
- package/src/modules/index.d.ts +8 -0
- package/src/modules/index.js +24 -0
- package/src/modules/replace-one/base-replace-one.service.d.ts +33 -0
- package/src/modules/replace-one/base-replace-one.service.js +33 -0
- package/src/modules/replace-one/index.d.ts +6 -0
- package/src/modules/replace-one/index.js +22 -0
- package/src/modules/replace-one/replace-one-controller.interface.d.ts +7 -0
- package/src/modules/replace-one/replace-one-controller.interface.js +2 -0
- package/src/modules/replace-one/replace-one-controller.mixin.d.ts +6 -0
- package/src/modules/replace-one/replace-one-controller.mixin.js +72 -0
- package/src/modules/replace-one/replace-one-service.interface.d.ts +5 -0
- package/src/modules/replace-one/replace-one-service.interface.js +2 -0
- package/src/modules/replace-one/replace-one.helper.d.ts +7 -0
- package/src/modules/replace-one/replace-one.helper.js +68 -0
- package/src/modules/replace-one/replace-one.module.d.ts +6 -0
- package/src/modules/replace-one/replace-one.module.js +28 -0
- package/src/modules/update-one/base-update-one.service.d.ts +33 -0
- package/src/modules/update-one/base-update-one.service.js +30 -0
- package/src/modules/update-one/index.d.ts +6 -0
- package/src/modules/update-one/index.js +22 -0
- package/src/modules/update-one/update-one-controller.interface.d.ts +7 -0
- package/src/modules/update-one/update-one-controller.interface.js +2 -0
- package/src/modules/update-one/update-one-controller.mixin.d.ts +6 -0
- package/src/modules/update-one/update-one-controller.mixin.js +72 -0
- package/src/modules/update-one/update-one-service.interface.d.ts +5 -0
- package/src/modules/update-one/update-one-service.interface.js +2 -0
- package/src/modules/update-one/update-one.helper.d.ts +7 -0
- package/src/modules/update-one/update-one.helper.js +68 -0
- package/src/modules/update-one/update-one.module.d.ts +6 -0
- package/src/modules/update-one/update-one.module.js +28 -0
- package/src/services/base.service.d.ts +36 -0
- package/src/services/base.service.js +33 -0
- package/src/services/index.d.ts +1 -0
- package/src/services/index.js +17 -0
- package/src/version.json +3 -0
- package/tsconfig.tsbuildinfo +1 -0
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.BaseEntity = void 0;
|
|
13
|
+
const mongoose_1 = require("@nestjs/mongoose");
|
|
14
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
15
|
+
const class_transformer_1 = require("class-transformer");
|
|
16
|
+
class BaseEntity {
|
|
17
|
+
}
|
|
18
|
+
exports.BaseEntity = BaseEntity;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, class_transformer_1.Exclude)(),
|
|
21
|
+
__metadata("design:type", Object)
|
|
22
|
+
], BaseEntity.prototype, "_id", void 0);
|
|
23
|
+
__decorate([
|
|
24
|
+
(0, class_transformer_1.Exclude)(),
|
|
25
|
+
__metadata("design:type", Number)
|
|
26
|
+
], BaseEntity.prototype, "__v", void 0);
|
|
27
|
+
__decorate([
|
|
28
|
+
(0, swagger_1.ApiProperty)(),
|
|
29
|
+
__metadata("design:type", String)
|
|
30
|
+
], BaseEntity.prototype, "id", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, swagger_1.ApiProperty)(),
|
|
33
|
+
(0, mongoose_1.Prop)({ type: Date }),
|
|
34
|
+
__metadata("design:type", Date)
|
|
35
|
+
], BaseEntity.prototype, "createdAt", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, swagger_1.ApiProperty)(),
|
|
38
|
+
(0, mongoose_1.Prop)({ type: Date }),
|
|
39
|
+
__metadata("design:type", Date)
|
|
40
|
+
], BaseEntity.prototype, "updatedAt", void 0);
|
|
@@ -0,0 +1,18 @@
|
|
|
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-entity.model"), exports);
|
|
18
|
+
__exportStar(require("./soft-deletable-entity.model"), exports);
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.SoftDeletableEntity = void 0;
|
|
13
|
+
const mongoose_1 = require("@nestjs/mongoose");
|
|
14
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
15
|
+
const class_transformer_1 = require("class-transformer");
|
|
16
|
+
const base_entity_model_1 = require("./base-entity.model");
|
|
17
|
+
class SoftDeletableEntity extends base_entity_model_1.BaseEntity {
|
|
18
|
+
}
|
|
19
|
+
exports.SoftDeletableEntity = SoftDeletableEntity;
|
|
20
|
+
__decorate([
|
|
21
|
+
(0, class_transformer_1.Exclude)(),
|
|
22
|
+
(0, mongoose_1.Prop)({ type: Boolean, default: false }),
|
|
23
|
+
__metadata("design:type", Boolean)
|
|
24
|
+
], SoftDeletableEntity.prototype, "isDeleted", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, swagger_1.ApiProperty)({ type: Date, nullable: true }),
|
|
27
|
+
(0, mongoose_1.Prop)({ type: Date, nullable: true }),
|
|
28
|
+
__metadata("design:type", Date)
|
|
29
|
+
], SoftDeletableEntity.prototype, "deletedAt", void 0);
|
|
@@ -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 { CreateManyService } from './create-many-service.interface';
|
|
29
|
+
export declare abstract class BaseCreateManyService<Entity extends BaseEntity> extends BaseService<Entity> implements CreateManyService<Entity> {
|
|
30
|
+
protected readonly model: Model<Entity>;
|
|
31
|
+
protected constructor(model: Model<Entity>);
|
|
32
|
+
createMany(partials: Partial<Entity>[]): Promise<Entity[]>;
|
|
33
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseCreateManyService = void 0;
|
|
4
|
+
const services_1 = require("../../services");
|
|
5
|
+
class BaseCreateManyService extends services_1.BaseService {
|
|
6
|
+
constructor(model) {
|
|
7
|
+
super(model);
|
|
8
|
+
this.model = model;
|
|
9
|
+
}
|
|
10
|
+
async createMany(partials) {
|
|
11
|
+
try {
|
|
12
|
+
const created = await this.model.create(partials);
|
|
13
|
+
const documents = await this.model.find({ _id: { $in: created.map(({ _id }) => _id.toString()) } }).lean().exec();
|
|
14
|
+
return documents.map((d) => this.buildInstance(d));
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
this.handleDuplicateKeyError(error);
|
|
18
|
+
throw error;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.BaseCreateManyService = BaseCreateManyService;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseEntity } from '../../models';
|
|
2
|
+
import { CreateManyService } from './create-many-service.interface';
|
|
3
|
+
interface CreateManyController<Entity extends BaseEntity> {
|
|
4
|
+
createMany(body: {
|
|
5
|
+
list: any;
|
|
6
|
+
}): Promise<Entity[]>;
|
|
7
|
+
}
|
|
8
|
+
type CreateManyControllerConstructor<Entity extends BaseEntity> = new (service: CreateManyService<Entity>) => CreateManyController<Entity>;
|
|
9
|
+
export type { CreateManyController, CreateManyControllerConstructor };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Type } from '@nestjs/common';
|
|
2
|
+
import { DTOsBundle } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
import { CreateManyControllerConstructor } from './create-many-controller.interface';
|
|
5
|
+
declare function CreateManyControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle): CreateManyControllerConstructor<Entity>;
|
|
6
|
+
export { CreateManyControllerMixin };
|
|
@@ -0,0 +1,81 @@
|
|
|
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.CreateManyControllerMixin = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
18
|
+
const class_validator_1 = require("class-validator");
|
|
19
|
+
const class_transformer_1 = require("class-transformer");
|
|
20
|
+
const builders_1 = require("../../builders");
|
|
21
|
+
const helpers_1 = require("../../helpers");
|
|
22
|
+
const mixins_1 = require("../../mixins");
|
|
23
|
+
function CreateManyControllerMixin(entity, path, apiTag, version, description, DTOs) {
|
|
24
|
+
const displayedName = apiTag ?? entity.name;
|
|
25
|
+
const { body: CustomBody, presenter: CustomPresenter } = DTOs ?? {};
|
|
26
|
+
class DtoBody extends (0, mixins_1.EntityBodyMixin)(entity) {
|
|
27
|
+
}
|
|
28
|
+
Object.defineProperty(DtoBody, 'name', {
|
|
29
|
+
value: `${displayedName}Dto`,
|
|
30
|
+
writable: false,
|
|
31
|
+
});
|
|
32
|
+
class CreateManyBody {
|
|
33
|
+
}
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, swagger_1.ApiProperty)({ type: [DtoBody] }),
|
|
36
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
37
|
+
(0, class_validator_1.IsInstance)(DtoBody, { each: true }),
|
|
38
|
+
(0, class_validator_1.ArrayMinSize)(1),
|
|
39
|
+
(0, class_transformer_1.Type)(() => DtoBody),
|
|
40
|
+
__metadata("design:type", Array)
|
|
41
|
+
], CreateManyBody.prototype, "list", void 0);
|
|
42
|
+
class RouteBody extends (0, swagger_1.PickType)(CustomBody ?? CreateManyBody, ['list']) {
|
|
43
|
+
}
|
|
44
|
+
if (!CustomBody) {
|
|
45
|
+
Object.defineProperty(RouteBody, 'name', {
|
|
46
|
+
value: `CreateMany${displayedName}Dto`,
|
|
47
|
+
writable: false,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
class RoutePresenter extends (CustomPresenter ?? (0, mixins_1.EntityPresenterMixin)(entity)) {
|
|
51
|
+
}
|
|
52
|
+
if (!CustomPresenter) {
|
|
53
|
+
Object.defineProperty(RoutePresenter, 'name', {
|
|
54
|
+
value: `${displayedName}Presenter`,
|
|
55
|
+
writable: false,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder('CreateMany', entity, description, undefined, undefined, RouteBody, RoutePresenter);
|
|
59
|
+
class BaseCreateManyController {
|
|
60
|
+
constructor(service) {
|
|
61
|
+
this.service = service;
|
|
62
|
+
this.entity = entity;
|
|
63
|
+
}
|
|
64
|
+
async createMany(body) {
|
|
65
|
+
return this.service.createMany(body.list);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
__decorate([
|
|
69
|
+
(0, helpers_1.RouteDecoratorsHelper)(routeDecoratorsBuilder),
|
|
70
|
+
__param(0, (0, common_1.Body)()),
|
|
71
|
+
__metadata("design:type", Function),
|
|
72
|
+
__metadata("design:paramtypes", [RouteBody]),
|
|
73
|
+
__metadata("design:returntype", Promise)
|
|
74
|
+
], BaseCreateManyController.prototype, "createMany", null);
|
|
75
|
+
Object.defineProperty(BaseCreateManyController, 'name', {
|
|
76
|
+
value: `CreateMany${entity.name}Controller`,
|
|
77
|
+
writable: false,
|
|
78
|
+
});
|
|
79
|
+
return BaseCreateManyController;
|
|
80
|
+
}
|
|
81
|
+
exports.CreateManyControllerMixin = CreateManyControllerMixin;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
+
import { DTOsBundle, ServiceProvider } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
import { CreateManyControllerConstructor } from './create-many-controller.interface';
|
|
5
|
+
declare function createCreateManyServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>): ServiceProvider;
|
|
6
|
+
declare function createCreateManyController<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle, validationPipeOptions?: ValidationPipeOptions): CreateManyControllerConstructor<Entity>;
|
|
7
|
+
export { createCreateManyController, createCreateManyServiceProvider };
|
|
@@ -0,0 +1,68 @@
|
|
|
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.createCreateManyServiceProvider = exports.createCreateManyController = 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 base_create_many_service_1 = require("./base-create-many.service");
|
|
22
|
+
const create_many_controller_mixin_1 = require("./create-many-controller.mixin");
|
|
23
|
+
function provideServiceName(entityName) {
|
|
24
|
+
return `CreateMany${entityName}Service`;
|
|
25
|
+
}
|
|
26
|
+
function createCreateManyServiceProvider(entity) {
|
|
27
|
+
let CreateManyService = class CreateManyService extends base_create_many_service_1.BaseCreateManyService {
|
|
28
|
+
constructor(model) {
|
|
29
|
+
super(model);
|
|
30
|
+
this.model = model;
|
|
31
|
+
this.entity = entity;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
CreateManyService = __decorate([
|
|
35
|
+
__param(0, (0, mongoose_1.InjectModel)(entity.name, dynamic_api_module_1.DynamicApiModule.connectionName)),
|
|
36
|
+
__metadata("design:paramtypes", [mongoose_2.Model])
|
|
37
|
+
], CreateManyService);
|
|
38
|
+
Object.defineProperty(CreateManyService, 'name', {
|
|
39
|
+
value: provideServiceName(entity.name),
|
|
40
|
+
writable: false,
|
|
41
|
+
});
|
|
42
|
+
return {
|
|
43
|
+
provide: provideServiceName(entity.name),
|
|
44
|
+
useClass: CreateManyService,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
exports.createCreateManyServiceProvider = createCreateManyServiceProvider;
|
|
48
|
+
function createCreateManyController(entity, path, apiTag, version, description, DTOs, validationPipeOptions) {
|
|
49
|
+
let CreateManyController = class CreateManyController extends (0, create_many_controller_mixin_1.CreateManyControllerMixin)(entity, path, apiTag, version, description, DTOs) {
|
|
50
|
+
constructor(service) {
|
|
51
|
+
super(service);
|
|
52
|
+
this.service = service;
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
CreateManyController = __decorate([
|
|
56
|
+
(0, common_1.Controller)({ path, version }),
|
|
57
|
+
(0, swagger_1.ApiTags)(apiTag || entity.name),
|
|
58
|
+
(0, common_1.UsePipes)(new common_1.ValidationPipe(validationPipeOptions ?? { transform: true })),
|
|
59
|
+
__param(0, (0, common_1.Inject)(provideServiceName(entity.name))),
|
|
60
|
+
__metadata("design:paramtypes", [Object])
|
|
61
|
+
], CreateManyController);
|
|
62
|
+
Object.defineProperty(CreateManyController, 'name', {
|
|
63
|
+
value: `CreateMany${entity.name}Controller`,
|
|
64
|
+
writable: false,
|
|
65
|
+
});
|
|
66
|
+
return CreateManyController;
|
|
67
|
+
}
|
|
68
|
+
exports.createCreateManyController = createCreateManyController;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DynamicModule, Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
+
import { ControllerOptions, RouteConfig } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
export declare class CreateManyModule {
|
|
5
|
+
static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, { path, apiTag }: ControllerOptions, { description, dTOs: DTOs }: RouteConfig<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 CreateManyModule_1;
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.CreateManyModule = void 0;
|
|
11
|
+
const common_1 = require("@nestjs/common");
|
|
12
|
+
const create_many_helper_1 = require("./create-many.helper");
|
|
13
|
+
let CreateManyModule = CreateManyModule_1 = class CreateManyModule {
|
|
14
|
+
static forFeature(databaseModule, entity, { path, apiTag }, { description, dTOs: DTOs }, version, validationPipeOptions) {
|
|
15
|
+
const controller = (0, create_many_helper_1.createCreateManyController)(entity, path, apiTag, version, description, DTOs, validationPipeOptions);
|
|
16
|
+
const ServiceProvider = (0, create_many_helper_1.createCreateManyServiceProvider)(entity);
|
|
17
|
+
return {
|
|
18
|
+
module: CreateManyModule_1,
|
|
19
|
+
imports: [databaseModule],
|
|
20
|
+
controllers: [controller],
|
|
21
|
+
providers: [ServiceProvider],
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.CreateManyModule = CreateManyModule;
|
|
26
|
+
exports.CreateManyModule = CreateManyModule = CreateManyModule_1 = __decorate([
|
|
27
|
+
(0, common_1.Module)({})
|
|
28
|
+
], CreateManyModule);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './base-create-many.service';
|
|
2
|
+
export * from './create-many.helper';
|
|
3
|
+
export * from './create-many.module';
|
|
4
|
+
export * from './create-many-controller.interface';
|
|
5
|
+
export * from './create-many-controller.mixin';
|
|
6
|
+
export * from './create-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-create-many.service"), exports);
|
|
18
|
+
__exportStar(require("./create-many.helper"), exports);
|
|
19
|
+
__exportStar(require("./create-many.module"), exports);
|
|
20
|
+
__exportStar(require("./create-many-controller.interface"), exports);
|
|
21
|
+
__exportStar(require("./create-many-controller.mixin"), exports);
|
|
22
|
+
__exportStar(require("./create-many-service.interface"), exports);
|
|
@@ -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 { CreateOneService } from './create-one-service.interface';
|
|
29
|
+
export declare abstract class BaseCreateOneService<Entity extends BaseEntity> extends BaseService<Entity> implements CreateOneService<Entity> {
|
|
30
|
+
protected readonly model: Model<Entity>;
|
|
31
|
+
protected constructor(model: Model<Entity>);
|
|
32
|
+
createOne(partial: Partial<Entity>): Promise<Entity>;
|
|
33
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseCreateOneService = void 0;
|
|
4
|
+
const services_1 = require("../../services");
|
|
5
|
+
class BaseCreateOneService extends services_1.BaseService {
|
|
6
|
+
constructor(model) {
|
|
7
|
+
super(model);
|
|
8
|
+
this.model = model;
|
|
9
|
+
}
|
|
10
|
+
async createOne(partial) {
|
|
11
|
+
try {
|
|
12
|
+
const { _id } = await this.model.create(partial);
|
|
13
|
+
const document = await this.model.findOne({ _id }).lean().exec();
|
|
14
|
+
return this.buildInstance(document);
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
this.handleDuplicateKeyError(error);
|
|
18
|
+
throw error;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.BaseCreateOneService = BaseCreateOneService;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BaseEntity } from '../../models';
|
|
2
|
+
import { CreateOneService } from './create-one-service.interface';
|
|
3
|
+
interface CreateOneController<Entity extends BaseEntity> {
|
|
4
|
+
createOne<Body>(body: Body): Promise<Entity | undefined>;
|
|
5
|
+
}
|
|
6
|
+
type CreateOneControllerConstructor<Entity extends BaseEntity> = new (service: CreateOneService<Entity>) => CreateOneController<Entity>;
|
|
7
|
+
export type { CreateOneController, CreateOneControllerConstructor };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Type } from '@nestjs/common';
|
|
2
|
+
import { DTOsBundle } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
import { CreateOneControllerConstructor } from './create-one-controller.interface';
|
|
5
|
+
declare function CreateOneControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle): CreateOneControllerConstructor<Entity>;
|
|
6
|
+
export { CreateOneControllerMixin };
|
|
@@ -0,0 +1,62 @@
|
|
|
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.CreateOneControllerMixin = 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 CreateOneControllerMixin(entity, path, apiTag, version, description, DTOs) {
|
|
21
|
+
const displayedName = apiTag ?? entity.name;
|
|
22
|
+
const { body: CustomBody, presenter: CustomPresenter } = DTOs ?? {};
|
|
23
|
+
class RouteBody extends (CustomBody ?? (0, mixins_1.EntityBodyMixin)(entity)) {
|
|
24
|
+
}
|
|
25
|
+
if (!CustomBody) {
|
|
26
|
+
Object.defineProperty(RouteBody, 'name', {
|
|
27
|
+
value: `CreateOne${displayedName}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}Presenter`,
|
|
36
|
+
writable: false,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder('CreateOne', entity, description, undefined, undefined, RouteBody, RoutePresenter);
|
|
40
|
+
class BaseCreateOneController {
|
|
41
|
+
constructor(service) {
|
|
42
|
+
this.service = service;
|
|
43
|
+
this.entity = entity;
|
|
44
|
+
}
|
|
45
|
+
async createOne(body) {
|
|
46
|
+
return this.service.createOne(body);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
__decorate([
|
|
50
|
+
(0, helpers_1.RouteDecoratorsHelper)(routeDecoratorsBuilder),
|
|
51
|
+
__param(0, (0, common_1.Body)()),
|
|
52
|
+
__metadata("design:type", Function),
|
|
53
|
+
__metadata("design:paramtypes", [RouteBody]),
|
|
54
|
+
__metadata("design:returntype", Promise)
|
|
55
|
+
], BaseCreateOneController.prototype, "createOne", null);
|
|
56
|
+
Object.defineProperty(BaseCreateOneController, 'name', {
|
|
57
|
+
value: `CreateOne${entity.name}Controller`,
|
|
58
|
+
writable: false,
|
|
59
|
+
});
|
|
60
|
+
return BaseCreateOneController;
|
|
61
|
+
}
|
|
62
|
+
exports.CreateOneControllerMixin = CreateOneControllerMixin;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
+
import { DTOsBundle, ServiceProvider } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
import { CreateOneControllerConstructor } from './create-one-controller.interface';
|
|
5
|
+
declare function createCreateOneServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>): ServiceProvider;
|
|
6
|
+
declare function createCreateOneController<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle, validationPipeOptions?: ValidationPipeOptions): CreateOneControllerConstructor<Entity>;
|
|
7
|
+
export { createCreateOneController, createCreateOneServiceProvider };
|