oca-shared-model 1.0.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.
Files changed (38) hide show
  1. package/dist/helper/default-column.d.ts +8 -0
  2. package/dist/helper/default-column.js +52 -0
  3. package/dist/helper/option-filter.d.ts +6 -0
  4. package/dist/helper/option-filter.js +2 -0
  5. package/dist/index.d.ts +2 -0
  6. package/dist/index.js +18 -0
  7. package/dist/library/library.module.d.ts +2 -0
  8. package/dist/library/library.module.js +20 -0
  9. package/dist/library/master_questions/dto/create-master_question.dto.d.ts +2 -0
  10. package/dist/library/master_questions/dto/create-master_question.dto.js +6 -0
  11. package/dist/library/master_questions/dto/update-master_question.dto.d.ts +5 -0
  12. package/dist/library/master_questions/dto/update-master_question.dto.js +8 -0
  13. package/dist/library/master_questions/entities/master_question.entity.d.ts +8 -0
  14. package/dist/library/master_questions/entities/master_question.entity.js +40 -0
  15. package/dist/library/master_questions/master_questions.module.d.ts +2 -0
  16. package/dist/library/master_questions/master_questions.module.js +23 -0
  17. package/dist/library/master_questions/master_questions.service.d.ts +16 -0
  18. package/dist/library/master_questions/master_questions.service.js +120 -0
  19. package/dist/shared-model.module.d.ts +2 -0
  20. package/dist/shared-model.module.js +22 -0
  21. package/dist/shared-model.service.d.ts +2 -0
  22. package/dist/shared-model.service.js +16 -0
  23. package/package.json +19 -0
  24. package/src/helper/default-column.ts +21 -0
  25. package/src/helper/option-filter.ts +6 -0
  26. package/src/index.ts +2 -0
  27. package/src/library/library.module.ts +8 -0
  28. package/src/library/master_questions/dto/create-master_question.dto.ts +1 -0
  29. package/src/library/master_questions/dto/update-master_question.dto.ts +4 -0
  30. package/src/library/master_questions/entities/master_question.entity.ts +15 -0
  31. package/src/library/master_questions/master_questions.module.ts +11 -0
  32. package/src/library/master_questions/master_questions.service.spec.ts +18 -0
  33. package/src/library/master_questions/master_questions.service.ts +92 -0
  34. package/src/shared-model.module.ts +10 -0
  35. package/src/shared-model.service.spec.ts +18 -0
  36. package/src/shared-model.service.ts +4 -0
  37. package/tsconfig.json +17 -0
  38. package/tsconfig.lib.json +9 -0
@@ -0,0 +1,8 @@
1
+ export declare class DefaultColumn {
2
+ created_at?: Date;
3
+ updated_at?: Date;
4
+ created_by?: string;
5
+ updated_by?: string;
6
+ updateDates(): void;
7
+ createDate(): void;
8
+ }
@@ -0,0 +1,52 @@
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.DefaultColumn = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ class DefaultColumn {
15
+ //date helper
16
+ updateDates() {
17
+ this.updated_at = new Date();
18
+ }
19
+ createDate() {
20
+ this.created_at = new Date();
21
+ this.updated_at = new Date();
22
+ }
23
+ }
24
+ exports.DefaultColumn = DefaultColumn;
25
+ __decorate([
26
+ (0, typeorm_1.Column)(),
27
+ __metadata("design:type", Date)
28
+ ], DefaultColumn.prototype, "created_at", void 0);
29
+ __decorate([
30
+ (0, typeorm_1.Column)(),
31
+ __metadata("design:type", Date)
32
+ ], DefaultColumn.prototype, "updated_at", void 0);
33
+ __decorate([
34
+ (0, typeorm_1.Column)(),
35
+ __metadata("design:type", String)
36
+ ], DefaultColumn.prototype, "created_by", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.Column)(),
39
+ __metadata("design:type", String)
40
+ ], DefaultColumn.prototype, "updated_by", void 0);
41
+ __decorate([
42
+ (0, typeorm_1.BeforeUpdate)(),
43
+ __metadata("design:type", Function),
44
+ __metadata("design:paramtypes", []),
45
+ __metadata("design:returntype", void 0)
46
+ ], DefaultColumn.prototype, "updateDates", null);
47
+ __decorate([
48
+ (0, typeorm_1.BeforeInsert)(),
49
+ __metadata("design:type", Function),
50
+ __metadata("design:paramtypes", []),
51
+ __metadata("design:returntype", void 0)
52
+ ], DefaultColumn.prototype, "createDate", null);
@@ -0,0 +1,6 @@
1
+ export declare interface OptionFilter {
2
+ select?: any;
3
+ where: any;
4
+ relations?: any;
5
+ order?: any;
6
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export * from "./shared-model.module";
2
+ export * from "./shared-model.service";
package/dist/index.js ADDED
@@ -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("./shared-model.module"), exports);
18
+ __exportStar(require("./shared-model.service"), exports);
@@ -0,0 +1,2 @@
1
+ export declare class LibraryModule {
2
+ }
@@ -0,0 +1,20 @@
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.LibraryModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const master_questions_module_1 = require("./master_questions/master_questions.module");
12
+ let LibraryModule = class LibraryModule {
13
+ };
14
+ exports.LibraryModule = LibraryModule;
15
+ exports.LibraryModule = LibraryModule = __decorate([
16
+ (0, common_1.Module)({
17
+ imports: [master_questions_module_1.MasterQuestionsModule],
18
+ exports: [master_questions_module_1.MasterQuestionsModule],
19
+ })
20
+ ], LibraryModule);
@@ -0,0 +1,2 @@
1
+ export declare class CreateMasterQuestionDto {
2
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateMasterQuestionDto = void 0;
4
+ class CreateMasterQuestionDto {
5
+ }
6
+ exports.CreateMasterQuestionDto = CreateMasterQuestionDto;
@@ -0,0 +1,5 @@
1
+ import { CreateMasterQuestionDto } from './create-master_question.dto';
2
+ declare const UpdateMasterQuestionDto_base: import("@nestjs/mapped-types").MappedType<Partial<CreateMasterQuestionDto>>;
3
+ export declare class UpdateMasterQuestionDto extends UpdateMasterQuestionDto_base {
4
+ }
5
+ export {};
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateMasterQuestionDto = void 0;
4
+ const mapped_types_1 = require("@nestjs/mapped-types");
5
+ const create_master_question_dto_1 = require("./create-master_question.dto");
6
+ class UpdateMasterQuestionDto extends (0, mapped_types_1.PartialType)(create_master_question_dto_1.CreateMasterQuestionDto) {
7
+ }
8
+ exports.UpdateMasterQuestionDto = UpdateMasterQuestionDto;
@@ -0,0 +1,8 @@
1
+ import { DefaultColumn } from '../../../helper/default-column';
2
+ export declare class MasterQuestion extends DefaultColumn {
3
+ id?: number;
4
+ question?: string;
5
+ image_url?: string;
6
+ rank?: string[];
7
+ vessel_type?: string[];
8
+ }
@@ -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.MasterQuestion = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const default_column_1 = require("../../../helper/default-column");
15
+ let MasterQuestion = class MasterQuestion extends default_column_1.DefaultColumn {
16
+ };
17
+ exports.MasterQuestion = MasterQuestion;
18
+ __decorate([
19
+ (0, typeorm_1.PrimaryGeneratedColumn)(),
20
+ __metadata("design:type", Number)
21
+ ], MasterQuestion.prototype, "id", void 0);
22
+ __decorate([
23
+ (0, typeorm_1.Column)(),
24
+ __metadata("design:type", String)
25
+ ], MasterQuestion.prototype, "question", void 0);
26
+ __decorate([
27
+ (0, typeorm_1.Column)(),
28
+ __metadata("design:type", String)
29
+ ], MasterQuestion.prototype, "image_url", void 0);
30
+ __decorate([
31
+ (0, typeorm_1.Column)('simple-array', { nullable: true }),
32
+ __metadata("design:type", Array)
33
+ ], MasterQuestion.prototype, "rank", void 0);
34
+ __decorate([
35
+ (0, typeorm_1.Column)('simple-array', { nullable: true }),
36
+ __metadata("design:type", Array)
37
+ ], MasterQuestion.prototype, "vessel_type", void 0);
38
+ exports.MasterQuestion = MasterQuestion = __decorate([
39
+ (0, typeorm_1.Entity)({ schema: 'library', name: 'master_question' })
40
+ ], MasterQuestion);
@@ -0,0 +1,2 @@
1
+ export declare class MasterQuestionsModule {
2
+ }
@@ -0,0 +1,23 @@
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.MasterQuestionsModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const master_questions_service_1 = require("./master_questions.service");
12
+ const typeorm_1 = require("@nestjs/typeorm");
13
+ const master_question_entity_1 = require("./entities/master_question.entity");
14
+ let MasterQuestionsModule = class MasterQuestionsModule {
15
+ };
16
+ exports.MasterQuestionsModule = MasterQuestionsModule;
17
+ exports.MasterQuestionsModule = MasterQuestionsModule = __decorate([
18
+ (0, common_1.Module)({
19
+ imports: [typeorm_1.TypeOrmModule.forFeature([master_question_entity_1.MasterQuestion])],
20
+ providers: [master_questions_service_1.MasterQuestionsService],
21
+ exports: [master_questions_service_1.MasterQuestionsService],
22
+ })
23
+ ], MasterQuestionsModule);
@@ -0,0 +1,16 @@
1
+ import { CreateMasterQuestionDto } from './dto/create-master_question.dto';
2
+ import { UpdateMasterQuestionDto } from './dto/update-master_question.dto';
3
+ import { MasterQuestion } from './entities/master_question.entity';
4
+ import { Repository } from 'typeorm';
5
+ import { OptionFilter } from '../../helper/option-filter';
6
+ export declare class MasterQuestionsService {
7
+ private readonly repository;
8
+ constructor(repository: Repository<MasterQuestion>);
9
+ create(payload: CreateMasterQuestionDto): Promise<MasterQuestion>;
10
+ findAll(): Promise<MasterQuestion[]>;
11
+ findOne(id: number): Promise<MasterQuestion | undefined>;
12
+ update(id: number, payload: UpdateMasterQuestionDto): Promise<(MasterQuestion & UpdateMasterQuestionDto) | undefined>;
13
+ remove(id: number): Promise<import("typeorm").DeleteResult>;
14
+ findByOption(filter: OptionFilter): Promise<MasterQuestion[] | undefined>;
15
+ findOneByOption(filter: OptionFilter): Promise<MasterQuestion | null | undefined>;
16
+ }
@@ -0,0 +1,120 @@
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
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.MasterQuestionsService = void 0;
25
+ const common_1 = require("@nestjs/common");
26
+ const typeorm_1 = require("@nestjs/typeorm");
27
+ const master_question_entity_1 = require("./entities/master_question.entity");
28
+ const typeorm_2 = require("typeorm");
29
+ let MasterQuestionsService = class MasterQuestionsService {
30
+ constructor(repository) {
31
+ this.repository = repository;
32
+ }
33
+ create(payload) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ try {
36
+ const data = this.repository.create(payload);
37
+ const result = yield this.repository.save(data);
38
+ return result;
39
+ }
40
+ catch (error) {
41
+ if (error instanceof Error) {
42
+ throw new common_1.InternalServerErrorException(error.message);
43
+ }
44
+ throw new common_1.InternalServerErrorException('An unknown error occurred');
45
+ }
46
+ });
47
+ }
48
+ findAll() {
49
+ return this.repository.find();
50
+ }
51
+ findOne(id) {
52
+ return __awaiter(this, void 0, void 0, function* () {
53
+ try {
54
+ const result = yield this.repository.findOne({
55
+ where: {
56
+ id: id,
57
+ },
58
+ });
59
+ if (!result) {
60
+ throw new common_1.NotFoundException(`MasterQuestion with ID ${id} not found`);
61
+ }
62
+ return result;
63
+ }
64
+ catch (error) { }
65
+ });
66
+ }
67
+ update(id, payload) {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ try {
70
+ const data = yield this.findOne(id);
71
+ if (!data) {
72
+ throw new common_1.NotFoundException(`MasterQuestion with ID ${id} not found`);
73
+ }
74
+ const update = Object.assign(data, payload);
75
+ const result = yield this.repository.save(update);
76
+ return result;
77
+ }
78
+ catch (error) { }
79
+ });
80
+ }
81
+ remove(id) {
82
+ return this.repository.delete(id);
83
+ }
84
+ findByOption(filter) {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ try {
87
+ const { select, where, relations, order } = filter;
88
+ const result = yield this.repository.find({
89
+ select: select,
90
+ where: where,
91
+ relations: relations,
92
+ order: order,
93
+ });
94
+ return result;
95
+ }
96
+ catch (error) { }
97
+ });
98
+ }
99
+ findOneByOption(filter) {
100
+ return __awaiter(this, void 0, void 0, function* () {
101
+ try {
102
+ const { select, where, relations, order } = filter;
103
+ const result = yield this.repository.findOne({
104
+ select: select,
105
+ where: where,
106
+ relations: relations,
107
+ order: order,
108
+ });
109
+ return result;
110
+ }
111
+ catch (error) { }
112
+ });
113
+ }
114
+ };
115
+ exports.MasterQuestionsService = MasterQuestionsService;
116
+ exports.MasterQuestionsService = MasterQuestionsService = __decorate([
117
+ (0, common_1.Injectable)(),
118
+ __param(0, (0, typeorm_1.InjectRepository)(master_question_entity_1.MasterQuestion)),
119
+ __metadata("design:paramtypes", [typeorm_2.Repository])
120
+ ], MasterQuestionsService);
@@ -0,0 +1,2 @@
1
+ export declare class SharedModelModule {
2
+ }
@@ -0,0 +1,22 @@
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.SharedModelModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ // import { SharedModelService } from "./shared-model.service";
12
+ const library_module_1 = require("./library/library.module");
13
+ let SharedModelModule = class SharedModelModule {
14
+ };
15
+ exports.SharedModelModule = SharedModelModule;
16
+ exports.SharedModelModule = SharedModelModule = __decorate([
17
+ (0, common_1.Module)({
18
+ // providers: [SharedModelService],
19
+ imports: [library_module_1.LibraryModule],
20
+ exports: [library_module_1.LibraryModule],
21
+ })
22
+ ], SharedModelModule);
@@ -0,0 +1,2 @@
1
+ export declare class SharedModelService {
2
+ }
@@ -0,0 +1,16 @@
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.SharedModelService = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ let SharedModelService = class SharedModelService {
12
+ };
13
+ exports.SharedModelService = SharedModelService;
14
+ exports.SharedModelService = SharedModelService = __decorate([
15
+ (0, common_1.Injectable)()
16
+ ], SharedModelService);
package/package.json ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "oca-shared-model",
3
+ "version": "1.0.0",
4
+ "description": "onboard shared model",
5
+ "main": "dist/index.js",
6
+ "scripts": {
7
+ "build": "nest build",
8
+ "test": "echo \"Error: no test specified\" && exit 1"
9
+ },
10
+ "author": "",
11
+ "license": "ISC",
12
+ "dependencies": {
13
+ "@nestjs/common": "^10.3.10",
14
+ "@nestjs/mapped-types": "^2.0.5",
15
+ "@nestjs/typeorm": "^10.0.2",
16
+ "typeorm": "^0.3.20",
17
+ "typescript": "^5.1.3"
18
+ }
19
+ }
@@ -0,0 +1,21 @@
1
+ import { BeforeInsert, BeforeUpdate, Column } from "typeorm";
2
+ export class DefaultColumn {
3
+ @Column()
4
+ created_at?: Date;
5
+ @Column()
6
+ updated_at?: Date;
7
+ @Column()
8
+ created_by?: string;
9
+ @Column()
10
+ updated_by?: string;
11
+ //date helper
12
+ @BeforeUpdate()
13
+ updateDates() {
14
+ this.updated_at = new Date();
15
+ }
16
+ @BeforeInsert()
17
+ createDate() {
18
+ this.created_at = new Date();
19
+ this.updated_at = new Date();
20
+ }
21
+ }
@@ -0,0 +1,6 @@
1
+ export declare interface OptionFilter {
2
+ select?: any;
3
+ where: any;
4
+ relations?: any;
5
+ order?: any;
6
+ }
package/src/index.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./shared-model.module";
2
+ // export * from "./shared-model.service";
@@ -0,0 +1,8 @@
1
+ import { Module } from '@nestjs/common';
2
+ import { MasterQuestionsModule } from './master_questions/master_questions.module';
3
+
4
+ @Module({
5
+ imports: [MasterQuestionsModule],
6
+ exports: [MasterQuestionsModule],
7
+ })
8
+ export class LibraryModule {}
@@ -0,0 +1 @@
1
+ export class CreateMasterQuestionDto {}
@@ -0,0 +1,4 @@
1
+ import { PartialType } from '@nestjs/mapped-types';
2
+ import { CreateMasterQuestionDto } from './create-master_question.dto';
3
+
4
+ export class UpdateMasterQuestionDto extends PartialType(CreateMasterQuestionDto) {}
@@ -0,0 +1,15 @@
1
+ import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm';
2
+ import { DefaultColumn } from '../../../helper/default-column';
3
+ @Entity({ schema: 'library', name: 'master_question' })
4
+ export class MasterQuestion extends DefaultColumn {
5
+ @PrimaryGeneratedColumn()
6
+ id?: number;
7
+ @Column()
8
+ question?: string;
9
+ @Column()
10
+ image_url?: string;
11
+ @Column('simple-array', { nullable: true })
12
+ rank?: string[];
13
+ @Column('simple-array', { nullable: true })
14
+ vessel_type?: string[];
15
+ }
@@ -0,0 +1,11 @@
1
+ import { Module } from '@nestjs/common';
2
+ import { MasterQuestionsService } from './master_questions.service';
3
+ import { TypeOrmModule } from '@nestjs/typeorm';
4
+ import { MasterQuestion } from './entities/master_question.entity';
5
+
6
+ @Module({
7
+ imports: [TypeOrmModule.forFeature([MasterQuestion])],
8
+ providers: [MasterQuestionsService],
9
+ exports: [MasterQuestionsService],
10
+ })
11
+ export class MasterQuestionsModule {}
@@ -0,0 +1,18 @@
1
+ import { Test, TestingModule } from '@nestjs/testing';
2
+ import { MasterQuestionsService } from './master_questions.service';
3
+
4
+ describe('MasterQuestionsService', () => {
5
+ let service: MasterQuestionsService;
6
+
7
+ beforeEach(async () => {
8
+ const module: TestingModule = await Test.createTestingModule({
9
+ providers: [MasterQuestionsService],
10
+ }).compile();
11
+
12
+ service = module.get<MasterQuestionsService>(MasterQuestionsService);
13
+ });
14
+
15
+ it('should be defined', () => {
16
+ expect(service).toBeDefined();
17
+ });
18
+ });
@@ -0,0 +1,92 @@
1
+ import {
2
+ Injectable,
3
+ InternalServerErrorException,
4
+ NotFoundException,
5
+ } from '@nestjs/common';
6
+ import { CreateMasterQuestionDto } from './dto/create-master_question.dto';
7
+ import { UpdateMasterQuestionDto } from './dto/update-master_question.dto';
8
+ import { InjectRepository } from '@nestjs/typeorm';
9
+ import { MasterQuestion } from './entities/master_question.entity';
10
+ import { Repository } from 'typeorm';
11
+ import { OptionFilter } from '../../helper/option-filter';
12
+
13
+ @Injectable()
14
+ export class MasterQuestionsService {
15
+ constructor(
16
+ @InjectRepository(MasterQuestion)
17
+ private readonly repository: Repository<MasterQuestion>,
18
+ ) {}
19
+
20
+ async create(payload: CreateMasterQuestionDto) {
21
+ try {
22
+ const data = this.repository.create(payload);
23
+ const result = await this.repository.save(data);
24
+ return result;
25
+ } catch (error) {
26
+ if (error instanceof Error) {
27
+ throw new InternalServerErrorException(error.message);
28
+ }
29
+ throw new InternalServerErrorException('An unknown error occurred');
30
+ }
31
+ }
32
+
33
+ findAll() {
34
+ return this.repository.find();
35
+ }
36
+
37
+ async findOne(id: number) {
38
+ try {
39
+ const result = await this.repository.findOne({
40
+ where: {
41
+ id: id,
42
+ },
43
+ });
44
+ if (!result) {
45
+ throw new NotFoundException(`MasterQuestion with ID ${id} not found`);
46
+ }
47
+ return result;
48
+ } catch (error) {}
49
+ }
50
+
51
+ async update(id: number, payload: UpdateMasterQuestionDto) {
52
+ try {
53
+ const data = await this.findOne(id);
54
+ if (!data) {
55
+ throw new NotFoundException(`MasterQuestion with ID ${id} not found`);
56
+ }
57
+ const update = Object.assign(data, payload);
58
+ const result = await this.repository.save(update);
59
+ return result;
60
+ } catch (error) {}
61
+ }
62
+
63
+ remove(id: number) {
64
+ return this.repository.delete(id);
65
+ }
66
+
67
+ async findByOption(filter: OptionFilter) {
68
+ try {
69
+ const { select, where, relations, order } = filter;
70
+ const result = await this.repository.find({
71
+ select: select,
72
+ where: where,
73
+ relations: relations,
74
+ order: order,
75
+ });
76
+ return result;
77
+ } catch (error) {}
78
+ }
79
+
80
+ async findOneByOption(filter: OptionFilter) {
81
+ try {
82
+ const { select, where, relations, order } = filter;
83
+ const result = await this.repository.findOne({
84
+ select: select,
85
+ where: where,
86
+ relations: relations,
87
+ order: order,
88
+ });
89
+ return result;
90
+ } catch (error) {}
91
+ }
92
+ }
@@ -0,0 +1,10 @@
1
+ import { Module } from "@nestjs/common";
2
+ // import { SharedModelService } from "./shared-model.service";
3
+ import { LibraryModule } from "./library/library.module";
4
+
5
+ @Module({
6
+ // providers: [SharedModelService],
7
+ imports: [LibraryModule],
8
+ exports: [LibraryModule],
9
+ })
10
+ export class SharedModelModule {}
@@ -0,0 +1,18 @@
1
+ import { Test, TestingModule } from "@nestjs/testing";
2
+ import { SharedModelService } from "./shared-model.service";
3
+
4
+ describe("SharedModelService", () => {
5
+ let service: SharedModelService;
6
+
7
+ beforeEach(async () => {
8
+ const module: TestingModule = await Test.createTestingModule({
9
+ providers: [SharedModelService],
10
+ }).compile();
11
+
12
+ service = module.get<SharedModelService>(SharedModelService);
13
+ });
14
+
15
+ it("should be defined", () => {
16
+ expect(service).toBeDefined();
17
+ });
18
+ });
@@ -0,0 +1,4 @@
1
+ import { Injectable } from '@nestjs/common';
2
+
3
+ @Injectable()
4
+ export class SharedModelService {}
package/tsconfig.json ADDED
@@ -0,0 +1,17 @@
1
+ {
2
+ "compilerOptions": {
3
+ "module": "commonjs",
4
+ "target": "es6",
5
+ "declaration": true,
6
+ "outDir": "./dist",
7
+ "rootDir": "./src",
8
+ "strict": true,
9
+ "esModuleInterop": true,
10
+ "skipLibCheck": true,
11
+ "forceConsistentCasingInFileNames": true,
12
+ "experimentalDecorators": true, // Enable decorators
13
+ "emitDecoratorMetadata": true // Emit metadata for decorators
14
+ },
15
+ "include": ["src/**/*.ts"],
16
+ "exclude": ["node_modules", "dist", "test", "**/*spec.ts"]
17
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ // "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "declaration": true,
5
+ "outDir": "../dist/libs/shared-model"
6
+ },
7
+ "include": ["src/**/*"],
8
+ "exclude": ["node_modules", "dist", "test", "**/*spec.ts"]
9
+ }