rez_core 1.0.55 → 1.0.57

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 (39) hide show
  1. package/.idea/250218_nodejs_core.iml +12 -0
  2. package/.idea/codeStyles/Project.xml +59 -0
  3. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  4. package/.idea/dataSources.xml +12 -0
  5. package/.idea/modules.xml +8 -0
  6. package/.idea/prettier.xml +6 -0
  7. package/.idea/vcs.xml +6 -0
  8. package/dist/module/auth/guards/role.guard.js +3 -3
  9. package/dist/module/listmaster/controller/list-master.controller.d.ts +4 -1
  10. package/dist/module/listmaster/service/list-master.service.d.ts +4 -1
  11. package/dist/module/listmaster/service/list-master.service.js +11 -5
  12. package/dist/module/listmaster/service/list-master.service.js.map +1 -1
  13. package/dist/module/module/repository/module-access.repository.js +8 -0
  14. package/dist/module/module/repository/module-access.repository.js.map +1 -1
  15. package/dist/tsconfig.build.tsbuildinfo +1 -1
  16. package/package.json +1 -1
  17. package/src/module/auth/guards/jwt.guard.ts +22 -22
  18. package/src/module/auth/guards/role.guard.ts +68 -68
  19. package/src/module/auth/services/jwt.service.ts +11 -11
  20. package/src/module/auth/strategies/local.strategy.ts +13 -13
  21. package/src/module/dev/dev.module.ts +12 -12
  22. package/src/module/dev/service/dev.service.ts +7 -7
  23. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  24. package/src/module/enterprise/entity/organization.entity.ts +80 -80
  25. package/src/module/listmaster/service/list-master.service.ts +15 -5
  26. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  27. package/src/module/meta/entity/preference.entity.ts +65 -65
  28. package/src/module/meta/repository/preference.repository.ts +20 -20
  29. package/src/module/module/controller/menu.controller.ts +15 -15
  30. package/src/module/module/entity/module-access.entity.ts +22 -22
  31. package/src/module/module/entity/module-action.entity.ts +19 -19
  32. package/src/module/module/repository/module-access.repository.ts +8 -0
  33. package/src/module/user/controller/user.controller.ts +28 -28
  34. package/src/module/user/dto/update-user.dto.ts +4 -4
  35. package/src/module/user/entity/user-session.entity.ts +61 -61
  36. package/src/module/user/repository/userSession.repository.ts +33 -33
  37. package/src/utils/service/encryptUtil.service.ts +97 -97
  38. package/src/utils/service/excelUtil.service.ts +15 -15
  39. package/src/utils/service/reflection-helper.service.ts +53 -53
@@ -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
+ }
@@ -1,20 +1,20 @@
1
- import { Injectable } from '@nestjs/common';
2
- import { InjectRepository } from '@nestjs/typeorm';
3
- import { PreferenceMaster } from '../entity/preference.entity';
4
- import { Repository } from 'typeorm';
5
-
6
- @Injectable()
7
- export class PreferenceRepository {
8
- constructor(
9
- @InjectRepository(PreferenceMaster)
10
- private readonly preferenceRepository: Repository<PreferenceMaster>,
11
- ) {}
12
-
13
- async findByPreferenceKey(
14
- preferenceKey: string,
15
- ): Promise<PreferenceMaster | null> {
16
- return await this.preferenceRepository.findOne({
17
- where: { preference_key: preferenceKey },
18
- });
19
- }
20
- }
1
+ import { Injectable } from '@nestjs/common';
2
+ import { InjectRepository } from '@nestjs/typeorm';
3
+ import { PreferenceMaster } from '../entity/preference.entity';
4
+ import { Repository } from 'typeorm';
5
+
6
+ @Injectable()
7
+ export class PreferenceRepository {
8
+ constructor(
9
+ @InjectRepository(PreferenceMaster)
10
+ private readonly preferenceRepository: Repository<PreferenceMaster>,
11
+ ) {}
12
+
13
+ async findByPreferenceKey(
14
+ preferenceKey: string,
15
+ ): Promise<PreferenceMaster | null> {
16
+ return await this.preferenceRepository.findOne({
17
+ where: { preference_key: preferenceKey },
18
+ });
19
+ }
20
+ }
@@ -1,15 +1,15 @@
1
- import { Controller, Get, Request, UseGuards } from '@nestjs/common';
2
- import { MenuService } from '../service/menu.service';
3
- import { JwtAuthGuard } from 'src/module/auth/guards/jwt.guard';
4
-
5
- @Controller('menu')
6
- export class MenuController {
7
- constructor(private readonly menuService: MenuService) {}
8
-
9
- @UseGuards(JwtAuthGuard)
10
- @Get()
11
- async getMenu(@Request() req) {
12
- const userId = req.user.userId;
13
- return this.menuService.getUserMenu(userId);
14
- }
15
- }
1
+ import { Controller, Get, Request, UseGuards } from '@nestjs/common';
2
+ import { MenuService } from '../service/menu.service';
3
+ import { JwtAuthGuard } from 'src/module/auth/guards/jwt.guard';
4
+
5
+ @Controller('menu')
6
+ export class MenuController {
7
+ constructor(private readonly menuService: MenuService) {}
8
+
9
+ @UseGuards(JwtAuthGuard)
10
+ @Get()
11
+ async getMenu(@Request() req) {
12
+ const userId = req.user.userId;
13
+ return this.menuService.getUserMenu(userId);
14
+ }
15
+ }
@@ -1,22 +1,22 @@
1
- import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
2
-
3
- @Entity({ name: 'cr_module_access' })
4
- export class ModuleAccess {
5
- @PrimaryGeneratedColumn()
6
- id: number;
7
-
8
- @Column({type: 'varchar', length: 100, nullable: true})
9
- module_code: string;
10
-
11
- @Column({type: 'varchar', length: 100, nullable: true })
12
- role_code: string;
13
-
14
- @Column({type: 'int', nullable: true })
15
- access_flag: number;
16
-
17
- @Column({type: 'varchar', length: 100, nullable: true })
18
- action_type: string;
19
-
20
- @Column({type: 'varchar', length: 100, nullable: true})
21
- app_code: string;
22
- }
1
+ import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
2
+
3
+ @Entity({ name: 'cr_module_access' })
4
+ export class ModuleAccess {
5
+ @PrimaryGeneratedColumn()
6
+ id: number;
7
+
8
+ @Column({type: 'varchar', length: 100, nullable: true})
9
+ module_code: string;
10
+
11
+ @Column({type: 'varchar', length: 100, nullable: true })
12
+ role_code: string;
13
+
14
+ @Column({type: 'int', nullable: true })
15
+ access_flag: number;
16
+
17
+ @Column({type: 'varchar', length: 100, nullable: true })
18
+ action_type: string;
19
+
20
+ @Column({type: 'varchar', length: 100, nullable: true})
21
+ app_code: string;
22
+ }
@@ -1,19 +1,19 @@
1
- import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
2
-
3
- @Entity({ name: 'module_action' })
4
- export class ModuleAction {
5
- @PrimaryGeneratedColumn()
6
- id: number;
7
-
8
- @Column({type: 'int', nullable: true})
9
- module_id: number;
10
-
11
- @Column({type: 'varchar', length: 100, nullable: true })
12
- module_code: string;
13
-
14
- @Column({type: 'varchar', length: 100, nullable: true })
15
- action_name:string
16
-
17
- @Column({type: 'varchar', length: 50, nullable: true })
18
- action_type: string;
19
- }
1
+ import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
2
+
3
+ @Entity({ name: 'module_action' })
4
+ export class ModuleAction {
5
+ @PrimaryGeneratedColumn()
6
+ id: number;
7
+
8
+ @Column({type: 'int', nullable: true})
9
+ module_id: number;
10
+
11
+ @Column({type: 'varchar', length: 100, nullable: true })
12
+ module_code: string;
13
+
14
+ @Column({type: 'varchar', length: 100, nullable: true })
15
+ action_name:string
16
+
17
+ @Column({type: 'varchar', length: 50, nullable: true })
18
+ action_type: string;
19
+ }
@@ -175,6 +175,14 @@ export class ModuleAccessRepository {
175
175
  if (nameExists) {
176
176
  throw new BadRequestException('Role name already exists.');
177
177
  }
178
+ if(copyFromRoleId){
179
+ const sourceRole = await this.roleRepo.findOne({
180
+ where: { id: copyFromRoleId },
181
+ });
182
+ if (!sourceRole) {
183
+ throw new BadRequestException('Source role not found');
184
+ }
185
+ }
178
186
 
179
187
  // 1. Create the role without the code (code will be updated after ID is generated)
180
188
  const newRole = this.roleRepo.create({
@@ -1,28 +1,28 @@
1
- import {
2
- Body,
3
- Controller,
4
- HttpStatus,
5
- Inject,
6
- Post,
7
- Res,
8
- ValidationPipe,
9
- } from '@nestjs/common';
10
- import { UserService } from '../service/user.service';
11
- import { CreateUserDto } from '../dto/create-user.dto';
12
- import { Response } from 'express';
13
-
14
- @Controller('user')
15
- export class UserController {
16
- constructor(
17
- @Inject('UserService') private readonly userService: UserService,
18
- ) {}
19
-
20
- @Post('signup')
21
- async signup(
22
- @Body(new ValidationPipe()) createUserDto: CreateUserDto,
23
- @Res() res: Response,
24
- ) {
25
- const result = await this.userService.createEntity(createUserDto, null);
26
- res.status(HttpStatus.OK).json(result);
27
- }
28
- }
1
+ import {
2
+ Body,
3
+ Controller,
4
+ HttpStatus,
5
+ Inject,
6
+ Post,
7
+ Res,
8
+ ValidationPipe,
9
+ } from '@nestjs/common';
10
+ import { UserService } from '../service/user.service';
11
+ import { CreateUserDto } from '../dto/create-user.dto';
12
+ import { Response } from 'express';
13
+
14
+ @Controller('user')
15
+ export class UserController {
16
+ constructor(
17
+ @Inject('UserService') private readonly userService: UserService,
18
+ ) {}
19
+
20
+ @Post('signup')
21
+ async signup(
22
+ @Body(new ValidationPipe()) createUserDto: CreateUserDto,
23
+ @Res() res: Response,
24
+ ) {
25
+ const result = await this.userService.createEntity(createUserDto, null);
26
+ res.status(HttpStatus.OK).json(result);
27
+ }
28
+ }
@@ -1,4 +1,4 @@
1
- import { PartialType } from '@nestjs/mapped-types';
2
- import { CreateUserDto } from './create-user.dto';
3
-
4
- export class UpdateUserDto extends PartialType(CreateUserDto) {}
1
+ import { PartialType } from '@nestjs/mapped-types';
2
+ import { CreateUserDto } from './create-user.dto';
3
+
4
+ export class UpdateUserDto extends PartialType(CreateUserDto) {}
@@ -1,61 +1,61 @@
1
- import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
2
-
3
- @Entity({ name: 'cr_user_session' })
4
- export class UserSession {
5
- @PrimaryGeneratedColumn()
6
- id: number;
7
-
8
- @Column({
9
- name: 'is_session_loggedout',
10
- nullable: true,
11
- type: 'int',
12
- })
13
- is_session_loggedout: number;
14
-
15
- @Column({
16
- name: 'login_id',
17
- nullable: true,
18
- length: 50,
19
- })
20
- login_id: string;
21
-
22
- @Column({
23
- name: 'login_time',
24
- nullable: true,
25
- })
26
- login_time: Date;
27
-
28
- @Column({
29
- name: 'logout_time',
30
- nullable: true,
31
- })
32
- logout_time: Date;
33
-
34
- @Column({
35
- name: 'session_key',
36
- nullable: true,
37
- length: 100,
38
- })
39
- session_key: string;
40
-
41
- @Column({
42
- name: 'user_id',
43
- nullable: true,
44
- type: 'bigint',
45
- })
46
- user_id: number;
47
-
48
- @Column({
49
- name: 'access_token',
50
- nullable: true,
51
- type: 'varchar',
52
- length: 5000,
53
- })
54
- access_token: string;
55
-
56
- @Column({
57
- name: 'expiry_date',
58
- nullable: true,
59
- })
60
- expiry_date: Date;
61
- }
1
+ import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
2
+
3
+ @Entity({ name: 'cr_user_session' })
4
+ export class UserSession {
5
+ @PrimaryGeneratedColumn()
6
+ id: number;
7
+
8
+ @Column({
9
+ name: 'is_session_loggedout',
10
+ nullable: true,
11
+ type: 'int',
12
+ })
13
+ is_session_loggedout: number;
14
+
15
+ @Column({
16
+ name: 'login_id',
17
+ nullable: true,
18
+ length: 50,
19
+ })
20
+ login_id: string;
21
+
22
+ @Column({
23
+ name: 'login_time',
24
+ nullable: true,
25
+ })
26
+ login_time: Date;
27
+
28
+ @Column({
29
+ name: 'logout_time',
30
+ nullable: true,
31
+ })
32
+ logout_time: Date;
33
+
34
+ @Column({
35
+ name: 'session_key',
36
+ nullable: true,
37
+ length: 100,
38
+ })
39
+ session_key: string;
40
+
41
+ @Column({
42
+ name: 'user_id',
43
+ nullable: true,
44
+ type: 'bigint',
45
+ })
46
+ user_id: number;
47
+
48
+ @Column({
49
+ name: 'access_token',
50
+ nullable: true,
51
+ type: 'varchar',
52
+ length: 5000,
53
+ })
54
+ access_token: string;
55
+
56
+ @Column({
57
+ name: 'expiry_date',
58
+ nullable: true,
59
+ })
60
+ expiry_date: Date;
61
+ }
@@ -1,33 +1,33 @@
1
- import { Repository } from 'typeorm';
2
- import { UserSession } from '../entity/user-session.entity';
3
- import { Injectable } from '@nestjs/common';
4
- import { InjectRepository } from '@nestjs/typeorm';
5
-
6
- @Injectable()
7
- export class UserSessionRepository {
8
- constructor(
9
- @InjectRepository(UserSession)
10
- private userSessionRepo: Repository<UserSession>,
11
- ) {}
12
-
13
- async findBySessionKey(sessionKey: string): Promise<UserSession | null> {
14
- return this.userSessionRepo.findOne({ where: { session_key: sessionKey } });
15
- }
16
-
17
- async findActiveSessionByUserId(userId: number): Promise<UserSession | null> {
18
- return this.userSessionRepo.findOne({
19
- where: { user_id: userId, is_session_loggedout: 0 },
20
- });
21
- }
22
-
23
- async saveSession(session: UserSession): Promise<UserSession> {
24
- return this.userSessionRepo.save(session);
25
- }
26
-
27
- async logoutSession(sessionKey: string): Promise<void> {
28
- await this.userSessionRepo.update(
29
- { session_key: sessionKey },
30
- { is_session_loggedout: 1, logout_time: new Date() },
31
- );
32
- }
33
- }
1
+ import { Repository } from 'typeorm';
2
+ import { UserSession } from '../entity/user-session.entity';
3
+ import { Injectable } from '@nestjs/common';
4
+ import { InjectRepository } from '@nestjs/typeorm';
5
+
6
+ @Injectable()
7
+ export class UserSessionRepository {
8
+ constructor(
9
+ @InjectRepository(UserSession)
10
+ private userSessionRepo: Repository<UserSession>,
11
+ ) {}
12
+
13
+ async findBySessionKey(sessionKey: string): Promise<UserSession | null> {
14
+ return this.userSessionRepo.findOne({ where: { session_key: sessionKey } });
15
+ }
16
+
17
+ async findActiveSessionByUserId(userId: number): Promise<UserSession | null> {
18
+ return this.userSessionRepo.findOne({
19
+ where: { user_id: userId, is_session_loggedout: 0 },
20
+ });
21
+ }
22
+
23
+ async saveSession(session: UserSession): Promise<UserSession> {
24
+ return this.userSessionRepo.save(session);
25
+ }
26
+
27
+ async logoutSession(sessionKey: string): Promise<void> {
28
+ await this.userSessionRepo.update(
29
+ { session_key: sessionKey },
30
+ { is_session_loggedout: 1, logout_time: new Date() },
31
+ );
32
+ }
33
+ }