rez_core 1.0.58 → 1.0.60

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 (29) hide show
  1. package/dist/module/listmaster/controller/list-master.controller.d.ts +1 -1
  2. package/dist/module/listmaster/controller/list-master.controller.js +4 -3
  3. package/dist/module/listmaster/controller/list-master.controller.js.map +1 -1
  4. package/dist/module/listmaster/service/list-master.service.d.ts +1 -1
  5. package/dist/module/listmaster/service/list-master.service.js +8 -4
  6. package/dist/module/listmaster/service/list-master.service.js.map +1 -1
  7. package/dist/module/meta/service/entity-service-impl.service.d.ts +2 -2
  8. package/dist/module/meta/service/entity-service-impl.service.js +16 -7
  9. package/dist/module/meta/service/entity-service-impl.service.js.map +1 -1
  10. package/dist/module/module/controller/module-access.controller.d.ts +1 -1
  11. package/dist/module/module/entity/module-action.entity.d.ts +0 -1
  12. package/dist/module/module/entity/module-action.entity.js +2 -5
  13. package/dist/module/module/entity/module-action.entity.js.map +1 -1
  14. package/dist/module/module/module.module.js +1 -1
  15. package/dist/module/module/module.module.js.map +1 -1
  16. package/dist/module/module/repository/module-access.repository.d.ts +11 -5
  17. package/dist/module/module/repository/module-access.repository.js +67 -96
  18. package/dist/module/module/repository/module-access.repository.js.map +1 -1
  19. package/dist/module/module/service/module-access.service.d.ts +1 -1
  20. package/dist/tsconfig.build.tsbuildinfo +1 -1
  21. package/package.json +1 -1
  22. package/src/module/listmaster/controller/list-master.controller.ts +3 -3
  23. package/src/module/listmaster/service/list-master.service.ts +9 -6
  24. package/src/module/meta/service/entity-service-impl.service.ts +21 -14
  25. package/src/module/module/entity/module-action.entity.ts +8 -10
  26. package/src/module/module/module.module.ts +1 -1
  27. package/src/module/module/repository/module-access.repository.ts +89 -115
  28. package/dist/resources/dev.properties.yaml +0 -21
  29. package/dist/resources/uat.properties.yaml +0 -15
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rez_core",
3
- "version": "1.0.58",
3
+ "version": "1.0.60",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "private": false,
@@ -1,4 +1,4 @@
1
- import { Body, Controller, HttpCode, HttpStatus, Param, Post } from '@nestjs/common';
1
+ import { Body, Controller, HttpCode, HttpStatus, Param, Post, Query } from '@nestjs/common';
2
2
  import { ListMasterService } from '../service/list-master.service';
3
3
 
4
4
  @Controller('list-master')
@@ -7,7 +7,7 @@ export class ListMasterController {
7
7
 
8
8
  @Post('/getDropdownData/:type')
9
9
  @HttpCode(HttpStatus.OK)
10
- async getDropdownData(@Param('type') type: string, @Body() params) {
11
- return await this.service.getDropdownOptions(type, params);
10
+ async getDropdownData(@Param('type') type: string, @Body() params,@Query() query: Record<string, string>,) {
11
+ return await this.service.getDropdownOptions(type, params,query);
12
12
  }
13
13
  }
@@ -21,14 +21,14 @@ export class ListMasterService extends EntityServiceImpl {
21
21
  super();
22
22
  }
23
23
 
24
- async getDropdownOptions(type: string, params: Record<string, string>) {
24
+ async getDropdownOptions(type: string, params: Record<string, string>,option) {
25
25
  const config = await this.listMasterRepo.findByType(type);
26
26
 
27
27
  if (!config) throw new NotFoundException(`Type ${type} not found`);
28
28
 
29
29
  switch (config.source) {
30
30
  case 'entity':
31
- return this.fetchFromEntity(type);
31
+ return this.fetchFromEntity(type,option);
32
32
 
33
33
  case 'master':
34
34
  return this.listItemsRepo.findItemsByType(type);
@@ -41,15 +41,18 @@ export class ListMasterService extends EntityServiceImpl {
41
41
  }
42
42
  }
43
43
 
44
- private async fetchFromEntity(sourceList: string) {
44
+ private async fetchFromEntity(sourceList: string,option) {
45
45
  let result: { label: string; value: number }[] = [];
46
46
  if (sourceList) {
47
47
  const entityMaster =
48
48
  await this.entityMasterService.getEntityData(sourceList);
49
49
 
50
- let baseEntities = await super.getEntityList(
51
- entityMaster.mapped_entity_type,
52
- );
50
+ const filters: any = {};
51
+ if (option?.onlyActive === 'true') {
52
+ filters.status = 'ACTIVE';
53
+ }
54
+
55
+ const baseEntities = await super.getEntityList(entityMaster.mapped_entity_type,filters);
53
56
  baseEntities.forEach((entity) => {
54
57
  result.push({
55
58
  label: entity.name,
@@ -62,10 +62,13 @@ export class EntityServiceImpl implements EntityService<BaseEntity> {
62
62
  entityData.created_date = new Date();
63
63
  if (loggedInUser) {
64
64
  entityData.created_by = loggedInUser.id;
65
+ if (!entityData.organization_id)
66
+ entityData.organization_id = loggedInUser.organization_id;
67
+ if (!entityData.enterprise_id)
68
+ entityData.enterprise_id = loggedInUser.enterprise_id;
65
69
  }
66
70
 
67
- const savedEntity = repo.save(entityData);
68
- return savedEntity;
71
+ return repo.save(entityData);
69
72
  }
70
73
 
71
74
  deleteEntity(
@@ -110,24 +113,24 @@ export class EntityServiceImpl implements EntityService<BaseEntity> {
110
113
  return await repoService.findOne({ where: { id: id } });
111
114
  }
112
115
 
113
- async getEntityList(entityType: string): Promise<BaseEntity[]> {
116
+ async getEntityList(entityType: string, filters: Record<string, any> = {}): Promise<BaseEntity[]> {
114
117
  const entityData = await this.entityMasterService.getEntityData(entityType);
115
- const repoService = this.reflectionHelper.getRepoService(
116
- entityData.entity_data_class,
117
- );
118
+ const repoService = this.reflectionHelper.getRepoService(entityData.entity_data_class);
119
+
118
120
  if (!repoService) {
119
- throw new Error(
120
- `Repository service not found for entityType: ${entityType}`,
121
- );
121
+ throw new Error(`Repository service not found for entityType: ${entityType}`);
122
122
  }
123
-
124
- const result = await repoService.find();
123
+
124
+ const result = await repoService.find({
125
+ where: filters,
126
+ });
127
+
125
128
  return result;
126
129
  }
127
130
 
128
131
  async updateEntity(
129
132
  entityData: BaseEntity,
130
- loggedInUserData: UserData | null,
133
+ loggedInUser: UserData | null,
131
134
  ): Promise<BaseEntity> {
132
135
  const entityMaster = await this.entityMasterService.getEntityData(
133
136
  entityData.entity_type,
@@ -143,8 +146,12 @@ export class EntityServiceImpl implements EntityService<BaseEntity> {
143
146
  }
144
147
 
145
148
  entityData.modified_date = new Date();
146
- if (loggedInUserData) {
147
- entityData.modified_by = loggedInUserData.id;
149
+ if (loggedInUser) {
150
+ entityData.modified_by = loggedInUser.id;
151
+ if (!entityData.organization_id)
152
+ entityData.organization_id = loggedInUser.organization_id;
153
+ if (!entityData.enterprise_id)
154
+ entityData.enterprise_id = loggedInUser.enterprise_id;
148
155
  }
149
156
  await repoService.update(entityData.id, entityData);
150
157
  return await repoService.findOne({ where: { id: entityData.id } });
@@ -1,19 +1,17 @@
1
- import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
1
+ import { Column, Entity, PrimaryGeneratedColumn, Unique } from 'typeorm';
2
2
 
3
- @Entity({ name: 'module_action' })
3
+ @Entity({ name: 'cr_module_action' }) // <- new table name
4
+ @Unique(['module_code', 'action_type']) // enforce uniqueness per module + action
4
5
  export class ModuleAction {
5
6
  @PrimaryGeneratedColumn()
6
7
  id: number;
7
8
 
8
- @Column({type: 'int', nullable: true})
9
- module_id: number;
10
-
11
- @Column({type: 'varchar', length: 100, nullable: true })
9
+ @Column({ type: 'varchar', length: 100, nullable: true })
12
10
  module_code: string;
13
-
14
- @Column({type: 'varchar', length: 100, nullable: true })
15
- action_name:string
16
11
 
17
- @Column({type: 'varchar', length: 50, nullable: true })
12
+ @Column({ type: 'varchar', length: 100, nullable: true })
13
+ action_name: string;
14
+
15
+ @Column({ type: 'varchar', length: 50, nullable: true })
18
16
  action_type: string;
19
17
  }
@@ -2,7 +2,6 @@ import { Module } from '@nestjs/common';
2
2
  import { TypeOrmModule } from '@nestjs/typeorm';
3
3
  import { ModuleData } from './entity/module.entity';
4
4
  import { UtilsModule } from '../../utils/utils.module';
5
- import { ModuleAccess } from './entity/module-access.entity';
6
5
  import { ModuleAction } from './entity/module-action.entity';
7
6
  import { ModuleAccessService } from './service/module-access.service';
8
7
  import { MenuController } from './controller/menu.controller';
@@ -14,6 +13,7 @@ import { ModuleAccessController } from './controller/module-access.controller';
14
13
  import { UserRoleMapping } from '../user/entity/user-role-mapping.entity';
15
14
  import { UserModule } from '../user/user.module';
16
15
  import { Role } from '../user/entity/role.entity';
16
+ import { ModuleAccess } from './entity/module-access.entity';
17
17
 
18
18
  @Module({
19
19
  imports: [
@@ -24,41 +24,34 @@ export class ModuleAccessRepository {
24
24
 
25
25
  async getRoles() {
26
26
  const roles = await this.roleRepo.find();
27
- return roles.map((role) => ({
27
+ return roles.map(role => ({
28
28
  label: role.name,
29
29
  value: role.id,
30
30
  }));
31
31
  }
32
32
 
33
33
  async getModules() {
34
- const modules = await this.moduleRepo.find({
35
- where: { module_level: 'MAINMOD' },
36
- });
37
- return modules.map((mod) => ({
34
+ const modules = await this.moduleRepo.find({ where: { module_level: 'MAINMOD' } });
35
+ return modules.map(mod => ({
38
36
  label: mod.name,
39
37
  value: mod.id,
40
38
  }));
41
39
  }
42
40
 
43
41
  async getAccessListing(roleIds: number[]) {
44
- // Fetch roles using role IDs
45
42
  const roles = await this.roleRepo.find({ where: { id: In(roleIds) } });
43
+ const roleCodes = roles.map(role => role.code);
46
44
 
47
- // Extract role codes from roles
48
- const roleCodes = roles.map((role) => role.code);
49
-
50
- // Fetch module access using role codes
51
45
  const moduleAccesses = await this.moduleAccessRepo.find({
52
46
  where: { role_code: In(roleCodes) },
53
47
  });
54
48
 
55
- // Map role data to include access permissions
56
- return roles.map((role) => ({
49
+ return roles.map(role => ({
57
50
  role_code: role.code,
58
51
  name: role.name,
59
52
  permission: moduleAccesses
60
- .filter((access) => access.role_code === role.code)
61
- .map((access) => ({
53
+ .filter(access => access.role_code === role.code)
54
+ .map(access => ({
62
55
  action: access.action_type,
63
56
  access: access.access_flag,
64
57
  code: access.module_code,
@@ -67,62 +60,48 @@ export class ModuleAccessRepository {
67
60
  }
68
61
 
69
62
  async getMenuListing(mainModIds: string[]) {
70
- let mainModules: ModuleData[] = [];
71
-
72
- if (mainModIds.length === 1 && mainModIds[0] === '-1') {
73
- // Fetch ALL MAINMOD modules if "-1" is passed
74
- mainModules = await this.moduleRepo.find({
75
- where: { module_level: 'MAINMOD' },
76
- });
77
- } else {
78
- // Fetch selected MAINMOD modules
79
- mainModules = await this.moduleRepo.find({
80
- where: { id: In(mainModIds), module_level: 'MAINMOD' },
81
- });
82
- }
63
+ const mainModules = mainModIds.length === 1 && mainModIds[0] === '-1'
64
+ ? await this.moduleRepo.find({ where: { module_level: 'MAINMOD' } })
65
+ : await this.moduleRepo.find({ where: { id: In(mainModIds), module_level: 'MAINMOD' } });
83
66
 
84
67
  if (!mainModules.length) return [];
85
68
 
86
- const wbsCodes = mainModules.map((mod) => mod.wbs_code);
69
+ const wbsCodes = mainModules.map(mod => mod.wbs_code);
87
70
 
88
71
  const modules = await this.moduleRepo
89
72
  .createQueryBuilder('module')
90
73
  .where(
91
- wbsCodes
92
- .map((code) => `module.wbs_code LIKE :code${code}`)
93
- .join(' OR '),
94
- Object.fromEntries(wbsCodes.map((code) => [`code${code}`, `${code}%`])),
74
+ wbsCodes.map(code => `module.wbs_code LIKE :code${code}`).join(' OR '),
75
+ Object.fromEntries(wbsCodes.map(code => [`code${code}`, `${code}%`])),
95
76
  )
96
77
  .getMany();
97
78
 
98
79
  const moduleActions = await this.moduleActionRepo.find();
99
80
 
100
- const buildHierarchy = (parentWbs: string) => {
101
- return modules
102
- .filter(
103
- (mod) =>
104
- mod.wbs_code.startsWith(parentWbs + '.') &&
105
- mod.wbs_code.split('.').length === parentWbs.split('.').length + 1,
81
+ const buildHierarchy = (parentWbs: string): any[] =>
82
+ modules
83
+ .filter(mod =>
84
+ mod.wbs_code.startsWith(`${parentWbs}.`) &&
85
+ mod.wbs_code.split('.').length === parentWbs.split('.').length + 1,
106
86
  )
107
- .map((mod) => ({
87
+ .map(mod => ({
108
88
  name: mod.name,
109
89
  code: mod.module_code,
110
90
  permission: moduleActions
111
- .filter((action) => action.module_code === mod.module_code)
112
- .map((action) => ({
91
+ .filter(action => action.module_code === mod.module_code)
92
+ .map(action => ({
113
93
  action: action.action_type,
114
94
  name: action.action_type,
115
95
  })),
116
96
  submod: buildHierarchy(mod.wbs_code),
117
97
  }));
118
- };
119
98
 
120
- return mainModules.map((mod) => ({
99
+ return mainModules.map(mod => ({
121
100
  name: mod.name,
122
101
  code: mod.module_code,
123
102
  permission: moduleActions
124
- .filter((action) => action.module_code === mod.module_code)
125
- .map((action) => ({
103
+ .filter(action => action.module_code === mod.module_code)
104
+ .map(action => ({
126
105
  action: action.action_type,
127
106
  name: action.action_type,
128
107
  })),
@@ -130,27 +109,29 @@ export class ModuleAccessRepository {
130
109
  }));
131
110
  }
132
111
 
133
- async updateModuleAccess(moduleAccessData: any[]): Promise<boolean> {
112
+ async updateModuleAccess(accessList: {
113
+ role_code: string;
114
+ module_code: string;
115
+ action_type: string;
116
+ access_flag: number;
117
+ app_code: string;
118
+ }[]): Promise<boolean> {
134
119
  try {
135
- for (const access of moduleAccessData) {
136
- const { role_code, module_code, action_type, access_flag, app_code } =
137
- access;
138
-
139
- const existingEntry = await this.moduleAccessRepo.findOne({
140
- where: { role_code, module_code, action_type, app_code },
120
+ for (const access of accessList) {
121
+ const existing = await this.moduleAccessRepo.findOne({
122
+ where: {
123
+ role_code: access.role_code,
124
+ module_code: access.module_code,
125
+ action_type: access.action_type,
126
+ app_code: access.app_code,
127
+ },
141
128
  });
142
129
 
143
- if (existingEntry) {
144
- existingEntry.access_flag = access_flag;
145
- await this.moduleAccessRepo.save(existingEntry);
130
+ if (existing) {
131
+ existing.access_flag = access.access_flag;
132
+ await this.moduleAccessRepo.save(existing);
146
133
  } else {
147
- await this.moduleAccessRepo.save({
148
- role_code,
149
- module_code,
150
- action_type,
151
- access_flag,
152
- app_code,
153
- });
134
+ await this.moduleAccessRepo.save(this.moduleAccessRepo.create(access));
154
135
  }
155
136
  }
156
137
  return true;
@@ -161,7 +142,12 @@ export class ModuleAccessRepository {
161
142
  }
162
143
 
163
144
  async createRole(
164
- body: {
145
+ {
146
+ name,
147
+ description,
148
+ status = 'ACTIVE',
149
+ copyFromRoleId,
150
+ }: {
165
151
  name: string;
166
152
  description?: string;
167
153
  status?: 'ACTIVE' | 'INACTIVE';
@@ -169,59 +155,45 @@ export class ModuleAccessRepository {
169
155
  },
170
156
  loggedInUser: UserData,
171
157
  ) {
172
- const { name, description, status, copyFromRoleId } = body;
173
-
174
- const nameExists = await this.isRoleNameExists(name);
175
- if (nameExists) {
158
+ if (await this.isRoleNameExists(name)) {
176
159
  throw new BadRequestException('Role name already exists.');
177
160
  }
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
- }
161
+
162
+ const sourceRole = copyFromRoleId
163
+ ? await this.roleRepo.findOne({ where: { id: copyFromRoleId } })
164
+ : null;
165
+
166
+ if (copyFromRoleId && !sourceRole) {
167
+ throw new BadRequestException('Source role not found.');
185
168
  }
186
169
 
187
- // 1. Create the role without the code (code will be updated after ID is generated)
188
170
  const newRole = this.roleRepo.create({
189
171
  name,
190
172
  description,
191
- status: status || 'ACTIVE',
173
+ status,
192
174
  created_by: loggedInUser.id,
193
175
  created_date: new Date(),
194
176
  });
195
177
 
196
- // 2. Save the role to get the generated ID
197
- const savedRole = await this.roleRepo.save(newRole); // ID is now available
198
-
199
- // 3. Generate the code using the saved ID
200
- const generatedCode = `ROL${savedRole.id}`;
178
+ const savedRole = await this.roleRepo.save(newRole);
179
+ savedRole.code = `ROL${savedRole.id}`;
180
+ await this.roleRepo.save(savedRole);
201
181
 
202
- // 4. Update the role with the generated code
203
- savedRole.code = generatedCode;
204
- await this.roleRepo.save(savedRole); // Update only the code
205
-
206
- if (copyFromRoleId) {
207
- const sourceRole = await this.roleRepo.findOne({
208
- where: { id: copyFromRoleId },
209
- });
210
- if (!sourceRole) {
211
- throw new BadRequestException('Source role not found');
212
- }
182
+ if (sourceRole) {
213
183
  const sourcePermissions = await this.moduleAccessRepo.find({
214
184
  where: { role_code: sourceRole.code },
215
185
  });
216
- const clonedPermissions = sourcePermissions.map((perm) =>
186
+
187
+ const clonedPermissions = sourcePermissions.map(perm =>
217
188
  this.moduleAccessRepo.create({
218
- role_code: generatedCode,
189
+ role_code: savedRole.code,
219
190
  module_code: perm.module_code,
220
191
  action_type: perm.action_type,
221
192
  access_flag: perm.access_flag,
222
193
  app_code: perm.app_code,
223
194
  }),
224
195
  );
196
+
225
197
  await this.moduleAccessRepo.save(clonedPermissions);
226
198
  }
227
199
 
@@ -239,7 +211,12 @@ export class ModuleAccessRepository {
239
211
 
240
212
  async updateRole(
241
213
  roleId: number,
242
- body: {
214
+ {
215
+ name,
216
+ description,
217
+ status = 'ACTIVE',
218
+ copyFromRoleId,
219
+ }: {
243
220
  name: string;
244
221
  description?: string;
245
222
  status?: 'ACTIVE' | 'INACTIVE';
@@ -247,39 +224,38 @@ export class ModuleAccessRepository {
247
224
  },
248
225
  loggedInUser: UserData,
249
226
  ) {
250
- const { name, description, status, copyFromRoleId } = body;
251
-
252
- const nameExists = await this.isRoleNameExists(name, roleId);
253
- if (nameExists) {
227
+ if (await this.isRoleNameExists(name, roleId)) {
254
228
  throw new BadRequestException('Role name already exists.');
255
229
  }
256
230
 
257
231
  const role = await this.roleRepo.findOne({ where: { id: roleId } });
258
232
  if (!role) {
259
- throw new BadRequestException('Source role not found');
233
+ throw new BadRequestException('Role not found');
260
234
  }
261
235
 
262
- role.name = name;
263
- role.description = description || '';
264
- role.status = status || 'ACTIVE';
265
- role.modified_date = new Date();
266
- role.modified_by = loggedInUser.id;
236
+ Object.assign(role, {
237
+ name,
238
+ description: description || '',
239
+ status,
240
+ modified_by: loggedInUser.id,
241
+ modified_date: new Date(),
242
+ });
243
+
267
244
  await this.roleRepo.save(role);
268
245
 
269
246
  if (copyFromRoleId) {
270
- await this.moduleAccessRepo.delete({ role_code: role.code });
271
-
272
- const sourceRole = await this.roleRepo.findOne({
273
- where: { id: copyFromRoleId },
274
- });
247
+ const sourceRole = await this.roleRepo.findOne({ where: { id: copyFromRoleId } });
275
248
  if (!sourceRole) {
276
249
  throw new BadRequestException('Source role not found');
277
250
  }
278
251
 
252
+ await this.moduleAccessRepo.delete({ role_code: role.code });
253
+
279
254
  const sourcePermissions = await this.moduleAccessRepo.find({
280
255
  where: { role_code: sourceRole.code },
281
256
  });
282
- const clonedPermissions = sourcePermissions.map((perm) =>
257
+
258
+ const clonedPermissions = sourcePermissions.map(perm =>
283
259
  this.moduleAccessRepo.create({
284
260
  role_code: role.code,
285
261
  module_code: perm.module_code,
@@ -288,6 +264,7 @@ export class ModuleAccessRepository {
288
264
  app_code: perm.app_code,
289
265
  }),
290
266
  );
267
+
291
268
  await this.moduleAccessRepo.save(clonedPermissions);
292
269
  }
293
270
 
@@ -303,10 +280,7 @@ export class ModuleAccessRepository {
303
280
  };
304
281
  }
305
282
 
306
- async isRoleNameExists(
307
- name: string,
308
- excludeRoleId?: number,
309
- ): Promise<boolean> {
283
+ private async isRoleNameExists(name: string, excludeRoleId?: number): Promise<boolean> {
310
284
  const query = this.roleRepo
311
285
  .createQueryBuilder('role')
312
286
  .where('role.name = :name', { name });
@@ -1,21 +0,0 @@
1
- DB_HOST: "13.234.25.234"
2
- DB_PORT: "3306"
3
- DB_USER: "root"
4
- DB_PASS: "Rezolut@123"
5
- DB_NAME: "core"
6
- MASTER_KEY: "0QZ2eRJv5oVILYnyBlC+FbSGVQiWKReh"
7
- MASTER_IV: "heuUQf5uPVtkotrFAOKUVw=="
8
- SECRET_KEY: "1hard_to_guess_secret7890a"
9
- CLIENT_ID: "324529881356-596sc8ksrb9lg01i7sktofqqqf0fv2ug.apps.googleusercontent.com"
10
- CLIENT_SECRET: "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"
11
- CALLBACK_URL: "http://localhost:3000/auth/google/callback"
12
- OTP_EXPIRY: "10"
13
- OTP_LENGTH: "6"
14
- VERIFY_OTP: "false"
15
- DEFAULT_OTP: "123456"
16
- AWS:
17
- S3:
18
- AWS_ACCESS_KEY_ID: "AKIAYYKIBDDSQF3KILGE"
19
- AWS_SECRET_KEY: "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"
20
- AWS_REGION: "ap-south-1"
21
- BUCKET_NAME: "testether"
@@ -1,15 +0,0 @@
1
- DB_HOST: "13.234.25.234"
2
- DB_PORT: "3306"
3
- DB_USER: "root"
4
- DB_PASS: "Rezolut@123"
5
- DB_NAME: "ether_core"
6
- MASTER_KEY: "0QZ2eRJv5oVILYnyBlC+FbSGVQiWKReh"
7
- MASTER_IV: "heuUQf5uPVtkotrFAOKUVw=="
8
- SECRET_KEY: "1hard_to_guess_secret7890a"
9
- CLIENT_ID: "324529881356-596sc8ksrb9lg01i7sktofqqqf0fv2ug.apps.googleusercontent.com"
10
- CLIENT_SECRET: "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"
11
- CALLBACK_URL: "http://localhost:3000/auth/google/callback"
12
- OTP_EXPIRY: "10"
13
- OTP_LENGTH: "6"
14
- VERIFY_OTP: "false"
15
- DEFAULT_OTP: "123456"