mongodb-dynamic-api 1.2.0-beta.4 → 1.2.0-beta.6
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 +4 -0
- package/package.json +3 -9
- package/src/builders/route-decorators.builder.d.ts +2 -1
- package/src/decorators/schema-options.decorator.d.ts +1 -1
- package/src/dtos/entity.param.d.ts +1 -1
- package/src/dynamic-api.module.d.ts +2 -1
- package/src/dynamic-api.module.js +6 -9
- package/src/helpers/index.d.ts +1 -0
- package/src/helpers/index.js +1 -0
- package/src/helpers/route-decorators.helper.d.ts +2 -2
- package/src/helpers/swagger.helper.d.ts +12 -0
- package/src/helpers/swagger.helper.js +16 -0
- package/src/index.d.ts +0 -1
- package/src/index.js +0 -1
- package/src/interfaces/entity-mappers.interface.d.ts +1 -1
- package/src/interfaces/route-config.interface.d.ts +1 -1
- package/src/modules/create-many/base-create-many.service.d.ts +3 -3
- package/src/modules/create-many/base-create-many.service.js +1 -1
- package/src/modules/create-many/create-many-controller.interface.d.ts +2 -2
- package/src/modules/create-many/create-many-controller.mixin.d.ts +3 -2
- package/src/modules/create-many/create-many-controller.mixin.js +3 -3
- package/src/modules/create-many/create-many-service.interface.d.ts +1 -1
- package/src/modules/create-many/create-many.helper.d.ts +3 -2
- package/src/modules/create-many/create-many.helper.js +6 -5
- package/src/modules/create-many/create-many.module.d.ts +2 -1
- package/src/modules/create-one/base-create-one.service.d.ts +3 -3
- package/src/modules/create-one/base-create-one.service.js +1 -1
- package/src/modules/create-one/create-one-controller.interface.d.ts +2 -2
- package/src/modules/create-one/create-one-controller.mixin.d.ts +3 -2
- package/src/modules/create-one/create-one-controller.mixin.js +3 -3
- package/src/modules/create-one/create-one-service.interface.d.ts +1 -1
- package/src/modules/create-one/create-one.helper.d.ts +3 -2
- package/src/modules/create-one/create-one.helper.js +6 -5
- package/src/modules/create-one/create-one.module.d.ts +2 -1
- package/src/modules/delete-one/base-delete-one.service.d.ts +4 -3
- package/src/modules/delete-one/base-delete-one.service.js +3 -3
- package/src/modules/delete-one/delete-one-controller.interface.d.ts +2 -2
- package/src/modules/delete-one/delete-one-controller.mixin.d.ts +3 -2
- package/src/modules/delete-one/delete-one-controller.mixin.js +2 -2
- package/src/modules/delete-one/delete-one-service.interface.d.ts +1 -1
- package/src/modules/delete-one/delete-one.helper.d.ts +3 -2
- package/src/modules/delete-one/delete-one.helper.js +6 -5
- package/src/modules/delete-one/delete-one.module.d.ts +2 -1
- package/src/modules/duplicate-one/base-duplicate-one.service.d.ts +3 -3
- package/src/modules/duplicate-one/base-duplicate-one.service.js +3 -3
- package/src/modules/duplicate-one/duplicate-one-controller.interface.d.ts +2 -2
- package/src/modules/duplicate-one/duplicate-one-controller.mixin.d.ts +3 -2
- package/src/modules/duplicate-one/duplicate-one-controller.mixin.js +5 -4
- package/src/modules/duplicate-one/duplicate-one-service.interface.d.ts +1 -1
- package/src/modules/duplicate-one/duplicate-one.helper.d.ts +3 -2
- package/src/modules/duplicate-one/duplicate-one.helper.js +6 -5
- package/src/modules/duplicate-one/duplicate-one.module.d.ts +2 -1
- package/src/modules/duplicate-one/duplicate-one.module.js +3 -3
- package/src/modules/get-many/base-get-many.service.d.ts +3 -3
- package/src/modules/get-many/base-get-many.service.js +1 -1
- package/src/modules/get-many/get-many-controller.interface.d.ts +2 -2
- package/src/modules/get-many/get-many-controller.mixin.d.ts +3 -2
- package/src/modules/get-many/get-many-controller.mixin.js +4 -3
- package/src/modules/get-many/get-many-service.interface.d.ts +1 -1
- package/src/modules/get-many/get-many.helper.d.ts +3 -2
- package/src/modules/get-many/get-many.helper.js +6 -5
- package/src/modules/get-many/get-many.module.d.ts +2 -1
- package/src/modules/get-one/base-get-one.service.d.ts +3 -3
- package/src/modules/get-one/base-get-one.service.js +1 -1
- package/src/modules/get-one/get-one-controller.interface.d.ts +2 -2
- package/src/modules/get-one/get-one-controller.mixin.d.ts +3 -2
- package/src/modules/get-one/get-one-controller.mixin.js +3 -3
- package/src/modules/get-one/get-one-service.interface.d.ts +1 -1
- package/src/modules/get-one/get-one.helper.d.ts +3 -2
- package/src/modules/get-one/get-one.helper.js +6 -5
- package/src/modules/get-one/get-one.module.d.ts +2 -1
- package/src/modules/replace-one/base-replace-one.service.d.ts +3 -3
- package/src/modules/replace-one/base-replace-one.service.js +1 -1
- package/src/modules/replace-one/replace-one-controller.interface.d.ts +2 -2
- package/src/modules/replace-one/replace-one-controller.mixin.d.ts +3 -2
- package/src/modules/replace-one/replace-one-controller.mixin.js +5 -4
- package/src/modules/replace-one/replace-one-service.interface.d.ts +1 -1
- package/src/modules/replace-one/replace-one.helper.d.ts +3 -2
- package/src/modules/replace-one/replace-one.helper.js +6 -5
- package/src/modules/replace-one/replace-one.module.d.ts +2 -1
- package/src/modules/update-one/base-update-one.service.d.ts +3 -3
- package/src/modules/update-one/base-update-one.service.js +1 -1
- package/src/modules/update-one/update-one-controller.interface.d.ts +2 -2
- package/src/modules/update-one/update-one-controller.mixin.d.ts +3 -2
- package/src/modules/update-one/update-one-controller.mixin.js +5 -4
- package/src/modules/update-one/update-one-service.interface.d.ts +1 -1
- package/src/modules/update-one/update-one.helper.d.ts +3 -2
- package/src/modules/update-one/update-one.helper.js +6 -5
- package/src/modules/update-one/update-one.module.d.ts +2 -1
- package/src/services/base.service.d.ts +1 -1
- package/src/version.json +3 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/src/dynamic-api.constant.d.ts +0 -2
- package/src/dynamic-api.constant.js +0 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
|
|
3
|
+
## [1.2.0-beta.6](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/prerelease...1.2.0-beta.6) (2024-03-01)
|
|
4
|
+
|
|
5
|
+
## [1.2.0-beta.5](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/prerelease...1.2.0-beta.5) (2024-03-01)
|
|
6
|
+
|
|
3
7
|
## [1.2.0-beta.4](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/prerelease...1.2.0-beta.4) (2024-02-29)
|
|
4
8
|
|
|
5
9
|
## [1.2.0-beta.3](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/prerelease...1.2.0-beta.3) (2024-02-29)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mongodb-dynamic-api",
|
|
3
|
-
"version": "1.2.0-beta.
|
|
3
|
+
"version": "1.2.0-beta.6",
|
|
4
4
|
"description": "Auto generated CRUD API for MongoDB using NestJS",
|
|
5
5
|
"author": "Mickaël NODANCHE <mikeonline75@gmail.com> (https://cv-mikeonline.web.app)",
|
|
6
6
|
"homepage": "https://mikedev75015.github.io",
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
"test-cov": "jest --runInBand --coverage",
|
|
18
18
|
"test:ci:junit": "jest --ci --runInBand --coverage --testResultsProcessor=jest-junit",
|
|
19
19
|
"test:ci:sonar": "jest --ci --runInBand --coverage --testResultsProcessor=jest-sonar-reporter",
|
|
20
|
-
"compodoc": "npx compodoc -p tsconfig.json libs/dynamic-api/src --theme postmark",
|
|
21
20
|
"pre-release-tag": "git tag -f prerelease && git push -f origin prerelease",
|
|
22
21
|
"prerelease": "release-it --ci --preRelease=beta --no-git.requireUpstream",
|
|
23
22
|
"release": "release-it --ci",
|
|
@@ -36,7 +35,6 @@
|
|
|
36
35
|
],
|
|
37
36
|
"dependencies": {
|
|
38
37
|
"@nestjs/common": "^10.3.2",
|
|
39
|
-
"@nestjs/config": "^3.2.0",
|
|
40
38
|
"@nestjs/core": "^10.3.2",
|
|
41
39
|
"@nestjs/mongoose": "^10.0.4",
|
|
42
40
|
"@nestjs/platform-express": "^10.3.2",
|
|
@@ -51,7 +49,6 @@
|
|
|
51
49
|
"rxjs": "^7.8.1"
|
|
52
50
|
},
|
|
53
51
|
"devDependencies": {
|
|
54
|
-
"@compodoc/compodoc": "^1.1.23",
|
|
55
52
|
"@golevelup/ts-jest": "^0.4.0",
|
|
56
53
|
"@nestjs/cli": "^10.3.1",
|
|
57
54
|
"@nestjs/schematics": "^10.1.0",
|
|
@@ -102,12 +99,9 @@
|
|
|
102
99
|
"<rootDir>/"
|
|
103
100
|
],
|
|
104
101
|
"coveragePathIgnorePatterns": [
|
|
105
|
-
"index.ts"
|
|
102
|
+
"index.ts",
|
|
103
|
+
".*\\.mock\\.ts"
|
|
106
104
|
],
|
|
107
|
-
"moduleNameMapper": {
|
|
108
|
-
"@dynamic-api/(.*)": "<rootDir>/dynamic-api/src/$1",
|
|
109
|
-
"@dynamic-api": "<rootDir>/dynamic-api/src"
|
|
110
|
-
},
|
|
111
105
|
"reporters": [
|
|
112
106
|
"default"
|
|
113
107
|
]
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { BaseEntity, RouteType } from '@dynamic-api';
|
|
2
1
|
import { Type } from '@nestjs/common';
|
|
2
|
+
import { RouteType } from '../interfaces';
|
|
3
|
+
import { BaseEntity } from '../models';
|
|
3
4
|
declare class RouteDecoratorsBuilder<Entity extends BaseEntity> {
|
|
4
5
|
private readonly routeType;
|
|
5
6
|
private readonly entity;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DynamicAPISchemaOptionsInterface } from '
|
|
1
|
+
import { DynamicAPISchemaOptionsInterface } from '../interfaces';
|
|
2
2
|
declare const DYNAMIC_API_SCHEMA_OPTIONS_METADATA = "dynamic-api-module:schema-options";
|
|
3
3
|
declare function DynamicAPISchemaOptions(options: DynamicAPISchemaOptionsInterface): ClassDecorator;
|
|
4
4
|
export { DYNAMIC_API_SCHEMA_OPTIONS_METADATA, DynamicAPISchemaOptions };
|
|
@@ -2,6 +2,7 @@ import { DynamicModule } from '@nestjs/common';
|
|
|
2
2
|
import { DynamicApiOptions } from './interfaces';
|
|
3
3
|
import { BaseEntity } from './models';
|
|
4
4
|
export declare class DynamicApiModule {
|
|
5
|
-
static
|
|
5
|
+
static connectionName: string;
|
|
6
|
+
static forRoot(uri: string): DynamicModule;
|
|
6
7
|
static forFeature<Entity extends BaseEntity>({ entity, controllerOptions: { path, apiTag, version: apiVersion }, routes, }: DynamicApiOptions<Entity>): DynamicModule;
|
|
7
8
|
}
|
|
@@ -8,23 +8,19 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var DynamicApiModule_1;
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.DynamicApiModule = void 0;
|
|
11
|
-
const dynamic_api_constant_1 = require("@dynamic-api/dynamic-api.constant");
|
|
12
11
|
const common_1 = require("@nestjs/common");
|
|
13
12
|
const mongoose_1 = require("@nestjs/mongoose");
|
|
14
13
|
const decorators_1 = require("./decorators");
|
|
15
14
|
const modules_1 = require("./modules");
|
|
16
15
|
let DynamicApiModule = DynamicApiModule_1 = class DynamicApiModule {
|
|
17
|
-
static forRoot(
|
|
18
|
-
if (!
|
|
19
|
-
throw new Error('You must provide a
|
|
16
|
+
static forRoot(uri) {
|
|
17
|
+
if (!uri) {
|
|
18
|
+
throw new Error('You must provide a valid mongodb uri in the forRoot method to use MongoDB Dynamic API');
|
|
20
19
|
}
|
|
21
20
|
return {
|
|
22
21
|
module: DynamicApiModule_1,
|
|
23
22
|
imports: [
|
|
24
|
-
mongoose_1.MongooseModule.forRoot(
|
|
25
|
-
`${process.env.BDD_URL}/${process.env.BDD_BASE}?retryWrites=true&w=majority`, {
|
|
26
|
-
connectionName: process.env.BBD_CONNECTION_NAME || dynamic_api_constant_1.DEFAULT_BDD_CONNECTION_NAME,
|
|
27
|
-
}),
|
|
23
|
+
mongoose_1.MongooseModule.forRoot(uri, { connectionName: DynamicApiModule_1.connectionName }),
|
|
28
24
|
],
|
|
29
25
|
};
|
|
30
26
|
}
|
|
@@ -41,7 +37,7 @@ let DynamicApiModule = DynamicApiModule_1 = class DynamicApiModule {
|
|
|
41
37
|
schema[method](type, { document: true, query: true, ...options }, callback);
|
|
42
38
|
});
|
|
43
39
|
}
|
|
44
|
-
const databaseModule = mongoose_1.MongooseModule.forFeature([{ name: entity.name, schema }],
|
|
40
|
+
const databaseModule = mongoose_1.MongooseModule.forFeature([{ name: entity.name, schema }], DynamicApiModule_1.connectionName);
|
|
45
41
|
return {
|
|
46
42
|
module: DynamicApiModule_1,
|
|
47
43
|
imports: [
|
|
@@ -75,6 +71,7 @@ let DynamicApiModule = DynamicApiModule_1 = class DynamicApiModule {
|
|
|
75
71
|
}
|
|
76
72
|
};
|
|
77
73
|
exports.DynamicApiModule = DynamicApiModule;
|
|
74
|
+
DynamicApiModule.connectionName = 'dynamic-api-connection';
|
|
78
75
|
exports.DynamicApiModule = DynamicApiModule = DynamicApiModule_1 = __decorate([
|
|
79
76
|
(0, common_1.Module)({})
|
|
80
77
|
], DynamicApiModule);
|
package/src/helpers/index.d.ts
CHANGED
package/src/helpers/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { RouteDecoratorsBuilder } from '../builders';
|
|
2
|
+
import { BaseEntity } from '../models';
|
|
3
3
|
declare function RouteDecoratorsHelper<Entity extends BaseEntity>(routeDecorators: RouteDecoratorsBuilder<Entity>): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
|
|
4
4
|
export { RouteDecoratorsHelper };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { INestApplication } from '@nestjs/common';
|
|
2
|
+
import { OpenAPIObject, SwaggerDocumentOptions } from '@nestjs/swagger';
|
|
3
|
+
interface DynamicAPISwaggerOptions {
|
|
4
|
+
title?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
version?: string;
|
|
7
|
+
path?: string;
|
|
8
|
+
swaggerConfig?: Omit<OpenAPIObject, "paths">;
|
|
9
|
+
swaggerOptions?: SwaggerDocumentOptions;
|
|
10
|
+
}
|
|
11
|
+
declare function enableDynamicAPISwagger(app: INestApplication, options?: DynamicAPISwaggerOptions): void;
|
|
12
|
+
export { enableDynamicAPISwagger };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.enableDynamicAPISwagger = void 0;
|
|
4
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
5
|
+
const version_json_1 = require("../version.json");
|
|
6
|
+
function enableDynamicAPISwagger(app, options) {
|
|
7
|
+
const { title = 'MongoDB Dynamic API', description = 'Auto generated CRUD for MongoDB', version = version_json_1.default?.version, path = '/api', swaggerOptions, swaggerConfig, } = options ?? {};
|
|
8
|
+
const defaultConfig = new swagger_1.DocumentBuilder()
|
|
9
|
+
.setTitle(title)
|
|
10
|
+
.setDescription(description)
|
|
11
|
+
.setVersion(version)
|
|
12
|
+
.build();
|
|
13
|
+
const document = swagger_1.SwaggerModule.createDocument(app, { ...defaultConfig, ...swaggerConfig }, swaggerOptions);
|
|
14
|
+
swagger_1.SwaggerModule.setup(path, app, document);
|
|
15
|
+
}
|
|
16
|
+
exports.enableDynamicAPISwagger = enableDynamicAPISwagger;
|
package/src/index.d.ts
CHANGED
package/src/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BaseEntity } from '@dynamic-api';
|
|
2
1
|
import { Type } from '@nestjs/common';
|
|
2
|
+
import { BaseEntity } from '../models';
|
|
3
3
|
type RouteType = 'GetMany' | 'GetOne' | 'CreateOne' | 'CreateMany' | 'UpdateOne' | 'ReplaceOne' | 'DeleteOne' | 'DuplicateOne';
|
|
4
4
|
type DTOsBundle = {
|
|
5
5
|
query?: Type;
|
|
@@ -22,10 +22,10 @@
|
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
24
24
|
/// <reference types="mongoose/types/inferschematype" />
|
|
25
|
-
import { BaseEntity } from '@dynamic-api';
|
|
26
|
-
import { CreateManyService } from '@dynamic-api/modules';
|
|
27
|
-
import { BaseService } from '@dynamic-api/services';
|
|
28
25
|
import { Model } from 'mongoose';
|
|
26
|
+
import { BaseEntity } from '../../models';
|
|
27
|
+
import { BaseService } from '../../services';
|
|
28
|
+
import { CreateManyService } from './create-many-service.interface';
|
|
29
29
|
export declare abstract class BaseCreateManyService<Entity extends BaseEntity> extends BaseService<Entity> implements CreateManyService<Entity> {
|
|
30
30
|
protected readonly model: Model<Entity>;
|
|
31
31
|
protected constructor(model: Model<Entity>);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BaseCreateManyService = void 0;
|
|
4
|
-
const services_1 = require("
|
|
4
|
+
const services_1 = require("../../services");
|
|
5
5
|
class BaseCreateManyService extends services_1.BaseService {
|
|
6
6
|
constructor(model) {
|
|
7
7
|
super(model);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BaseEntity } from '
|
|
2
|
-
import { CreateManyService } from '
|
|
1
|
+
import { BaseEntity } from '../../models';
|
|
2
|
+
import { CreateManyService } from './create-many-service.interface';
|
|
3
3
|
interface CreateManyController<Entity extends BaseEntity> {
|
|
4
4
|
createMany<Body>(body: Body): Promise<Entity[]>;
|
|
5
5
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { BaseEntity, DTOsBundle } from '@dynamic-api';
|
|
2
|
-
import { CreateManyControllerConstructor } from '@dynamic-api/modules';
|
|
3
1
|
import { Type } from '@nestjs/common';
|
|
2
|
+
import { DTOsBundle } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
import { CreateManyControllerConstructor } from './create-many-controller.interface';
|
|
4
5
|
declare function CreateManyControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle): CreateManyControllerConstructor<Entity>;
|
|
5
6
|
export { CreateManyControllerMixin };
|
|
@@ -13,16 +13,16 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.CreateManyControllerMixin = void 0;
|
|
16
|
-
const _dynamic_api_1 = require("@dynamic-api");
|
|
17
16
|
const common_1 = require("@nestjs/common");
|
|
18
17
|
const swagger_1 = require("@nestjs/swagger");
|
|
19
18
|
const class_validator_1 = require("class-validator");
|
|
20
19
|
const builders_1 = require("../../builders");
|
|
21
20
|
const helpers_1 = require("../../helpers");
|
|
21
|
+
const mixins_1 = require("../../mixins");
|
|
22
22
|
function CreateManyControllerMixin(entity, path, apiTag, version, description, DTOs) {
|
|
23
23
|
const displayedName = apiTag ?? entity.name;
|
|
24
24
|
const { body: CustomBody, presenter: CustomPresenter } = DTOs ?? {};
|
|
25
|
-
class DtoBody extends (0,
|
|
25
|
+
class DtoBody extends (0, mixins_1.EntityBodyMixin)(entity) {
|
|
26
26
|
}
|
|
27
27
|
class CreateManyBody {
|
|
28
28
|
}
|
|
@@ -41,7 +41,7 @@ function CreateManyControllerMixin(entity, path, apiTag, version, description, D
|
|
|
41
41
|
writable: false,
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
|
-
class RoutePresenter extends (CustomPresenter ?? (0,
|
|
44
|
+
class RoutePresenter extends (CustomPresenter ?? (0, mixins_1.EntityPresenterMixin)(entity)) {
|
|
45
45
|
}
|
|
46
46
|
if (!CustomPresenter) {
|
|
47
47
|
Object.defineProperty(RoutePresenter, 'name', {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { BaseEntity, DTOsBundle, ServiceProvider } from '@dynamic-api';
|
|
2
|
-
import { CreateManyControllerConstructor } from '@dynamic-api/modules';
|
|
3
1
|
import { Type } from '@nestjs/common';
|
|
2
|
+
import { DTOsBundle, ServiceProvider } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
import { CreateManyControllerConstructor } from './create-many-controller.interface';
|
|
4
5
|
declare function createCreateManyServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>): ServiceProvider;
|
|
5
6
|
declare function createCreateManyController<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle): CreateManyControllerConstructor<Entity>;
|
|
6
7
|
export { createCreateManyController, createCreateManyServiceProvider };
|
|
@@ -13,17 +13,18 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.createCreateManyServiceProvider = exports.createCreateManyController = void 0;
|
|
16
|
-
const _dynamic_api_1 = require("@dynamic-api");
|
|
17
|
-
const modules_1 = require("@dynamic-api/modules");
|
|
18
16
|
const common_1 = require("@nestjs/common");
|
|
19
17
|
const mongoose_1 = require("@nestjs/mongoose");
|
|
20
18
|
const swagger_1 = require("@nestjs/swagger");
|
|
21
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");
|
|
22
23
|
function provideServiceName(entityName) {
|
|
23
24
|
return `CreateMany${entityName}Service`;
|
|
24
25
|
}
|
|
25
26
|
function createCreateManyServiceProvider(entity) {
|
|
26
|
-
let CreateManyService = class CreateManyService extends
|
|
27
|
+
let CreateManyService = class CreateManyService extends base_create_many_service_1.BaseCreateManyService {
|
|
27
28
|
constructor(model) {
|
|
28
29
|
super(model);
|
|
29
30
|
this.model = model;
|
|
@@ -31,7 +32,7 @@ function createCreateManyServiceProvider(entity) {
|
|
|
31
32
|
}
|
|
32
33
|
};
|
|
33
34
|
CreateManyService = __decorate([
|
|
34
|
-
__param(0, (0, mongoose_1.InjectModel)(entity.name,
|
|
35
|
+
__param(0, (0, mongoose_1.InjectModel)(entity.name, dynamic_api_module_1.DynamicApiModule.connectionName)),
|
|
35
36
|
__metadata("design:paramtypes", [mongoose_2.Model])
|
|
36
37
|
], CreateManyService);
|
|
37
38
|
Object.defineProperty(CreateManyService, 'name', {
|
|
@@ -45,7 +46,7 @@ function createCreateManyServiceProvider(entity) {
|
|
|
45
46
|
}
|
|
46
47
|
exports.createCreateManyServiceProvider = createCreateManyServiceProvider;
|
|
47
48
|
function createCreateManyController(entity, path, apiTag, version, description, DTOs) {
|
|
48
|
-
let CreateManyController = class CreateManyController extends (0,
|
|
49
|
+
let CreateManyController = class CreateManyController extends (0, create_many_controller_mixin_1.CreateManyControllerMixin)(entity, path, apiTag, version, description, DTOs) {
|
|
49
50
|
constructor(service) {
|
|
50
51
|
super(service);
|
|
51
52
|
this.service = service;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { BaseEntity, DTOsBundle } from '@dynamic-api';
|
|
2
1
|
import { DynamicModule, Type } from '@nestjs/common';
|
|
2
|
+
import { DTOsBundle } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
3
4
|
export declare class CreateManyModule {
|
|
4
5
|
static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle): DynamicModule;
|
|
5
6
|
}
|
|
@@ -22,10 +22,10 @@
|
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
24
24
|
/// <reference types="mongoose/types/inferschematype" />
|
|
25
|
-
import { BaseEntity } from '@dynamic-api';
|
|
26
|
-
import { CreateOneService } from '@dynamic-api/modules';
|
|
27
|
-
import { BaseService } from '@dynamic-api/services';
|
|
28
25
|
import { Model } from 'mongoose';
|
|
26
|
+
import { BaseEntity } from '../../models';
|
|
27
|
+
import { BaseService } from '../../services';
|
|
28
|
+
import { CreateOneService } from './create-one-service.interface';
|
|
29
29
|
export declare abstract class BaseCreateOneService<Entity extends BaseEntity> extends BaseService<Entity> implements CreateOneService<Entity> {
|
|
30
30
|
protected readonly model: Model<Entity>;
|
|
31
31
|
protected constructor(model: Model<Entity>);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BaseCreateOneService = void 0;
|
|
4
|
-
const services_1 = require("
|
|
4
|
+
const services_1 = require("../../services");
|
|
5
5
|
class BaseCreateOneService extends services_1.BaseService {
|
|
6
6
|
constructor(model) {
|
|
7
7
|
super(model);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BaseEntity } from '
|
|
2
|
-
import { CreateOneService } from '
|
|
1
|
+
import { BaseEntity } from '../../models';
|
|
2
|
+
import { CreateOneService } from './create-one-service.interface';
|
|
3
3
|
interface CreateOneController<Entity extends BaseEntity> {
|
|
4
4
|
createOne<Body>(body: Body): Promise<Entity | undefined>;
|
|
5
5
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { BaseEntity, DTOsBundle } from '@dynamic-api';
|
|
2
|
-
import { CreateOneControllerConstructor } from '@dynamic-api/modules';
|
|
3
1
|
import { Type } from '@nestjs/common';
|
|
2
|
+
import { DTOsBundle } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
import { CreateOneControllerConstructor } from './create-one-controller.interface';
|
|
4
5
|
declare function CreateOneControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle): CreateOneControllerConstructor<Entity>;
|
|
5
6
|
export { CreateOneControllerMixin };
|
|
@@ -13,14 +13,14 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.CreateOneControllerMixin = void 0;
|
|
16
|
-
const _dynamic_api_1 = require("@dynamic-api");
|
|
17
16
|
const common_1 = require("@nestjs/common");
|
|
18
17
|
const builders_1 = require("../../builders");
|
|
19
18
|
const helpers_1 = require("../../helpers");
|
|
19
|
+
const mixins_1 = require("../../mixins");
|
|
20
20
|
function CreateOneControllerMixin(entity, path, apiTag, version, description, DTOs) {
|
|
21
21
|
const displayedName = apiTag ?? entity.name;
|
|
22
22
|
const { body: CustomBody, presenter: CustomPresenter } = DTOs ?? {};
|
|
23
|
-
class RouteBody extends (CustomBody ?? (0,
|
|
23
|
+
class RouteBody extends (CustomBody ?? (0, mixins_1.EntityBodyMixin)(entity)) {
|
|
24
24
|
}
|
|
25
25
|
if (!CustomBody) {
|
|
26
26
|
Object.defineProperty(RouteBody, 'name', {
|
|
@@ -28,7 +28,7 @@ function CreateOneControllerMixin(entity, path, apiTag, version, description, DT
|
|
|
28
28
|
writable: false,
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
|
-
class RoutePresenter extends (CustomPresenter ?? (0,
|
|
31
|
+
class RoutePresenter extends (CustomPresenter ?? (0, mixins_1.EntityPresenterMixin)(entity)) {
|
|
32
32
|
}
|
|
33
33
|
if (!CustomPresenter) {
|
|
34
34
|
Object.defineProperty(RoutePresenter, 'name', {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { BaseEntity, DTOsBundle, ServiceProvider } from '@dynamic-api';
|
|
2
|
-
import { CreateOneControllerConstructor } from '@dynamic-api/modules';
|
|
3
1
|
import { Type } from '@nestjs/common';
|
|
2
|
+
import { DTOsBundle, ServiceProvider } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
import { CreateOneControllerConstructor } from './create-one-controller.interface';
|
|
4
5
|
declare function createCreateOneServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>): ServiceProvider;
|
|
5
6
|
declare function createCreateOneController<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle): CreateOneControllerConstructor<Entity>;
|
|
6
7
|
export { createCreateOneController, createCreateOneServiceProvider };
|
|
@@ -13,17 +13,18 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.createCreateOneServiceProvider = exports.createCreateOneController = void 0;
|
|
16
|
-
const _dynamic_api_1 = require("@dynamic-api");
|
|
17
|
-
const modules_1 = require("@dynamic-api/modules");
|
|
18
16
|
const common_1 = require("@nestjs/common");
|
|
19
17
|
const mongoose_1 = require("@nestjs/mongoose");
|
|
20
18
|
const swagger_1 = require("@nestjs/swagger");
|
|
21
19
|
const mongoose_2 = require("mongoose");
|
|
20
|
+
const dynamic_api_module_1 = require("../../dynamic-api.module");
|
|
21
|
+
const base_create_one_service_1 = require("./base-create-one.service");
|
|
22
|
+
const create_one_controller_mixin_1 = require("./create-one-controller.mixin");
|
|
22
23
|
function provideServiceName(entityName) {
|
|
23
24
|
return `CreateOne${entityName}Service`;
|
|
24
25
|
}
|
|
25
26
|
function createCreateOneServiceProvider(entity) {
|
|
26
|
-
let CreateOneService = class CreateOneService extends
|
|
27
|
+
let CreateOneService = class CreateOneService extends base_create_one_service_1.BaseCreateOneService {
|
|
27
28
|
constructor(model) {
|
|
28
29
|
super(model);
|
|
29
30
|
this.model = model;
|
|
@@ -31,7 +32,7 @@ function createCreateOneServiceProvider(entity) {
|
|
|
31
32
|
}
|
|
32
33
|
};
|
|
33
34
|
CreateOneService = __decorate([
|
|
34
|
-
__param(0, (0, mongoose_1.InjectModel)(entity.name,
|
|
35
|
+
__param(0, (0, mongoose_1.InjectModel)(entity.name, dynamic_api_module_1.DynamicApiModule.connectionName)),
|
|
35
36
|
__metadata("design:paramtypes", [mongoose_2.Model])
|
|
36
37
|
], CreateOneService);
|
|
37
38
|
Object.defineProperty(CreateOneService, 'name', {
|
|
@@ -45,7 +46,7 @@ function createCreateOneServiceProvider(entity) {
|
|
|
45
46
|
}
|
|
46
47
|
exports.createCreateOneServiceProvider = createCreateOneServiceProvider;
|
|
47
48
|
function createCreateOneController(entity, path, apiTag, version, description, DTOs) {
|
|
48
|
-
let CreateOneController = class CreateOneController extends (0,
|
|
49
|
+
let CreateOneController = class CreateOneController extends (0, create_one_controller_mixin_1.CreateOneControllerMixin)(entity, path, apiTag, version, description, DTOs) {
|
|
49
50
|
constructor(service) {
|
|
50
51
|
super(service);
|
|
51
52
|
this.service = service;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { BaseEntity, DTOsBundle } from '@dynamic-api';
|
|
2
1
|
import { DynamicModule, Type } from '@nestjs/common';
|
|
2
|
+
import { DTOsBundle } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
3
4
|
export declare class CreateOneModule {
|
|
4
5
|
static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle): DynamicModule;
|
|
5
6
|
}
|
|
@@ -22,10 +22,11 @@
|
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
24
24
|
/// <reference types="mongoose/types/inferschematype" />
|
|
25
|
-
import { BaseEntity, DeleteOnePresenter } from '@dynamic-api';
|
|
26
|
-
import { DeleteOneService } from '@dynamic-api/modules';
|
|
27
|
-
import { BaseService } from '@dynamic-api/services';
|
|
28
25
|
import { Model } from 'mongoose';
|
|
26
|
+
import { BaseEntity } from '../../models';
|
|
27
|
+
import { BaseService } from '../../services';
|
|
28
|
+
import { DeleteOneService } from './delete-one-service.interface';
|
|
29
|
+
import { DeleteOnePresenter } from './delete-one.presenter';
|
|
29
30
|
export declare abstract class BaseDeleteOneService<Entity extends BaseEntity> extends BaseService<Entity> implements DeleteOneService<Entity> {
|
|
30
31
|
protected readonly model: Model<Entity>;
|
|
31
32
|
protected constructor(model: Model<Entity>);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BaseDeleteOneService = void 0;
|
|
4
|
-
const _dynamic_api_1 = require("@dynamic-api");
|
|
5
|
-
const services_1 = require("@dynamic-api/services");
|
|
6
4
|
const builder_pattern_1 = require("builder-pattern");
|
|
5
|
+
const services_1 = require("../../services");
|
|
6
|
+
const delete_one_presenter_1 = require("./delete-one.presenter");
|
|
7
7
|
class BaseDeleteOneService extends services_1.BaseService {
|
|
8
8
|
constructor(model) {
|
|
9
9
|
super(model);
|
|
@@ -23,7 +23,7 @@ class BaseDeleteOneService extends services_1.BaseService {
|
|
|
23
23
|
else {
|
|
24
24
|
op = await this.model.deleteOne({ _id: id }).exec();
|
|
25
25
|
}
|
|
26
|
-
return (0, builder_pattern_1.Builder)(
|
|
26
|
+
return (0, builder_pattern_1.Builder)(delete_one_presenter_1.DeleteOnePresenter).deletedCount(op.deletedCount).build();
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
exports.BaseDeleteOneService = BaseDeleteOneService;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BaseEntity
|
|
2
|
-
import { DeleteOneService } from '
|
|
1
|
+
import { BaseEntity } from '../../models';
|
|
2
|
+
import { DeletedCount, DeleteOneService } from './delete-one-service.interface';
|
|
3
3
|
interface DeleteOneController<Entity extends BaseEntity> {
|
|
4
4
|
deleteOne(id: string): Promise<DeletedCount>;
|
|
5
5
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { BaseEntity, DTOsBundle } from '@dynamic-api';
|
|
2
|
-
import { DeleteOneControllerConstructor } from '@dynamic-api/modules';
|
|
3
1
|
import { Type } from '@nestjs/common';
|
|
2
|
+
import { DTOsBundle } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
import { DeleteOneControllerConstructor } from './delete-one-controller.interface';
|
|
4
5
|
declare function DeleteOneControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle): DeleteOneControllerConstructor<Entity>;
|
|
5
6
|
export { DeleteOneControllerMixin };
|
|
@@ -13,11 +13,11 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.DeleteOneControllerMixin = void 0;
|
|
16
|
-
const modules_1 = require("@dynamic-api/modules");
|
|
17
16
|
const common_1 = require("@nestjs/common");
|
|
18
17
|
const builders_1 = require("../../builders");
|
|
19
18
|
const dtos_1 = require("../../dtos");
|
|
20
19
|
const helpers_1 = require("../../helpers");
|
|
20
|
+
const delete_one_presenter_1 = require("./delete-one.presenter");
|
|
21
21
|
function DeleteOneControllerMixin(entity, path, apiTag, version, description, DTOs) {
|
|
22
22
|
const displayedName = apiTag ?? entity.name;
|
|
23
23
|
const { param: CustomParam, presenter: CustomPresenter } = DTOs ?? {};
|
|
@@ -29,7 +29,7 @@ function DeleteOneControllerMixin(entity, path, apiTag, version, description, DT
|
|
|
29
29
|
writable: false,
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
|
-
class RoutePresenter extends (CustomPresenter ??
|
|
32
|
+
class RoutePresenter extends (CustomPresenter ?? delete_one_presenter_1.DeleteOnePresenter) {
|
|
33
33
|
}
|
|
34
34
|
if (!CustomPresenter) {
|
|
35
35
|
Object.defineProperty(RoutePresenter, 'name', {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { BaseEntity, DTOsBundle, ServiceProvider } from '@dynamic-api';
|
|
2
|
-
import { DeleteOneControllerConstructor } from '@dynamic-api/modules';
|
|
3
1
|
import { Type } from '@nestjs/common';
|
|
2
|
+
import { DTOsBundle, ServiceProvider } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
import { DeleteOneControllerConstructor } from './delete-one-controller.interface';
|
|
4
5
|
declare function createDeleteOneServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>): ServiceProvider;
|
|
5
6
|
declare function createDeleteOneController<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle): DeleteOneControllerConstructor<Entity>;
|
|
6
7
|
export { createDeleteOneController, createDeleteOneServiceProvider };
|