Skip to content

Commit c021a6e

Browse files
authored
Merge pull request #1683 from rocket-admin/backend_ceadr_refactoring
types refactoring
2 parents b5734ed + 1b57890 commit c021a6e

22 files changed

Lines changed: 100 additions & 117 deletions

backend/src/entities/company-info/application/data-structures/found-company-info.ds.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { ApiProperty } from '@nestjs/swagger';
2-
import { FoundSipleConnectionInfoDS } from '../../../connection/application/data-structures/found-connections.ds.js';
2+
import { FoundSimpleConnectionInfoDS } from '../../../connection/application/data-structures/found-connections.ds.js';
33
import { FoundCompanyImageInfo } from '../dto/found-company-logo.ro.js';
44
import { FoundInvitationInCompanyDs } from './found-invitation-in-company.ds.js';
55

@@ -49,7 +49,7 @@ export class FoundUserCompanyInfoDs {
4949

5050
export class FoundUserFullCompanyInfoDs extends FoundUserCompanyInfoDs {
5151
@ApiProperty({ isArray: true })
52-
connections: Array<FoundSipleConnectionInfoDS>;
52+
connections: Array<FoundSimpleConnectionInfoDS>;
5353

5454
@ApiProperty({ isArray: true, type: FoundInvitationInCompanyDs })
5555
invitations: Array<FoundInvitationInCompanyDs>;

backend/src/entities/company-info/utils/build-found-company-info-ds.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { FoundSassCompanyInfoDS } from '../../../microservices/gateways/saas-gateway.ts/data-structures/found-saas-company-info.ds.js';
2-
import { FoundSipleConnectionInfoDS } from '../../connection/application/data-structures/found-connections.ds.js';
2+
import { FoundSimpleConnectionInfoDS } from '../../connection/application/data-structures/found-connections.ds.js';
33
import { UserRoleEnum } from '../../user/enums/user-role.enum.js';
44
import { buildSimpleUserInfoDs } from '../../user/utils/build-created-user.ds.js';
55
import {
@@ -26,7 +26,7 @@ export function buildFoundCompanyFullInfoDs(
2626
companyCustomDomain,
2727
userRole,
2828
) as any;
29-
const connectionsRO: Array<FoundSipleConnectionInfoDS> = companyInfoFromCore.connections.map((connection) => {
29+
const connectionsRO: Array<FoundSimpleConnectionInfoDS> = companyInfoFromCore.connections.map((connection) => {
3030
return {
3131
id: connection.id,
3232
createdAt: connection.createdAt,
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js';
2+
3+
export interface ConnectionParametersDs {
4+
title?: string;
5+
masterEncryption?: boolean;
6+
type: ConnectionTypesEnum;
7+
host?: string;
8+
port?: number;
9+
username?: string;
10+
password?: string;
11+
database?: string;
12+
schema?: string;
13+
sid?: string;
14+
ssh?: boolean;
15+
privateSSHKey?: string;
16+
sshHost?: string;
17+
sshPort?: number;
18+
sshUsername?: string;
19+
ssl?: boolean;
20+
cert?: string;
21+
azure_encryption?: boolean;
22+
authSource?: string;
23+
dataCenter?: string;
24+
}

backend/src/entities/connection/application/data-structures/create-connection.ds.ts

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,7 @@
1-
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js';
1+
import { ConnectionParametersDs } from './connection-parameters.ds.js';
22

33
export class CreateConnectionDs {
4-
connection_parameters: {
5-
title: string;
6-
masterEncryption: boolean;
7-
type: ConnectionTypesEnum;
8-
host: string;
9-
port: number;
10-
username: string;
11-
password: string;
12-
database: string;
13-
schema: string;
14-
sid: string;
15-
ssh: boolean;
16-
privateSSHKey: string;
17-
sshHost: string;
18-
sshPort: number;
19-
sshUsername: string;
20-
ssl: boolean;
21-
cert: string;
22-
azure_encryption: boolean;
23-
authSource: string;
24-
dataCenter: string;
25-
};
4+
connection_parameters: ConnectionParametersDs;
265
creation_info: {
276
authorId: string;
287
masterPwd: string;

backend/src/entities/connection/application/data-structures/found-connections.ds.ts

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import { AccessLevelEnum } from '../../../../enums/index.js';
44
import { ConnectionPropertiesEntity } from '../../../connection-properties/connection-properties.entity.js';
55
import { FoundGroupDataWithUsersDs } from '../../../group/application/data-sctructures/found-user-groups.ds.js';
66
import { SimpleFoundUserInfoDs } from '../../../user/dto/found-user.dto.js';
7-
import { UserEntity } from '../../../user/user.entity.js';
87

98
export class FoundDirectConnectionsDs {
109
@ApiProperty()
@@ -17,7 +16,7 @@ export class FoundDirectConnectionsDs {
1716
masterEncryption: boolean;
1817

1918
@ApiProperty({ enum: ConnectionTypesEnum })
20-
type?: ConnectionTypesEnum | string;
19+
type?: ConnectionTypesEnum;
2120

2221
@ApiProperty()
2322
host?: string;
@@ -59,7 +58,7 @@ export class FoundDirectConnectionsDs {
5958
cert?: string;
6059

6160
@ApiProperty({ required: false })
62-
author?: UserEntity | string;
61+
author?: string;
6362

6463
@ApiProperty({ required: false })
6564
token?: string;
@@ -94,7 +93,7 @@ export class FoundDirectConnectionsNonePermissionDs {
9493
title?: string;
9594

9695
@ApiProperty()
97-
type?: ConnectionTypesEnum | string;
96+
type?: ConnectionTypesEnum;
9897

9998
@ApiProperty()
10099
database: string;
@@ -117,10 +116,10 @@ export class FoundAgentConnectionsDs {
117116
title?: string;
118117

119118
@ApiProperty({ enum: ConnectionTypesEnum })
120-
type?: ConnectionTypesEnum | string;
119+
type?: ConnectionTypesEnum;
121120

122121
@ApiProperty({ required: false })
123-
author: UserEntity | string;
122+
author?: string;
124123

125124
@ApiProperty()
126125
token: string;
@@ -135,15 +134,15 @@ export class FoundAgentConnectionsDs {
135134
connection_properties: ConnectionPropertiesEntity;
136135
}
137136

138-
export class FoundSipleConnectionInfoDS {
137+
export class FoundSimpleConnectionInfoDS {
139138
@ApiProperty()
140139
id: string;
141140

142141
@ApiProperty()
143142
title?: string;
144143

145144
@ApiProperty({ enum: ConnectionTypesEnum })
146-
type?: ConnectionTypesEnum | string;
145+
type?: ConnectionTypesEnum;
147146

148147
@ApiProperty()
149148
isTestConnection: boolean;

backend/src/entities/connection/application/data-structures/update-connection.ds.ts

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,7 @@
1-
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js';
1+
import { ConnectionParametersDs } from './connection-parameters.ds.js';
22

33
export class UpdateConnectionDs {
4-
connection_parameters: {
5-
title: string;
6-
masterEncryption: boolean;
7-
type: ConnectionTypesEnum;
8-
host: string;
9-
port: number;
10-
username: string;
11-
password: string;
12-
database: string;
13-
schema: string;
14-
sid: string;
15-
ssh: boolean;
16-
privateSSHKey: string;
17-
sshHost: string;
18-
sshPort: number;
19-
sshUsername: string;
20-
ssl: boolean;
21-
cert: string;
22-
azure_encryption: boolean;
23-
authSource: string;
24-
dataCenter: string;
25-
};
4+
connection_parameters: ConnectionParametersDs;
265
update_info: {
276
authorId: string;
287
connectionId: string;

backend/src/entities/connection/application/dto/created-connection.dto.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ export class CreatedConnectionDTO {
2727
masterEncryption: boolean;
2828

2929
@ApiProperty({ enum: ConnectionTypesEnum })
30-
type: ConnectionTypesEnum | string;
30+
type: ConnectionTypesEnum;
3131

3232
@ApiProperty()
3333
host: string;

backend/src/entities/connection/application/dto/delete-connection.dto.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ import { IsOptional, IsString } from 'class-validator';
44
export class DeleteConnectionReasonDto {
55
@IsOptional()
66
@IsString()
7-
@ApiProperty()
8-
reason: string;
7+
@ApiProperty({ required: false })
8+
reason?: string;
99

1010
@IsOptional()
1111
@IsString()
12-
@ApiProperty()
13-
message: string;
12+
@ApiProperty({ required: false })
13+
message?: string;
1414
}

backend/src/entities/connection/connection.controller.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ import { SentryInterceptor } from '../../interceptors/index.js';
2727
import { SuccessResponse } from '../../microservices/saas-microservice/data-structures/common-responce.ds.js';
2828
import { AmplitudeService } from '../amplitude/amplitude.service.js';
2929
import { FoundGroupResponseDto } from '../group/dto/found-group-response.dto.js';
30-
import { IComplexPermission } from '../permission/permission.interface.js';
3130
import { FindUserDs } from '../user/application/data-structures/find-user.ds.js';
3231
import { FoundUserDto } from '../user/dto/found-user.dto.js';
3332
import { CreateConnectionDs } from './application/data-structures/create-connection.ds.js';
@@ -291,7 +290,7 @@ export class ConnectionController {
291290
@UserId() userId: string,
292291
@MasterPassword() masterPwd: string,
293292
): Promise<UpdatedConnectionResponseDTO> {
294-
const errors = [];
293+
const errors: string[] = [];
295294
if (updateConnectionDto.masterEncryption && !masterPwd) {
296295
errors.push(Messages.MASTER_PASSWORD_REQUIRED);
297296
}
@@ -457,7 +456,7 @@ export class ConnectionController {
457456
@QueryUuid('groupId') groupId: string,
458457
@UserId() userId: string,
459458
@MasterPassword() masterPwd: string,
460-
): Promise<IComplexPermission> {
459+
): Promise<FoundPermissionsInConnectionDs> {
461460
if (!connectionId || !groupId) {
462461
throw new BadRequestException(Messages.PARAMETER_MISSING);
463462
}
@@ -481,7 +480,7 @@ export class ConnectionController {
481480
@QueryUuid('groupId') groupId: string,
482481
@UserId() userId: string,
483482
@MasterPassword() masterPwd: string,
484-
): Promise<IComplexPermission> {
483+
): Promise<FoundPermissionsInConnectionDs> {
485484
if (!connectionId || !groupId) {
486485
throw new BadRequestException(Messages.PARAMETER_MISSING);
487486
}
@@ -537,10 +536,11 @@ export class ConnectionController {
537536
};
538537
try {
539538
await validateCreateConnectionData(inputData);
540-
} catch (e) {
539+
} catch (e: unknown) {
540+
const err = e as { response?: { message?: string }; message?: string };
541541
return {
542542
result: false,
543-
message: e?.response?.message || e?.message || Messages.CONNECTION_TYPE_INVALID,
543+
message: err?.response?.message || err?.message || Messages.CONNECTION_TYPE_INVALID,
544544
};
545545
}
546546
const result = await this.testConnectionUseCase.execute(inputData, InTransactionEnum.OFF);

backend/src/entities/connection/connection.entity.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
PrimaryColumn,
1414
Relation,
1515
} from 'typeorm';
16+
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js';
1617
import { Constants } from '../../helpers/constants/constants.js';
1718
import { Encryptor } from '../../helpers/encryption/encryptor.js';
1819
import { isConnectionTypeAgent } from '../../helpers/index.js';
@@ -43,7 +44,7 @@ export class ConnectionEntity {
4344
masterEncryption: boolean;
4445

4546
@Column({ default: null })
46-
type?: string | null;
47+
type?: ConnectionTypesEnum | null;
4748

4849
@Column({ default: null })
4950
host?: string | null;
@@ -106,7 +107,7 @@ export class ConnectionEntity {
106107
saved_table_info: number;
107108

108109
@Column({ default: null })
109-
signing_key: string;
110+
signing_key: string | null;
110111

111112
@Column({ default: null })
112113
authSource?: string | null;

0 commit comments

Comments
 (0)