manifest 2.0.0 → 4.0.0-alpha.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/README.md +40 -0
- package/dist/app.module.d.ts +5 -0
- package/dist/app.module.js +67 -0
- package/dist/app.module.js.map +1 -0
- package/dist/auth/auth.controller.d.ts +12 -0
- package/dist/auth/auth.controller.js +51 -0
- package/dist/auth/auth.controller.js.map +1 -0
- package/dist/auth/auth.module.d.ts +2 -0
- package/dist/auth/auth.module.js +25 -0
- package/dist/auth/auth.module.js.map +1 -0
- package/dist/auth/auth.service.d.ts +15 -0
- package/dist/auth/auth.service.js +93 -0
- package/dist/auth/auth.service.js.map +1 -0
- package/dist/auth/dtos/signup-authenticable-entity.dto.d.ts +4 -0
- package/dist/auth/dtos/signup-authenticable-entity.dto.js +26 -0
- package/dist/auth/dtos/signup-authenticable-entity.dto.js.map +1 -0
- package/dist/config/database.d.ts +5 -0
- package/dist/config/database.js +14 -0
- package/dist/config/database.js.map +1 -0
- package/dist/config/general.d.ts +5 -0
- package/dist/config/general.js +10 -0
- package/dist/config/general.js.map +1 -0
- package/dist/config/paths.d.ts +6 -0
- package/dist/config/paths.js +11 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/config/yaml.d.ts +6 -0
- package/dist/config/yaml.js +10 -0
- package/dist/config/yaml.js.map +1 -0
- package/dist/constants.d.ts +9 -0
- package/dist/constants.js +19 -0
- package/dist/constants.js.map +1 -0
- package/dist/crud/controllers/crud.controller.d.ts +19 -0
- package/dist/crud/controllers/crud.controller.js +106 -0
- package/dist/crud/controllers/crud.controller.js.map +1 -0
- package/dist/crud/crud.module.d.ts +2 -0
- package/dist/crud/crud.module.js +26 -0
- package/dist/crud/crud.module.js.map +1 -0
- package/dist/crud/services/crud.service.d.ts +37 -0
- package/dist/crud/services/crud.service.js +220 -0
- package/dist/crud/services/crud.service.js.map +1 -0
- package/dist/crud/services/helper.service.d.ts +4 -0
- package/dist/crud/services/helper.service.js +31 -0
- package/dist/crud/services/helper.service.js.map +1 -0
- package/dist/crud/services/pagination.service.d.ts +11 -0
- package/dist/crud/services/pagination.service.js +41 -0
- package/dist/crud/services/pagination.service.js.map +1 -0
- package/dist/entity/core-entities/AdminEntitySchema.d.ts +2 -0
- package/dist/entity/core-entities/AdminEntitySchema.js +18 -0
- package/dist/entity/core-entities/AdminEntitySchema.js.map +1 -0
- package/dist/entity/core-entities/base-entity.d.ts +5 -0
- package/dist/entity/core-entities/base-entity.js +23 -0
- package/dist/entity/core-entities/base-entity.js.map +1 -0
- package/dist/entity/entity.module.d.ts +2 -0
- package/dist/entity/entity.module.js +36 -0
- package/dist/entity/entity.module.js.map +1 -0
- package/dist/entity/records/prop-type-column-types.d.ts +3 -0
- package/dist/entity/records/prop-type-column-types.js +18 -0
- package/dist/entity/records/prop-type-column-types.js.map +1 -0
- package/dist/entity/records/prop-type-seed-functions.d.ts +2 -0
- package/dist/entity/records/prop-type-seed-functions.js +27 -0
- package/dist/entity/records/prop-type-seed-functions.js.map +1 -0
- package/dist/entity/services/entity/entity.service.d.ts +18 -0
- package/dist/entity/services/entity/entity.service.js +80 -0
- package/dist/entity/services/entity/entity.service.js.map +1 -0
- package/dist/entity/services/entity-loader/entity-loader.service.d.ts +7 -0
- package/dist/entity/services/entity-loader/entity-loader.service.js +54 -0
- package/dist/entity/services/entity-loader/entity-loader.service.js.map +1 -0
- package/dist/entity/services/property/property.service.d.ts +4 -0
- package/dist/entity/services/property/property.service.js +21 -0
- package/dist/entity/services/property/property.service.js.map +1 -0
- package/dist/entity/services/relationship/relationship.service.d.ts +7 -0
- package/dist/entity/services/relationship/relationship.service.js +35 -0
- package/dist/entity/services/relationship/relationship.service.js.map +1 -0
- package/dist/entity/subscribers/AdminEventSubscriber.d.ts +6 -0
- package/dist/entity/subscribers/AdminEventSubscriber.js +32 -0
- package/dist/entity/subscribers/AdminEventSubscriber.js.map +1 -0
- package/dist/logger/logger.module.d.ts +2 -0
- package/dist/logger/logger.module.js +22 -0
- package/dist/logger/logger.module.js.map +1 -0
- package/dist/logger/logger.service.d.ts +6 -0
- package/dist/logger/logger.service.js +44 -0
- package/dist/logger/logger.service.js.map +1 -0
- package/dist/main.d.ts +1 -0
- package/dist/main.js +70 -0
- package/dist/main.js.map +1 -0
- package/dist/manifest/controllers/manifest.controller.d.ts +11 -0
- package/dist/manifest/controllers/manifest.controller.js +57 -0
- package/dist/manifest/controllers/manifest.controller.js.map +1 -0
- package/dist/manifest/json-schema/GenerateTypes.d.ts +1 -0
- package/dist/manifest/json-schema/GenerateTypes.js +17 -0
- package/dist/manifest/json-schema/GenerateTypes.js.map +1 -0
- package/dist/manifest/json-schema/definitions/entity-schema.json +48 -0
- package/dist/manifest/json-schema/definitions/property-options/choice-options-schema.json +21 -0
- package/dist/manifest/json-schema/definitions/property-options/money-options-schema.json +13 -0
- package/dist/manifest/json-schema/definitions/property-options-schema.json +8 -0
- package/dist/manifest/json-schema/definitions/property-schema.json +72 -0
- package/dist/manifest/json-schema/definitions/relationship-schema.json +31 -0
- package/dist/manifest/json-schema/index.d.ts +102 -0
- package/dist/manifest/json-schema/index.js +22 -0
- package/dist/manifest/json-schema/index.js.map +1 -0
- package/dist/manifest/json-schema/manifest-schema.json +22 -0
- package/dist/manifest/manifest.module.d.ts +2 -0
- package/dist/manifest/manifest.module.js +28 -0
- package/dist/manifest/manifest.module.js.map +1 -0
- package/dist/manifest/services/manifest/constants.d.ts +3 -0
- package/dist/manifest/services/manifest/constants.js +21 -0
- package/dist/manifest/services/manifest/constants.js.map +1 -0
- package/dist/manifest/services/manifest/manifest.service.d.ts +23 -0
- package/dist/manifest/services/manifest/manifest.service.js +162 -0
- package/dist/manifest/services/manifest/manifest.service.js.map +1 -0
- package/dist/manifest/services/schema/schema.service.d.ts +6 -0
- package/dist/manifest/services/schema/schema.service.js +59 -0
- package/dist/manifest/services/schema/schema.service.js.map +1 -0
- package/dist/manifest/services/yaml/yaml.service.d.ts +9 -0
- package/dist/manifest/services/yaml/yaml.service.js +61 -0
- package/dist/manifest/services/yaml/yaml.service.js.map +1 -0
- package/dist/seed/seed.d.ts +1 -0
- package/dist/seed/seed.js +29 -0
- package/dist/seed/seed.js.map +1 -0
- package/dist/seed/seed.module.d.ts +2 -0
- package/dist/seed/seed.module.js +23 -0
- package/dist/seed/seed.module.js.map +1 -0
- package/dist/seed/seeder.service.d.ts +15 -0
- package/dist/seed/seeder.service.js +85 -0
- package/dist/seed/seeder.service.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +101 -6
- package/scripts/watch/nodemon.json +5 -0
- package/scripts/watch/watch.js +18 -0
- package/readme.md +0 -3
package/README.md
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Manifest
|
|
2
|
+
|
|
3
|
+
[Manifest](https://manifest.build) is the simplest **BaaS (Backend As A Service)** you will find.
|
|
4
|
+
|
|
5
|
+
It provides a complete backend to your client app without the hassle that comes with it. It actually fits into **a single YAML file** that generates a complete backend.
|
|
6
|
+
|
|
7
|
+
Here is an example of a complete Manifest app:
|
|
8
|
+
|
|
9
|
+
```yaml
|
|
10
|
+
# manifest/backend.yml
|
|
11
|
+
name: Healthcare application
|
|
12
|
+
|
|
13
|
+
entities:
|
|
14
|
+
👩🏾⚕️ Doctor:
|
|
15
|
+
properties:
|
|
16
|
+
- fullName
|
|
17
|
+
- avatar
|
|
18
|
+
- { name: price, type: money, options: { currency: EUR } }
|
|
19
|
+
belongsTo:
|
|
20
|
+
- City
|
|
21
|
+
|
|
22
|
+
🤒 Patient:
|
|
23
|
+
properties:
|
|
24
|
+
- fullName
|
|
25
|
+
- { name: birthdate, type: date }
|
|
26
|
+
belongsTo:
|
|
27
|
+
- Doctor
|
|
28
|
+
|
|
29
|
+
🌍 City:
|
|
30
|
+
properties:
|
|
31
|
+
- name
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Install
|
|
35
|
+
|
|
36
|
+
Simply run this command on your terminal from the root of your project:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npx add-manifest
|
|
40
|
+
```
|
|
@@ -0,0 +1,67 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.AppModule = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const config_1 = require("@nestjs/config");
|
|
18
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
19
|
+
const auth_module_1 = require("./auth/auth.module");
|
|
20
|
+
const database_1 = __importDefault(require("./config/database"));
|
|
21
|
+
const general_1 = __importDefault(require("./config/general"));
|
|
22
|
+
const paths_1 = __importDefault(require("./config/paths"));
|
|
23
|
+
const yaml_1 = __importDefault(require("./config/yaml"));
|
|
24
|
+
const crud_module_1 = require("./crud/crud.module");
|
|
25
|
+
const entity_module_1 = require("./entity/entity.module");
|
|
26
|
+
const entity_loader_service_1 = require("./entity/services/entity-loader/entity-loader.service");
|
|
27
|
+
const logger_module_1 = require("./logger/logger.module");
|
|
28
|
+
const logger_service_1 = require("./logger/logger.service");
|
|
29
|
+
const manifest_module_1 = require("./manifest/manifest.module");
|
|
30
|
+
const seed_module_1 = require("./seed/seed.module");
|
|
31
|
+
let AppModule = class AppModule {
|
|
32
|
+
constructor(loggerService) {
|
|
33
|
+
this.loggerService = loggerService;
|
|
34
|
+
const isSeed = process.argv[1].includes('seed');
|
|
35
|
+
if (!isSeed) {
|
|
36
|
+
this.loggerService.initMessage();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
exports.AppModule = AppModule;
|
|
41
|
+
exports.AppModule = AppModule = __decorate([
|
|
42
|
+
(0, common_1.Module)({
|
|
43
|
+
imports: [
|
|
44
|
+
config_1.ConfigModule.forRoot({
|
|
45
|
+
isGlobal: true,
|
|
46
|
+
load: [general_1.default, database_1.default, yaml_1.default, paths_1.default]
|
|
47
|
+
}),
|
|
48
|
+
typeorm_1.TypeOrmModule.forRootAsync({
|
|
49
|
+
imports: [config_1.ConfigModule, entity_module_1.EntityModule],
|
|
50
|
+
useFactory: (configService, entityLoaderService) => {
|
|
51
|
+
const databaseConfig = configService.get('database');
|
|
52
|
+
const entities = entityLoaderService.loadEntities();
|
|
53
|
+
return Object.assign(databaseConfig, { entities });
|
|
54
|
+
},
|
|
55
|
+
inject: [config_1.ConfigService, entity_loader_service_1.EntityLoaderService]
|
|
56
|
+
}),
|
|
57
|
+
manifest_module_1.ManifestModule,
|
|
58
|
+
entity_module_1.EntityModule,
|
|
59
|
+
seed_module_1.SeedModule,
|
|
60
|
+
crud_module_1.CrudModule,
|
|
61
|
+
auth_module_1.AuthModule,
|
|
62
|
+
logger_module_1.LoggerModule
|
|
63
|
+
]
|
|
64
|
+
}),
|
|
65
|
+
__metadata("design:paramtypes", [logger_service_1.LoggerService])
|
|
66
|
+
], AppModule);
|
|
67
|
+
//# sourceMappingURL=app.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAuC;AACvC,2CAA4D;AAE5D,6CAA+C;AAG/C,oDAA+C;AAC/C,iEAA8C;AAC9C,+DAA4C;AAC5C,2DAAwC;AACxC,yDAAsC;AACtC,oDAA+C;AAC/C,0DAAqD;AACrD,iGAA2F;AAC3F,0DAAqD;AACrD,4DAAuD;AACvD,gEAA2D;AAC3D,oDAA+C;AAgCxC,IAAM,SAAS,GAAf,MAAM,SAAS;IACpB,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAC9C,MAAM,MAAM,GAAY,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAExD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAA;QAClC,CAAC;IACH,CAAC;CACF,CAAA;AARY,8BAAS;oBAAT,SAAS;IA9BrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,qBAAY,CAAC,OAAO,CAAC;gBACnB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,CAAC,iBAAa,EAAE,kBAAc,EAAE,cAAU,EAAE,eAAW,CAAC;aAC/D,CAAC;YAEF,uBAAa,CAAC,YAAY,CAAC;gBACzB,OAAO,EAAE,CAAC,qBAAY,EAAE,4BAAY,CAAC;gBACrC,UAAU,EAAE,CACV,aAA4B,EAC5B,mBAAwC,EACxC,EAAE;oBACF,MAAM,cAAc,GAClB,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;oBAE/B,MAAM,QAAQ,GAAmB,mBAAmB,CAAC,YAAY,EAAE,CAAA;oBAEnE,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;gBACpD,CAAC;gBACD,MAAM,EAAE,CAAC,sBAAa,EAAE,2CAAmB,CAAC;aAC7C,CAAC;YACF,gCAAc;YACd,4BAAY;YACZ,wBAAU;YACV,wBAAU;YACV,wBAAU;YACV,4BAAY;SACb;KACF,CAAC;qCAEmC,8BAAa;GADrC,SAAS,CAQrB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AuthenticableEntity } from '@manifest-yml/types';
|
|
2
|
+
import { Request } from 'express';
|
|
3
|
+
import { AuthService } from './auth.service';
|
|
4
|
+
import { SignupAuthenticableEntityDto } from './dtos/signup-authenticable-entity.dto';
|
|
5
|
+
export declare class AuthController {
|
|
6
|
+
private readonly authService;
|
|
7
|
+
constructor(authService: AuthService);
|
|
8
|
+
getToken(authenticableEntity: string, signupUserDto: SignupAuthenticableEntityDto): Promise<{
|
|
9
|
+
token: string;
|
|
10
|
+
}>;
|
|
11
|
+
getCurrentUser(authenticableEntity: string, req: Request): Promise<AuthenticableEntity>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
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.AuthController = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const auth_service_1 = require("./auth.service");
|
|
18
|
+
const signup_authenticable_entity_dto_1 = require("./dtos/signup-authenticable-entity.dto");
|
|
19
|
+
let AuthController = class AuthController {
|
|
20
|
+
constructor(authService) {
|
|
21
|
+
this.authService = authService;
|
|
22
|
+
}
|
|
23
|
+
async getToken(authenticableEntity, signupUserDto) {
|
|
24
|
+
return this.authService.createToken(authenticableEntity, signupUserDto);
|
|
25
|
+
}
|
|
26
|
+
async getCurrentUser(authenticableEntity, req) {
|
|
27
|
+
return this.authService.getUserFromToken(req.headers?.authorization, authenticableEntity);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
exports.AuthController = AuthController;
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, common_1.Post)(':authenticableEntity/login'),
|
|
33
|
+
__param(0, (0, common_1.Param)('authenticableEntity')),
|
|
34
|
+
__param(1, (0, common_1.Body)()),
|
|
35
|
+
__metadata("design:type", Function),
|
|
36
|
+
__metadata("design:paramtypes", [String, signup_authenticable_entity_dto_1.SignupAuthenticableEntityDto]),
|
|
37
|
+
__metadata("design:returntype", Promise)
|
|
38
|
+
], AuthController.prototype, "getToken", null);
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, common_1.Get)(':authenticableEntity/me'),
|
|
41
|
+
__param(0, (0, common_1.Param)('authenticableEntity')),
|
|
42
|
+
__param(1, (0, common_1.Req)()),
|
|
43
|
+
__metadata("design:type", Function),
|
|
44
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
45
|
+
__metadata("design:returntype", Promise)
|
|
46
|
+
], AuthController.prototype, "getCurrentUser", null);
|
|
47
|
+
exports.AuthController = AuthController = __decorate([
|
|
48
|
+
(0, common_1.Controller)('auth'),
|
|
49
|
+
__metadata("design:paramtypes", [auth_service_1.AuthService])
|
|
50
|
+
], AuthController);
|
|
51
|
+
//# sourceMappingURL=auth.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../src/auth/auth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwE;AAIxE,iDAA4C;AAC5C,4FAAqF;AAG9E,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAG5C,AAAN,KAAK,CAAC,QAAQ,CACW,mBAA2B,EACjD,aAA2C;QAInD,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAA;IACzE,CAAC;IAaY,AAAN,KAAK,CAAC,cAAc,CACK,mBAA2B,EAClD,GAAY;QAEnB,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CACtC,GAAG,CAAC,OAAO,EAAE,aAAa,EAC1B,mBAAmB,CACpB,CAAA;IACH,CAAC;CACF,CAAA;AAjCY,wCAAc;AAIZ;IADZ,IAAA,aAAI,EAAC,4BAA4B,CAAC;IAEhC,WAAA,IAAA,cAAK,EAAC,qBAAqB,CAAC,CAAA;IAC5B,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAgB,8DAA4B;;8CAKpD;AAaY;IADZ,IAAA,YAAG,EAAC,yBAAyB,CAAC;IAE5B,WAAA,IAAA,cAAK,EAAC,qBAAqB,CAAC,CAAA;IAC5B,WAAA,IAAA,YAAG,GAAE,CAAA;;;;oDAMP;yBAhCU,cAAc;IAD1B,IAAA,mBAAU,EAAC,MAAM,CAAC;qCAEyB,0BAAW;GAD1C,cAAc,CAiC1B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.AuthModule = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const entity_module_1 = require("../entity/entity.module");
|
|
12
|
+
const auth_controller_1 = require("./auth.controller");
|
|
13
|
+
const auth_service_1 = require("./auth.service");
|
|
14
|
+
let AuthModule = class AuthModule {
|
|
15
|
+
};
|
|
16
|
+
exports.AuthModule = AuthModule;
|
|
17
|
+
exports.AuthModule = AuthModule = __decorate([
|
|
18
|
+
(0, common_1.Module)({
|
|
19
|
+
imports: [entity_module_1.EntityModule],
|
|
20
|
+
controllers: [auth_controller_1.AuthController],
|
|
21
|
+
providers: [auth_service_1.AuthService],
|
|
22
|
+
exports: [auth_service_1.AuthService]
|
|
23
|
+
})
|
|
24
|
+
], AuthModule);
|
|
25
|
+
//# sourceMappingURL=auth.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../src/auth/auth.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAuC;AAEvC,2DAAsD;AACtD,uDAAkD;AAClD,iDAA4C;AAQrC,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IANtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,4BAAY,CAAC;QACvB,WAAW,EAAE,CAAC,gCAAc,CAAC;QAC7B,SAAS,EAAE,CAAC,0BAAW,CAAC;QACxB,OAAO,EAAE,CAAC,0BAAW,CAAC;KACvB,CAAC;GACW,UAAU,CAAG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AuthenticableEntity } from '@manifest-yml/types';
|
|
2
|
+
import { ConfigService } from '@nestjs/config';
|
|
3
|
+
import { Request } from 'express';
|
|
4
|
+
import { EntityService } from '../entity/services/entity/entity.service';
|
|
5
|
+
import { SignupAuthenticableEntityDto } from './dtos/signup-authenticable-entity.dto';
|
|
6
|
+
export declare class AuthService {
|
|
7
|
+
private readonly configService;
|
|
8
|
+
private readonly entityService;
|
|
9
|
+
constructor(configService: ConfigService, entityService: EntityService);
|
|
10
|
+
createToken(entitySlug: string, signupUserDto: SignupAuthenticableEntityDto): Promise<{
|
|
11
|
+
token: string;
|
|
12
|
+
}>;
|
|
13
|
+
getUserFromToken(token: string, entitySlug?: string): Promise<AuthenticableEntity>;
|
|
14
|
+
getUserFromRequest(req: Request, entitySlug: string): Promise<AuthenticableEntity>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
+
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;
|
|
22
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
+
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
|
+
if (mod && mod.__esModule) return mod;
|
|
26
|
+
var result = {};
|
|
27
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
28
|
+
__setModuleDefault(result, mod);
|
|
29
|
+
return result;
|
|
30
|
+
};
|
|
31
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
32
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
exports.AuthService = void 0;
|
|
36
|
+
const common_1 = require("@nestjs/common");
|
|
37
|
+
const config_1 = require("@nestjs/config");
|
|
38
|
+
const crypto_js_1 = require("crypto-js");
|
|
39
|
+
const jwt = __importStar(require("jsonwebtoken"));
|
|
40
|
+
const entity_service_1 = require("../entity/services/entity/entity.service");
|
|
41
|
+
let AuthService = class AuthService {
|
|
42
|
+
constructor(configService, entityService) {
|
|
43
|
+
this.configService = configService;
|
|
44
|
+
this.entityService = entityService;
|
|
45
|
+
}
|
|
46
|
+
async createToken(entitySlug, signupUserDto) {
|
|
47
|
+
const entityRepository = this.entityService.getEntityRepository({
|
|
48
|
+
entitySlug
|
|
49
|
+
});
|
|
50
|
+
const user = await entityRepository.findOne({
|
|
51
|
+
where: {
|
|
52
|
+
email: signupUserDto.email,
|
|
53
|
+
password: (0, crypto_js_1.SHA3)(signupUserDto.password).toString()
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
if (!user) {
|
|
57
|
+
throw new common_1.HttpException('Invalid email or password', common_1.HttpStatus.UNAUTHORIZED);
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
token: jwt.sign({ email: signupUserDto.email }, this.configService.get('TOKEN_SECRET_KEY'))
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
getUserFromToken(token, entitySlug) {
|
|
64
|
+
let decoded;
|
|
65
|
+
try {
|
|
66
|
+
decoded = jwt.verify(token?.replace('Bearer ', ''), this.configService.get('TOKEN_SECRET_KEY'));
|
|
67
|
+
}
|
|
68
|
+
catch (e) {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
if (!decoded) {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
const entityRepository = this.entityService.getEntityRepository({
|
|
75
|
+
entitySlug
|
|
76
|
+
});
|
|
77
|
+
return entityRepository.findOne({
|
|
78
|
+
where: {
|
|
79
|
+
email: decoded.email
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
getUserFromRequest(req, entitySlug) {
|
|
84
|
+
return this.getUserFromToken(req.headers?.['authorization'], entitySlug);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
exports.AuthService = AuthService;
|
|
88
|
+
exports.AuthService = AuthService = __decorate([
|
|
89
|
+
(0, common_1.Injectable)(),
|
|
90
|
+
__metadata("design:paramtypes", [config_1.ConfigService,
|
|
91
|
+
entity_service_1.EntityService])
|
|
92
|
+
], AuthService);
|
|
93
|
+
//# sourceMappingURL=auth.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2CAAsE;AACtE,2CAA8C;AAC9C,yCAAgC;AAEhC,kDAAmC;AAEnC,6EAAwE;AAMjE,IAAM,WAAW,GAAjB,MAAM,WAAW;IACtB,YACmB,aAA4B,EAC5B,aAA4B;QAD5B,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAe;IAC5C,CAAC;IAWJ,KAAK,CAAC,WAAW,CACf,UAAkB,EAClB,aAA2C;QAI3C,MAAM,gBAAgB,GACpB,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC;YACrC,UAAU;SACX,CAAoC,CAAA;QAEvC,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC;YAC1C,KAAK,EAAE;gBACL,KAAK,EAAE,aAAa,CAAC,KAAK;gBAC1B,QAAQ,EAAE,IAAA,gBAAI,EAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE;aAClD;SACF,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,sBAAa,CACrB,2BAA2B,EAC3B,mBAAU,CAAC,YAAY,CACxB,CAAA;QACH,CAAC;QACD,OAAO;YACL,KAAK,EAAE,GAAG,CAAC,IAAI,CACb,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,EAC9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAC3C;SACF,CAAA;IACH,CAAC;IAWD,gBAAgB,CACd,KAAa,EACb,UAAmB;QAEnB,IAAI,OAAuB,CAAA;QAC3B,IAAI,CAAC;YACH,OAAO,GAAG,GAAG,CAAC,MAAM,CAClB,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAC7B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,kBAAkB,CAAC,CACzB,CAAA;QACrB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,gBAAgB,GACpB,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC;YACrC,UAAU;SACX,CAAoC,CAAA;QAEvC,OAAO,gBAAgB,CAAC,OAAO,CAAC;YAC9B,KAAK,EAAE;gBACL,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB;SACF,CAAC,CAAA;IACJ,CAAC;IASD,kBAAkB,CAChB,GAAY,EACZ,UAAkB;QAElB,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,CAAA;IAC1E,CAAC;CACF,CAAA;AAjGY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAGuB,sBAAa;QACb,8BAAa;GAHpC,WAAW,CAiGvB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
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.SignupAuthenticableEntityDto = void 0;
|
|
13
|
+
const class_validator_1 = require("class-validator");
|
|
14
|
+
class SignupAuthenticableEntityDto {
|
|
15
|
+
}
|
|
16
|
+
exports.SignupAuthenticableEntityDto = SignupAuthenticableEntityDto;
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
19
|
+
(0, class_validator_1.IsEmail)(),
|
|
20
|
+
__metadata("design:type", String)
|
|
21
|
+
], SignupAuthenticableEntityDto.prototype, "email", void 0);
|
|
22
|
+
__decorate([
|
|
23
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
24
|
+
__metadata("design:type", String)
|
|
25
|
+
], SignupAuthenticableEntityDto.prototype, "password", void 0);
|
|
26
|
+
//# sourceMappingURL=signup-authenticable-entity.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signup-authenticable-entity.dto.js","sourceRoot":"","sources":["../../../src/auth/dtos/signup-authenticable-entity.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAqD;AAErD,MAAa,4BAA4B;CAOxC;AAPD,oEAOC;AAJQ;IAFN,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,GAAE;;2DACU;AAGb;IADN,IAAA,4BAAU,GAAE;;8DACU"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const AdminEventSubscriber_1 = require("../entity/subscribers/AdminEventSubscriber");
|
|
4
|
+
exports.default = () => {
|
|
5
|
+
return {
|
|
6
|
+
database: {
|
|
7
|
+
type: 'sqlite',
|
|
8
|
+
database: `${process.cwd()}/manifest/backend.db`,
|
|
9
|
+
subscribers: [AdminEventSubscriber_1.AdminEventSubscriber],
|
|
10
|
+
synchronize: true
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=database.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/config/database.ts"],"names":[],"mappings":";;AACA,qFAAiF;AAEjF,kBAAe,GAA0C,EAAE;IACzD,OAAO;QACL,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,sBAAsB;YAChD,WAAW,EAAE,CAAC,2CAAoB,CAAC;YACnC,WAAW,EAAE,IAAI;SAClB;KACF,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const constants_1 = require("../constants");
|
|
4
|
+
exports.default = () => {
|
|
5
|
+
return {
|
|
6
|
+
port: process.env.PORT || constants_1.DEFAULT_PORT,
|
|
7
|
+
nodeEnv: process.env.NODE_ENV || 'development'
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=general.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"general.js","sourceRoot":"","sources":["../../src/config/general.ts"],"names":[],"mappings":";;AAAA,4CAA2C;AAE3C,kBAAe,GAA+C,EAAE;IAC9D,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,wBAAY;QACtC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;KAC/C,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const path_1 = require("path");
|
|
4
|
+
exports.default = () => {
|
|
5
|
+
return {
|
|
6
|
+
paths: {
|
|
7
|
+
admin: (0, path_1.join)(__dirname, '../../node_modules/@manifest-yml/admin/dist')
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":";;AAAA,+BAA2B;AAE3B,kBAAe,GAAiC,EAAE;IAChD,OAAO;QACL,KAAK,EAAE;YACL,KAAK,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,6CAA6C,CAAC;SACtE;KACF,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yaml.js","sourceRoot":"","sources":["../../src/config/yaml.ts"],"names":[],"mappings":";;AAAA,kBAAe,GAAmC,EAAE;IAClD,OAAO;QACL,IAAI,EAAE;YACJ,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,uBAAuB;SAClD;KACF,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const MANIFEST_FOLDER_NAME = "manifest";
|
|
2
|
+
export declare const MANIFEST_FILE_NAME = "backend.yml";
|
|
3
|
+
export declare const DEFAULT_PORT = 1111;
|
|
4
|
+
export declare const DEFAULT_RESULTS_PER_PAGE = 20;
|
|
5
|
+
export declare const DEFAULT_ADMIN_CREDENTIALS: {
|
|
6
|
+
email: string;
|
|
7
|
+
password: string;
|
|
8
|
+
};
|
|
9
|
+
export declare const QUERY_PARAMS_RESERVED_WORDS: string[];
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QUERY_PARAMS_RESERVED_WORDS = exports.DEFAULT_ADMIN_CREDENTIALS = exports.DEFAULT_RESULTS_PER_PAGE = exports.DEFAULT_PORT = exports.MANIFEST_FILE_NAME = exports.MANIFEST_FOLDER_NAME = void 0;
|
|
4
|
+
exports.MANIFEST_FOLDER_NAME = 'manifest';
|
|
5
|
+
exports.MANIFEST_FILE_NAME = 'backend.yml';
|
|
6
|
+
exports.DEFAULT_PORT = 1111;
|
|
7
|
+
exports.DEFAULT_RESULTS_PER_PAGE = 20;
|
|
8
|
+
exports.DEFAULT_ADMIN_CREDENTIALS = {
|
|
9
|
+
email: 'admin@manifest.build',
|
|
10
|
+
password: 'admin'
|
|
11
|
+
};
|
|
12
|
+
exports.QUERY_PARAMS_RESERVED_WORDS = [
|
|
13
|
+
'page',
|
|
14
|
+
'perPage',
|
|
15
|
+
'order',
|
|
16
|
+
'orderBy',
|
|
17
|
+
'relations'
|
|
18
|
+
];
|
|
19
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AACa,QAAA,oBAAoB,GAAG,UAAU,CAAA;AACjC,QAAA,kBAAkB,GAAG,aAAa,CAAA;AAGlC,QAAA,YAAY,GAAG,IAAI,CAAA;AACnB,QAAA,wBAAwB,GAAG,EAAE,CAAA;AAC7B,QAAA,yBAAyB,GAAG;IACvC,KAAK,EAAE,sBAAsB;IAC7B,QAAQ,EAAE,OAAO;CAClB,CAAA;AAGY,QAAA,2BAA2B,GAAG;IACzC,MAAM;IACN,SAAS;IACT,OAAO;IACP,SAAS;IACT,WAAW;CACZ,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseEntity, Paginator, SelectOption } from '@manifest-yml/types';
|
|
2
|
+
import { DeleteResult, InsertResult } from 'typeorm';
|
|
3
|
+
import { CrudService } from '../services/crud.service';
|
|
4
|
+
export declare class CrudController {
|
|
5
|
+
private readonly crudService;
|
|
6
|
+
constructor(crudService: CrudService);
|
|
7
|
+
findAll(entitySlug: string, queryParams: {
|
|
8
|
+
[key: string]: string | string[];
|
|
9
|
+
}): Promise<Paginator<BaseEntity>>;
|
|
10
|
+
findSelectOptions(entitySlug: string, queryParams: {
|
|
11
|
+
[key: string]: string | string[];
|
|
12
|
+
}): Promise<SelectOption[]>;
|
|
13
|
+
findOne(entitySlug: string, id: number, queryParams: {
|
|
14
|
+
[key: string]: string | string[];
|
|
15
|
+
}): Promise<BaseEntity>;
|
|
16
|
+
store(entity: string, entityDto: any): Promise<InsertResult>;
|
|
17
|
+
update(entity: string, id: number, entityDto: any): Promise<BaseEntity>;
|
|
18
|
+
delete(entity: string, id: number): Promise<DeleteResult>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
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.CrudController = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const crud_service_1 = require("../services/crud.service");
|
|
18
|
+
let CrudController = class CrudController {
|
|
19
|
+
constructor(crudService) {
|
|
20
|
+
this.crudService = crudService;
|
|
21
|
+
}
|
|
22
|
+
findAll(entitySlug, queryParams) {
|
|
23
|
+
return this.crudService.findAll({
|
|
24
|
+
entitySlug,
|
|
25
|
+
queryParams
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
findSelectOptions(entitySlug, queryParams) {
|
|
29
|
+
return this.crudService.findSelectOptions({
|
|
30
|
+
entitySlug,
|
|
31
|
+
queryParams
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
findOne(entitySlug, id, queryParams) {
|
|
35
|
+
return this.crudService.findOne({
|
|
36
|
+
entitySlug,
|
|
37
|
+
id,
|
|
38
|
+
queryParams
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
store(entity, entityDto) {
|
|
42
|
+
return this.crudService.store(entity, entityDto);
|
|
43
|
+
}
|
|
44
|
+
update(entity, id, entityDto) {
|
|
45
|
+
return this.crudService.update(entity, id, entityDto);
|
|
46
|
+
}
|
|
47
|
+
delete(entity, id) {
|
|
48
|
+
return this.crudService.delete(entity, id);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
exports.CrudController = CrudController;
|
|
52
|
+
__decorate([
|
|
53
|
+
(0, common_1.Get)('/:entity'),
|
|
54
|
+
__param(0, (0, common_1.Param)('entity')),
|
|
55
|
+
__param(1, (0, common_1.Query)()),
|
|
56
|
+
__metadata("design:type", Function),
|
|
57
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
58
|
+
__metadata("design:returntype", Promise)
|
|
59
|
+
], CrudController.prototype, "findAll", null);
|
|
60
|
+
__decorate([
|
|
61
|
+
(0, common_1.Get)(':entity/select-options'),
|
|
62
|
+
__param(0, (0, common_1.Param)('entity')),
|
|
63
|
+
__param(1, (0, common_1.Query)()),
|
|
64
|
+
__metadata("design:type", Function),
|
|
65
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
66
|
+
__metadata("design:returntype", Promise)
|
|
67
|
+
], CrudController.prototype, "findSelectOptions", null);
|
|
68
|
+
__decorate([
|
|
69
|
+
(0, common_1.Get)(':entity/:id'),
|
|
70
|
+
__param(0, (0, common_1.Param)('entity')),
|
|
71
|
+
__param(1, (0, common_1.Param)('id', common_1.ParseIntPipe)),
|
|
72
|
+
__param(2, (0, common_1.Query)()),
|
|
73
|
+
__metadata("design:type", Function),
|
|
74
|
+
__metadata("design:paramtypes", [String, Number, Object]),
|
|
75
|
+
__metadata("design:returntype", Promise)
|
|
76
|
+
], CrudController.prototype, "findOne", null);
|
|
77
|
+
__decorate([
|
|
78
|
+
(0, common_1.Post)(':entity'),
|
|
79
|
+
__param(0, (0, common_1.Param)('entity')),
|
|
80
|
+
__param(1, (0, common_1.Body)()),
|
|
81
|
+
__metadata("design:type", Function),
|
|
82
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
83
|
+
__metadata("design:returntype", Promise)
|
|
84
|
+
], CrudController.prototype, "store", null);
|
|
85
|
+
__decorate([
|
|
86
|
+
(0, common_1.Put)(':entity/:id'),
|
|
87
|
+
__param(0, (0, common_1.Param)('entity')),
|
|
88
|
+
__param(1, (0, common_1.Param)('id', common_1.ParseIntPipe)),
|
|
89
|
+
__param(2, (0, common_1.Body)()),
|
|
90
|
+
__metadata("design:type", Function),
|
|
91
|
+
__metadata("design:paramtypes", [String, Number, Object]),
|
|
92
|
+
__metadata("design:returntype", Promise)
|
|
93
|
+
], CrudController.prototype, "update", null);
|
|
94
|
+
__decorate([
|
|
95
|
+
(0, common_1.Delete)(':entity/:id'),
|
|
96
|
+
__param(0, (0, common_1.Param)('entity')),
|
|
97
|
+
__param(1, (0, common_1.Param)('id', common_1.ParseIntPipe)),
|
|
98
|
+
__metadata("design:type", Function),
|
|
99
|
+
__metadata("design:paramtypes", [String, Number]),
|
|
100
|
+
__metadata("design:returntype", Promise)
|
|
101
|
+
], CrudController.prototype, "delete", null);
|
|
102
|
+
exports.CrudController = CrudController = __decorate([
|
|
103
|
+
(0, common_1.Controller)('dynamic'),
|
|
104
|
+
__metadata("design:paramtypes", [crud_service_1.CrudService])
|
|
105
|
+
], CrudController);
|
|
106
|
+
//# sourceMappingURL=crud.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crud.controller.js","sourceRoot":"","sources":["../../../src/crud/controllers/crud.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAUuB;AAIvB,2DAAsD;AAG/C,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAGzD,OAAO,CACY,UAAkB,EAC1B,WAAiD;QAE1D,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAC9B,UAAU;YACV,WAAW;SACZ,CAAC,CAAA;IACJ,CAAC;IAGD,iBAAiB,CACE,UAAkB,EAC1B,WAAiD;QAE1D,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;YACxC,UAAU;YACV,WAAW;SACZ,CAAC,CAAA;IACJ,CAAC;IAGD,OAAO,CACY,UAAkB,EACR,EAAU,EAC5B,WAAiD;QAE1D,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAC9B,UAAU;YACV,EAAE;YACF,WAAW;SACZ,CAAC,CAAA;IACJ,CAAC;IAGD,KAAK,CACc,MAAc,EACvB,SAAc;QAEtB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAClD,CAAC;IAGD,MAAM,CACa,MAAc,EACJ,EAAU,EAC7B,SAAc;QAEtB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;IACvD,CAAC;IAGD,MAAM,CACa,MAAc,EACJ,EAAU;QAErC,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAC5C,CAAC;CACF,CAAA;AA9DY,wCAAc;AAIzB;IADC,IAAA,YAAG,EAAC,UAAU,CAAC;IAEb,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;IACf,WAAA,IAAA,cAAK,GAAE,CAAA;;;;6CAMT;AAGD;IADC,IAAA,YAAG,EAAC,wBAAwB,CAAC;IAE3B,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;IACf,WAAA,IAAA,cAAK,GAAE,CAAA;;;;uDAMT;AAGD;IADC,IAAA,YAAG,EAAC,aAAa,CAAC;IAEhB,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;IACf,WAAA,IAAA,cAAK,EAAC,IAAI,EAAE,qBAAY,CAAC,CAAA;IACzB,WAAA,IAAA,cAAK,GAAE,CAAA;;;;6CAOT;AAGD;IADC,IAAA,aAAI,EAAC,SAAS,CAAC;IAEb,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;IACf,WAAA,IAAA,aAAI,GAAE,CAAA;;;;2CAGR;AAGD;IADC,IAAA,YAAG,EAAC,aAAa,CAAC;IAEhB,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;IACf,WAAA,IAAA,cAAK,EAAC,IAAI,EAAE,qBAAY,CAAC,CAAA;IACzB,WAAA,IAAA,aAAI,GAAE,CAAA;;;;4CAGR;AAGD;IADC,IAAA,eAAM,EAAC,aAAa,CAAC;IAEnB,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;IACf,WAAA,IAAA,cAAK,EAAC,IAAI,EAAE,qBAAY,CAAC,CAAA;;;;4CAG3B;yBA7DU,cAAc;IAD1B,IAAA,mBAAU,EAAC,SAAS,CAAC;qCAEsB,0BAAW;GAD1C,cAAc,CA8D1B"}
|