rez_core 1.0.39 → 1.0.41

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 (106) hide show
  1. package/dist/constant/global.constant.d.ts +2 -0
  2. package/dist/constant/global.constant.js +3 -1
  3. package/dist/constant/global.constant.js.map +1 -1
  4. package/dist/module/auth/guards/role.guard.js +3 -3
  5. package/dist/module/listmaster/controller/list-master.controller.d.ts +14 -0
  6. package/dist/module/listmaster/controller/list-master.controller.js +38 -0
  7. package/dist/module/listmaster/controller/list-master.controller.js.map +1 -0
  8. package/dist/module/listmaster/entity/list-master-items.entity.d.ts +11 -0
  9. package/dist/module/listmaster/entity/list-master-items.entity.js +55 -0
  10. package/dist/module/listmaster/entity/list-master-items.entity.js.map +1 -0
  11. package/dist/module/listmaster/entity/list-master.entity.d.ts +12 -0
  12. package/dist/module/listmaster/entity/list-master.entity.js +59 -0
  13. package/dist/module/listmaster/entity/list-master.entity.js.map +1 -0
  14. package/dist/module/listmaster/listmaster.module.d.ts +2 -0
  15. package/dist/module/listmaster/listmaster.module.js +27 -0
  16. package/dist/module/listmaster/listmaster.module.js.map +1 -0
  17. package/dist/module/listmaster/repository/list-master-items.repository.d.ts +10 -0
  18. package/dist/module/listmaster/repository/list-master-items.repository.js +38 -0
  19. package/dist/module/listmaster/repository/list-master-items.repository.js.map +1 -0
  20. package/dist/module/listmaster/repository/list-master.repository.d.ts +7 -0
  21. package/dist/module/listmaster/repository/list-master.repository.js +34 -0
  22. package/dist/module/listmaster/repository/list-master.repository.js.map +1 -0
  23. package/dist/module/listmaster/service/list-master.service.d.ts +18 -0
  24. package/dist/module/listmaster/service/list-master.service.js +51 -0
  25. package/dist/module/listmaster/service/list-master.service.js.map +1 -0
  26. package/dist/module/master/controller/master.controller.d.ts +3 -1
  27. package/dist/module/master/controller/master.controller.js.map +1 -1
  28. package/dist/module/master/service/master.service.d.ts +16 -4
  29. package/dist/module/master/service/master.service.js +103 -7
  30. package/dist/module/master/service/master.service.js.map +1 -1
  31. package/dist/module/meta/entity/entity-master.entity.d.ts +1 -1
  32. package/dist/module/meta/entity/entity-master.entity.js +1 -1
  33. package/dist/module/meta/entity/entity-master.entity.js.map +1 -1
  34. package/dist/module/meta/repository/entity-table.repository.js +3 -1
  35. package/dist/module/meta/repository/entity-table.repository.js.map +1 -1
  36. package/dist/module/meta/service/entity-master.service.d.ts +3 -0
  37. package/dist/module/meta/service/entity-master.service.js +11 -0
  38. package/dist/module/meta/service/entity-master.service.js.map +1 -1
  39. package/dist/module/meta/service/entity-service-impl.service.js +1 -1
  40. package/dist/module/meta/service/entity-service-impl.service.js.map +1 -1
  41. package/dist/module/module/controller/module-access.controller.d.ts +22 -2
  42. package/dist/module/module/controller/module-access.controller.js +12 -0
  43. package/dist/module/module/controller/module-access.controller.js.map +1 -1
  44. package/dist/module/module/repository/module-access.repository.d.ts +25 -3
  45. package/dist/module/module/repository/module-access.repository.js +57 -5
  46. package/dist/module/module/repository/module-access.repository.js.map +1 -1
  47. package/dist/module/module/service/module-access.service.d.ts +22 -2
  48. package/dist/module/module/service/module-access.service.js +3 -0
  49. package/dist/module/module/service/module-access.service.js.map +1 -1
  50. package/dist/tsconfig.build.tsbuildinfo +1 -1
  51. package/dist/utils/service/file-util.service.d.ts +3 -0
  52. package/dist/utils/service/file-util.service.js +15 -0
  53. package/dist/utils/service/file-util.service.js.map +1 -0
  54. package/package.json +4 -2
  55. package/src/constant/global.constant.ts +2 -0
  56. package/src/module/auth/guards/jwt.guard.ts +22 -22
  57. package/src/module/auth/guards/role.guard.ts +68 -68
  58. package/src/module/auth/services/auth.service.ts +29 -29
  59. package/src/module/auth/services/jwt.service.ts +11 -11
  60. package/src/module/auth/strategies/local.strategy.ts +13 -13
  61. package/src/module/dev/dev.module.ts +12 -12
  62. package/src/module/dev/service/dev.service.ts +7 -7
  63. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  64. package/src/module/enterprise/entity/organization.entity.ts +80 -80
  65. package/src/module/listmaster/controller/list-master.controller.ts +14 -0
  66. package/src/module/listmaster/entity/list-master-items.entity.ts +33 -0
  67. package/src/module/listmaster/entity/list-master.entity.ts +35 -0
  68. package/src/module/listmaster/listmaster.module.ts +14 -0
  69. package/src/module/listmaster/repository/list-master-items.repository.ts +21 -0
  70. package/src/module/listmaster/repository/list-master.repository.ts +15 -0
  71. package/src/module/listmaster/service/list-master.service.ts +44 -0
  72. package/src/module/master/controller/master.controller.ts +26 -22
  73. package/src/module/master/service/master.service.ts +133 -9
  74. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  75. package/src/module/meta/entity/attribute-master.entity.ts +67 -67
  76. package/src/module/meta/entity/entity-master.entity.ts +1 -1
  77. package/src/module/meta/entity/preference.entity.ts +65 -65
  78. package/src/module/meta/repository/attribute-master.repository.ts +28 -28
  79. package/src/module/meta/repository/entity-table.repository.ts +3 -1
  80. package/src/module/meta/repository/preference.repository.ts +20 -20
  81. package/src/module/meta/service/entity-master.service.ts +14 -0
  82. package/src/module/meta/service/entity-service-impl.service.ts +1 -1
  83. package/src/module/module/controller/menu.controller.ts +15 -15
  84. package/src/module/module/controller/module-access.controller.ts +16 -1
  85. package/src/module/module/entity/module-access.entity.ts +22 -22
  86. package/src/module/module/entity/module-action.entity.ts +19 -19
  87. package/src/module/module/repository/module-access.repository.ts +74 -6
  88. package/src/module/module/service/module-access.service.ts +10 -0
  89. package/src/module/user/controller/user.controller.ts +28 -28
  90. package/src/module/user/dto/update-user.dto.ts +4 -4
  91. package/src/module/user/entity/user-role-mapping.entity.ts +21 -21
  92. package/src/module/user/entity/user-session.entity.ts +61 -61
  93. package/src/module/user/entity/user.entity.ts +35 -35
  94. package/src/module/user/repository/role.repository.ts +16 -16
  95. package/src/module/user/repository/userSession.repository.ts +33 -33
  96. package/src/utils/service/encryptUtil.service.ts +97 -97
  97. package/src/utils/service/excelUtil.service.ts +15 -15
  98. package/src/utils/service/file-util.service.ts +11 -0
  99. package/src/utils/service/reflection-helper.service.ts +53 -53
  100. package/.idea/250218_nodejs_core.iml +0 -12
  101. package/.idea/codeStyles/Project.xml +0 -59
  102. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  103. package/.idea/dataSources.xml +0 -12
  104. package/.idea/modules.xml +0 -8
  105. package/.idea/prettier.xml +0 -6
  106. package/.idea/vcs.xml +0 -6
@@ -0,0 +1,33 @@
1
+ import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
2
+ import { BaseEntity } from '../../meta/entity/base-entity.entity';
3
+ import { ENTITYTYPE_LISTMASTERITEMS } from '../../../constant/global.constant';
4
+
5
+ @Entity({name: 'cr_list_master_items'})
6
+ export class ListMasterItems extends BaseEntity{
7
+ constructor() {
8
+ super();
9
+ this.entity_type = ENTITYTYPE_LISTMASTERITEMS;
10
+ }
11
+
12
+ @PrimaryGeneratedColumn()
13
+ id: number;
14
+
15
+ @Column()
16
+ listtype: string;
17
+
18
+ @Column()
19
+ name: string;
20
+
21
+ @Column()
22
+ status: string;
23
+
24
+ @Column({ default: 0 })
25
+ isdefault: number;
26
+
27
+ @Column({ nullable: true })
28
+ description: string;
29
+
30
+ @Column({ default: 0 })
31
+ sortindex: number;
32
+
33
+ }
@@ -0,0 +1,35 @@
1
+ import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
2
+ import { BaseEntity } from '../../meta/entity/base-entity.entity';
3
+ import { ENTITYTYPE_LISTMASTER } from '../../../constant/global.constant';
4
+
5
+ @Entity({ name: 'cr_list_master' })
6
+ export class ListMasterData extends BaseEntity {
7
+ constructor() {
8
+ super();
9
+ this.entity_type = ENTITYTYPE_LISTMASTER;
10
+ }
11
+
12
+ @PrimaryGeneratedColumn()
13
+ id: number;
14
+
15
+ @Column()
16
+ type: string;
17
+
18
+ @Column()
19
+ name: string;
20
+
21
+ @Column()
22
+ status: string;
23
+
24
+ @Column()
25
+ sortby: string;
26
+
27
+ @Column()
28
+ isfactory: number;
29
+
30
+ @Column()
31
+ source: string;
32
+
33
+ @Column({ nullable: true })
34
+ sourcelist: string;
35
+ }
@@ -0,0 +1,14 @@
1
+ import { Module } from '@nestjs/common';
2
+ import { TypeOrmModule } from '@nestjs/typeorm';
3
+ import { ListMasterData } from './entity/list-master.entity';
4
+ import { ListMasterItems } from './entity/list-master-items.entity';
5
+ import { ListMasterRepository } from './repository/list-master.repository';
6
+ import { ListMasterItemsRepository } from './repository/list-master-items.repository';
7
+ import { ListMasterService } from './service/list-master.service';
8
+ import { EntityModule } from '../meta/entity.module';
9
+
10
+ @Module({
11
+ imports: [TypeOrmModule.forFeature([ListMasterData, ListMasterItems]),EntityModule],
12
+ providers: [ListMasterRepository, ListMasterItemsRepository, ListMasterService],
13
+ })
14
+ export class ListMasterModule {}
@@ -0,0 +1,21 @@
1
+ import { Injectable } from '@nestjs/common';
2
+ import { InjectRepository } from '@nestjs/typeorm';
3
+ import { Repository } from 'typeorm';
4
+ import { ListMasterItems } from '../entity/list-master-items.entity';
5
+
6
+ @Injectable()
7
+ export class ListMasterItemsRepository{
8
+
9
+ constructor(
10
+ @InjectRepository(ListMasterItems) private repo: Repository<ListMasterItems>,
11
+ ) {}
12
+
13
+ async findItemsByType(type: string) {
14
+ const items = await this.repo.find({
15
+ where: { listtype: type, status: 'active' },
16
+ order: { sortindex: 'ASC' },
17
+ });
18
+ return items.map(i => ({ label: i.name, value: i.name }));
19
+ }
20
+
21
+ }
@@ -0,0 +1,15 @@
1
+ import { Injectable } from '@nestjs/common';
2
+ import { ListMasterData } from '../entity/list-master.entity';
3
+ import { Repository } from 'typeorm';
4
+ import { InjectRepository } from '@nestjs/typeorm';
5
+
6
+ @Injectable()
7
+ export class ListMasterRepository{
8
+
9
+ constructor(
10
+ @InjectRepository(ListMasterData) private readonly repo: Repository<ListMasterData>) {}
11
+
12
+ findByType(type: string) {
13
+ return this.repo.findOne({ where: { type } });
14
+ }
15
+ }
@@ -0,0 +1,44 @@
1
+ import { EntityServiceImpl } from '../../meta/service/entity-service-impl.service';
2
+ import { BadRequestException, Injectable, NotFoundException } from '@nestjs/common';
3
+ import { ListMasterItemsRepository } from '../repository/list-master-items.repository';
4
+ import { ListMasterRepository } from '../repository/list-master.repository';
5
+
6
+ @Injectable()
7
+ export class ListMasterService extends EntityServiceImpl {
8
+ constructor(
9
+ private readonly listMasterRepo: ListMasterRepository,
10
+ private readonly listItemsRepo: ListMasterItemsRepository,
11
+ ) {
12
+ super();
13
+ }
14
+
15
+ async getDropdownOptions(type: string) {
16
+ const config = await this.listMasterRepo.findByType(type);
17
+
18
+ if (!config) throw new NotFoundException(`Type ${type} not found`);
19
+
20
+ switch (config.source) {
21
+ case 'entity':
22
+ return this.fetchFromEntity(config.sourcelist);
23
+
24
+ case 'master':
25
+ return this.listItemsRepo.findItemsByType(type);
26
+
27
+ case 'custom':
28
+ // Placeholder
29
+ return { message: `Custom API for type ${type} not implemented` };
30
+
31
+ default:
32
+ throw new BadRequestException(`Unknown source: ${config.source}`);
33
+ }
34
+ }
35
+
36
+ private async fetchFromEntity(sourcelist: string) {
37
+ if (sourcelist === 'USR') {
38
+ // Example: hardcoded until dynamic entity registry is done
39
+ return [{ label: 'User A', value: 1 }, { label: 'User B', value: 2 }];
40
+ }
41
+
42
+ throw new NotFoundException(`Entity source ${sourcelist} not handled yet`);
43
+ }
44
+ }
@@ -1,22 +1,26 @@
1
- import {
2
- Controller,
3
- Post,
4
- UploadedFile,
5
- UseInterceptors,
6
- } from '@nestjs/common';
7
- import { FileInterceptor } from '@nestjs/platform-express';
8
- import { MasterService } from '../service/master.service';
9
-
10
- @Controller('master')
11
- export class MasterController {
12
- constructor(private readonly masterService: MasterService) {}
13
-
14
- @Post('upload')
15
- @UseInterceptors(FileInterceptor('file'))
16
- async uploadFile(@UploadedFile() file) {
17
- if (!file) {
18
- throw new Error('File is required');
19
- }
20
- return this.masterService.processExcel(file);
21
- }
22
- }
1
+ import {
2
+ BadRequestException,
3
+ Controller,
4
+ Post,
5
+ UploadedFile,
6
+ UseInterceptors,
7
+ } from '@nestjs/common';
8
+ import { FileInterceptor } from '@nestjs/platform-express';
9
+ import { MasterService } from '../service/master.service';
10
+ import { Express } from 'express';
11
+
12
+ @Controller('master')
13
+ export class MasterController {
14
+ constructor(private readonly masterService: MasterService) {}
15
+
16
+ @Post('upload')
17
+ @UseInterceptors(FileInterceptor('file'))
18
+ async uploadFile(@UploadedFile() file) {
19
+ if (!file) {
20
+ throw new Error('File is required');
21
+ }
22
+ return this.masterService.processExcel(file);
23
+ }
24
+
25
+
26
+ }
@@ -1,27 +1,148 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { ExcelUtil } from '../../../utils/service/excelUtil.service';
3
2
  import { EntityManager } from 'typeorm';
3
+ import { ExcelUtil } from 'src/utils/service/excelUtil.service';
4
+ import { EntityMasterService } from '../../meta/service/entity-master.service';
5
+
6
+ interface ParentEntity {
7
+ id: number;
8
+ code: string;
9
+ }
4
10
 
5
11
  @Injectable()
6
12
  export class MasterService {
7
13
  constructor(
8
14
  private readonly entityManager: EntityManager,
9
- private ExcelUtil: ExcelUtil,
15
+ private readonly entityMasterService: EntityMasterService,
16
+ private readonly excelUtil: ExcelUtil,
10
17
  ) {}
11
18
 
12
- async processExcel(file): Promise<any> {
13
- const data = ExcelUtil.readExcel(file.buffer);
19
+ private readonly metaSheets = [
20
+ 'entity_master',
21
+ 'attribute_master',
22
+ 'list_master',
23
+ 'list_master_items',
24
+ ];
25
+
26
+ private isMetaSheet(sheetName: string): boolean {
27
+ return this.metaSheets.includes(sheetName.toLowerCase());
28
+ }
29
+
30
+ async processExcel(file): Promise<{ message: string }> {
31
+ console.log('📥 Reading Excel file...');
32
+ const data = ExcelUtil.readExcel(file.buffer) as Record<string, Record<string, any>[]>;
33
+
34
+ for (const [sheetName, records] of Object.entries(data)) {
35
+ if (!records.length) continue;
36
+
37
+ const isMeta = this.isMetaSheet(sheetName);
38
+ console.log(`📄 Processing sheet: ${sheetName} | Meta: ${isMeta}`);
39
+
40
+ if (isMeta) {
41
+ await this.upsertData(sheetName, records);
42
+ } else {
43
+ await this.processEntityData(records);
44
+ }
45
+ }
46
+
47
+ return { message: '✅ Data processed successfully' };
48
+ }
49
+
50
+ private async processEntityData(records: Record<string, any>[]): Promise<void> {
51
+ for (const row of records) {
52
+ const entityType = row['entity_type'];
53
+ if (!entityType) {
54
+ console.warn('⚠️ Skipping row without entity_type:', row);
55
+ continue;
56
+ }
57
+
58
+ const { tableName } = await this.getEntityMeta(entityType);
59
+ const attrMap = await this.getAttributeMap(entityType);
60
+ const transformed = this.transformRow(row, attrMap);
61
+
62
+ // Resolve parent_id if parent_type and parent_id are present
63
+ if (row['parent_id'] && row['parent_type']) {
64
+ transformed['parent_id'] = await this.resolveParentId(row['parent_type'], row['parent_id']);
65
+ transformed['parent_type'] = row['parent_type'];
66
+ }
67
+
68
+ await this.insertEntityRow(tableName, transformed);
69
+ }
70
+ }
71
+
72
+ private async getEntityMeta(entityType: string): Promise<{ tableName: string; mappedEntityType: string }> {
73
+ const result = await this.entityManager.query(
74
+ `SELECT db_table_name, mapped_entity_type FROM entity_master WHERE mapped_entity_type = ? LIMIT 1`,
75
+ [entityType],
76
+ );
77
+
78
+ if (!result.length || !result[0].db_table_name) {
79
+ throw new Error(`❌ Entity metadata not found for entity_type: ${entityType}`);
80
+ }
81
+
82
+ return {
83
+ tableName: result[0].db_table_name,
84
+ mappedEntityType: result[0].mapped_entity_type,
85
+ };
86
+ }
87
+
88
+ private async getAttributeMap(mappedEntityType: string): Promise<Record<string, string>> {
89
+ const attributes = await this.entityManager.query(
90
+ 'SELECT attribute_key FROM attribute_master WHERE mapped_entity_type = ? AND status = "ACTIVE"',
91
+ [mappedEntityType],
92
+ );
93
+
94
+ return attributes.reduce((acc, attr) => {
95
+ acc[attr.attribute_key] = attr.attribute_key;
96
+ return acc;
97
+ }, {} as Record<string, string>);
98
+ }
99
+
100
+ private transformRow(row: Record<string, any>, attrMap: Record<string, string>): Record<string, any> {
101
+ const transformed: Record<string, any> = {};
102
+ for (const key of Object.keys(row)) {
103
+ if (attrMap[key]) {
104
+ transformed[attrMap[key]] = row[key];
105
+ }
106
+ }
107
+ return transformed;
108
+ }
109
+
110
+ private async resolveParentId(parentType: string, parentCode: string): Promise<number> {
111
+ const { tableName } = await this.getEntityMeta(parentType);
112
+ const parent = await this.entityManager.findOne<ParentEntity>(tableName, {
113
+ where: { code: parentCode },
114
+ });
115
+
116
+ if (!parent) {
117
+ throw new Error(`❌ Parent with code "${parentCode}" not found in "${tableName}"`);
118
+ }
119
+
120
+ return parent.id;
121
+ }
14
122
 
15
- for (const [tableName, records] of Object.entries(data)) {
16
- await this.upsertData(tableName, records);
123
+ private async insertEntityRow(tableName: string, data: Record<string, any>): Promise<void> {
124
+ const keys = Object.keys(data);
125
+ if (!keys.length) {
126
+ console.warn('⚠️ Empty data, skipping insert');
127
+ return;
17
128
  }
18
129
 
19
- return { message: 'Data processed successfully' };
130
+ await this.entityManager
131
+ .createQueryBuilder()
132
+ .insert()
133
+ .into(tableName)
134
+ .values(data)
135
+ .orUpdate({
136
+ overwrite: keys,
137
+ conflict_target: ['code'],
138
+ })
139
+ .execute();
20
140
  }
21
141
 
22
- private async upsertData(tableName: string, records: any[]): Promise<void> {
142
+ private async upsertData(tableName: string, records: Record<string, any>[]): Promise<void> {
23
143
  if (!records.length) return;
24
144
 
145
+ const keys = Object.keys(records[0]);
25
146
  await this.entityManager.transaction(async (manager) => {
26
147
  for (const record of records) {
27
148
  await manager
@@ -29,7 +150,10 @@ export class MasterService {
29
150
  .insert()
30
151
  .into(tableName)
31
152
  .values(record)
32
- .orUpdate(Object.keys(record), ['id']) // Using 'id' as unique identifier
153
+ .orUpdate({
154
+ overwrite: keys,
155
+ conflict_target: ['id'],
156
+ })
33
157
  .execute();
34
158
  }
35
159
  });
@@ -1,6 +1,6 @@
1
- import { EntityTab } from './entity-tab.dto';
2
-
3
- export class EntityListData {
4
- entity_list: any;
5
- entity_tabs: EntityTab[];
6
- }
1
+ import { EntityTab } from './entity-tab.dto';
2
+
3
+ export class EntityListData {
4
+ entity_list: any;
5
+ entity_tabs: EntityTab[];
6
+ }
@@ -1,67 +1,67 @@
1
- import { BaseEntity } from './base-entity.entity';
2
- import { Column, Entity } from 'typeorm';
3
-
4
- @Entity({ name: 'cr_attribute_master' })
5
- export class AttributeMaster extends BaseEntity {
6
- @Column({ name: 'mapped_entity_type', type: 'varchar', nullable: true })
7
- mapped_entity_type: string;
8
-
9
- @Column({ name: 'mapped_entity_id' })
10
- mapped_entity_id: number;
11
-
12
- @Column({ name: 'element_type', type: 'varchar', nullable: true, length: 50 })
13
- element_type: string;
14
-
15
- @Column({
16
- name: 'data_source_type',
17
- type: 'varchar',
18
- nullable: true,
19
- length: 50,
20
- })
21
- data_source_type: string;
22
-
23
- @Column({ name: 'datasource_list', type: 'varchar', nullable: true })
24
- datasource_list: string;
25
-
26
- @Column({
27
- name: 'custom_values',
28
- type: 'varchar',
29
- length: 2000,
30
- nullable: true,
31
- })
32
- custom_values: string;
33
-
34
- @Column({ name: 'max_length', nullable: true })
35
- max_length: number;
36
-
37
- @Column({ name: 'required', nullable: true })
38
- required: number;
39
-
40
- @Column({
41
- name: 'description',
42
- type: 'varchar',
43
- length: 2000,
44
- nullable: true,
45
- })
46
- description: string;
47
-
48
- @Column({
49
- name: 'attribute_key',
50
- type: 'varchar',
51
- nullable: true,
52
- length: 50,
53
- })
54
- attribute_key: string;
55
-
56
- @Column({ name: 'db_datatype', type: 'varchar', nullable: true, length: 50 })
57
- db_datatype: string;
58
-
59
- @Column({ name: 'category', type: 'varchar', nullable: true, length: 50 })
60
- category: string;
61
-
62
- @Column({ name: 'is_unique', nullable: true })
63
- is_unique: number;
64
-
65
- @Column({ name: 'can_export', nullable: true })
66
- can_export: number;
67
- }
1
+ import { BaseEntity } from './base-entity.entity';
2
+ import { Column, Entity } from 'typeorm';
3
+
4
+ @Entity({ name: 'cr_attribute_master' })
5
+ export class AttributeMaster extends BaseEntity {
6
+ @Column({ name: 'mapped_entity_type', type: 'varchar', nullable: true })
7
+ mapped_entity_type: string;
8
+
9
+ @Column({ name: 'mapped_entity_id' })
10
+ mapped_entity_id: number;
11
+
12
+ @Column({ name: 'element_type', type: 'varchar', nullable: true, length: 50 })
13
+ element_type: string;
14
+
15
+ @Column({
16
+ name: 'data_source_type',
17
+ type: 'varchar',
18
+ nullable: true,
19
+ length: 50,
20
+ })
21
+ data_source_type: string;
22
+
23
+ @Column({ name: 'datasource_list', type: 'varchar', nullable: true })
24
+ datasource_list: string;
25
+
26
+ @Column({
27
+ name: 'custom_values',
28
+ type: 'varchar',
29
+ length: 2000,
30
+ nullable: true,
31
+ })
32
+ custom_values: string;
33
+
34
+ @Column({ name: 'max_length', nullable: true })
35
+ max_length: number;
36
+
37
+ @Column({ name: 'required', nullable: true })
38
+ required: number;
39
+
40
+ @Column({
41
+ name: 'description',
42
+ type: 'varchar',
43
+ length: 2000,
44
+ nullable: true,
45
+ })
46
+ description: string;
47
+
48
+ @Column({
49
+ name: 'attribute_key',
50
+ type: 'varchar',
51
+ nullable: true,
52
+ length: 50,
53
+ })
54
+ attribute_key: string;
55
+
56
+ @Column({ name: 'db_datatype', type: 'varchar', nullable: true, length: 50 })
57
+ db_datatype: string;
58
+
59
+ @Column({ name: 'category', type: 'varchar', nullable: true, length: 50 })
60
+ category: string;
61
+
62
+ @Column({ name: 'is_unique', nullable: true })
63
+ is_unique: number;
64
+
65
+ @Column({ name: 'can_export', nullable: true })
66
+ can_export: number;
67
+ }
@@ -48,7 +48,7 @@ export class EntityMaster extends BaseEntity {
48
48
  length: 200,
49
49
  nullable: true,
50
50
  })
51
- dbTableName: string;
51
+ db_table_name: string;
52
52
 
53
53
  @Column({
54
54
  name: 'description',
@@ -1,65 +1,65 @@
1
- import { BaseEntity } from './base-entity.entity';
2
- import { Column, Entity } from 'typeorm';
3
- import { ENTITYTYPE_PREFERENCEMASTER } from '../../../constant/global.constant';
4
-
5
- @Entity({ name: 'cr_preference_master' })
6
- export class PreferenceMaster extends BaseEntity {
7
- constructor() {
8
- super();
9
- this.entity_type = ENTITYTYPE_PREFERENCEMASTER;
10
- }
11
-
12
- @Column({ name: 'appcode', type: 'varchar', length: 200, nullable: true })
13
- appCode: string;
14
-
15
- @Column({
16
- name: 'display_name',
17
- type: 'varchar',
18
- length: 200,
19
- nullable: true,
20
- })
21
- display_name: string;
22
-
23
- @Column({
24
- name: 'preference_key',
25
- type: 'varchar',
26
- length: 200,
27
- nullable: true,
28
- })
29
- preference_key: string;
30
-
31
- @Column({
32
- name: 'preference_value',
33
- type: 'varchar',
34
- length: 200,
35
- nullable: true,
36
- })
37
- preference_value: string;
38
-
39
- @Column({
40
- name: 'description',
41
- type: 'varchar',
42
- length: 2000,
43
- nullable: true,
44
- })
45
- description: string;
46
-
47
- @Column({ name: 'reflect_on', type: 'varchar', length: 200, nullable: true })
48
- reflect_on: string;
49
-
50
- @Column({
51
- name: 'default_value',
52
- type: 'varchar',
53
- length: 200,
54
- nullable: true,
55
- })
56
- default_value: string;
57
-
58
- @Column({
59
- name: 'possible_values',
60
- type: 'varchar',
61
- length: 200,
62
- nullable: true,
63
- })
64
- possible_values: string;
65
- }
1
+ import { BaseEntity } from './base-entity.entity';
2
+ import { Column, Entity } from 'typeorm';
3
+ import { ENTITYTYPE_PREFERENCEMASTER } from '../../../constant/global.constant';
4
+
5
+ @Entity({ name: 'cr_preference_master' })
6
+ export class PreferenceMaster extends BaseEntity {
7
+ constructor() {
8
+ super();
9
+ this.entity_type = ENTITYTYPE_PREFERENCEMASTER;
10
+ }
11
+
12
+ @Column({ name: 'appcode', type: 'varchar', length: 200, nullable: true })
13
+ appCode: string;
14
+
15
+ @Column({
16
+ name: 'display_name',
17
+ type: 'varchar',
18
+ length: 200,
19
+ nullable: true,
20
+ })
21
+ display_name: string;
22
+
23
+ @Column({
24
+ name: 'preference_key',
25
+ type: 'varchar',
26
+ length: 200,
27
+ nullable: true,
28
+ })
29
+ preference_key: string;
30
+
31
+ @Column({
32
+ name: 'preference_value',
33
+ type: 'varchar',
34
+ length: 200,
35
+ nullable: true,
36
+ })
37
+ preference_value: string;
38
+
39
+ @Column({
40
+ name: 'description',
41
+ type: 'varchar',
42
+ length: 2000,
43
+ nullable: true,
44
+ })
45
+ description: string;
46
+
47
+ @Column({ name: 'reflect_on', type: 'varchar', length: 200, nullable: true })
48
+ reflect_on: string;
49
+
50
+ @Column({
51
+ name: 'default_value',
52
+ type: 'varchar',
53
+ length: 200,
54
+ nullable: true,
55
+ })
56
+ default_value: string;
57
+
58
+ @Column({
59
+ name: 'possible_values',
60
+ type: 'varchar',
61
+ length: 200,
62
+ nullable: true,
63
+ })
64
+ possible_values: string;
65
+ }