mirror of
https://github.com/dadosfera/maestro.git
synced 2026-08-31 19:58:21 +00:00
FIX: Connection and Network Flows (Create and Delete)
This commit is contained in:
Generated
+7
-7
@@ -11,7 +11,7 @@
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-secrets-manager": "^3.112.0",
|
||||
"@dadosfera/dadosfera-logs": "^1.0.0-beta.3",
|
||||
"@dadosfera/protospack-v2": "3.12.0",
|
||||
"@dadosfera/protospack-v2": "3.12.1",
|
||||
"@grpc/grpc-js": "^1.6.7",
|
||||
"@grpc/proto-loader": "^0.6.13",
|
||||
"@nestjs/common": "^8.4.7",
|
||||
@@ -1725,9 +1725,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@dadosfera/protospack-v2": {
|
||||
"version": "3.12.0",
|
||||
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.12.0.tgz",
|
||||
"integrity": "sha512-BJNmVC+bjO+ICc13VWllmzAMqqI4/1x6H2LxXaVyi65rmn6FNHMNj6aC/WMlko17II/X2Ih40QdrrQ5io019mg==",
|
||||
"version": "3.12.1",
|
||||
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.12.1.tgz",
|
||||
"integrity": "sha512-hk+63FkmqwQonOtBUSAQfdRt4H638DxTsP95tD2r5D1YxKD6Wyrxg1+TRgUHhIneXNySGORG5jS4O6vA5+tYTw==",
|
||||
"dependencies": {
|
||||
"@grpc/grpc-js": "^1.6.7",
|
||||
"rxjs": "^7.5.5",
|
||||
@@ -12283,9 +12283,9 @@
|
||||
}
|
||||
},
|
||||
"@dadosfera/protospack-v2": {
|
||||
"version": "3.12.0",
|
||||
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.12.0.tgz",
|
||||
"integrity": "sha512-BJNmVC+bjO+ICc13VWllmzAMqqI4/1x6H2LxXaVyi65rmn6FNHMNj6aC/WMlko17II/X2Ih40QdrrQ5io019mg==",
|
||||
"version": "3.12.1",
|
||||
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.12.1.tgz",
|
||||
"integrity": "sha512-hk+63FkmqwQonOtBUSAQfdRt4H638DxTsP95tD2r5D1YxKD6Wyrxg1+TRgUHhIneXNySGORG5jS4O6vA5+tYTw==",
|
||||
"requires": {
|
||||
"@grpc/grpc-js": "^1.6.7",
|
||||
"rxjs": "^7.5.5",
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-secrets-manager": "^3.112.0",
|
||||
"@dadosfera/dadosfera-logs": "^1.0.0-beta.3",
|
||||
"@dadosfera/protospack-v2": "3.12.0",
|
||||
"@dadosfera/protospack-v2": "3.12.1",
|
||||
"@grpc/grpc-js": "^1.6.7",
|
||||
"@grpc/proto-loader": "^0.6.13",
|
||||
"@nestjs/common": "^8.4.7",
|
||||
|
||||
+4
-4
@@ -43,11 +43,11 @@ async function bootstrap() {
|
||||
|
||||
await writeFileSync('swagger.json', JSON.stringify(document));
|
||||
|
||||
if (process.env.ENV != 'stg' && process.env.ENV != 'prd')
|
||||
SwaggerModule.setup('api', app, document);
|
||||
// if (process.env.ENV != 'stg' && process.env.ENV != 'prd')
|
||||
SwaggerModule.setup('api', app, document);
|
||||
|
||||
const swaggerDoc = process.env.ENV === 'dev' ? document : documentEmpty;
|
||||
SwaggerModule.setup('api', app, swaggerDoc);
|
||||
// const swaggerDoc = process.env.ENV === 'dev' ? document : documentEmpty;
|
||||
// SwaggerModule.setup('api', app, swaggerDoc);
|
||||
|
||||
await app.listen(3333);
|
||||
}
|
||||
|
||||
@@ -2,12 +2,7 @@ import {
|
||||
NetworkConfigEntity,
|
||||
NetworkConfigToCatalog,
|
||||
} from '@dadosfera/protospack-v2/dist/lib/NetworkConfig/interfaces/entities';
|
||||
import {
|
||||
ApiProperty,
|
||||
ApiPropertyOptional,
|
||||
OmitType,
|
||||
PickType,
|
||||
} from '@nestjs/swagger';
|
||||
import { ApiProperty, ApiPropertyOptional, PickType } from '@nestjs/swagger';
|
||||
|
||||
export enum NetworkConfigTypesEnum {
|
||||
vpn = 'vpn',
|
||||
@@ -19,37 +14,48 @@ export class NetworkConfigDto implements NetworkConfigEntity {
|
||||
@ApiProperty()
|
||||
id: string;
|
||||
@ApiProperty()
|
||||
name: string;
|
||||
created_at: string;
|
||||
@ApiProperty()
|
||||
updated_at: string;
|
||||
@ApiProperty()
|
||||
customer_name: string;
|
||||
@ApiProperty()
|
||||
description: string;
|
||||
customer_id: string;
|
||||
@ApiProperty()
|
||||
properties: any;
|
||||
@ApiProperty()
|
||||
user_id: string;
|
||||
@ApiProperty()
|
||||
keywords: string;
|
||||
@ApiProperty()
|
||||
tags: string;
|
||||
|
||||
@ApiProperty()
|
||||
network_type_id: string;
|
||||
@ApiProperty()
|
||||
network_type_name: string;
|
||||
@ApiProperty({ enum: NetworkConfigTypesEnum })
|
||||
type: string;
|
||||
@ApiProperty({ enum: NetworkConfigPluginsEnum })
|
||||
plugin: string;
|
||||
@ApiProperty()
|
||||
properties: any;
|
||||
name: string;
|
||||
@ApiProperty()
|
||||
created_at: string;
|
||||
@ApiProperty()
|
||||
updated_at: string;
|
||||
@ApiProperty()
|
||||
network_type_id: string;
|
||||
@ApiProperty()
|
||||
network_type_name: string;
|
||||
@ApiProperty()
|
||||
user_id: string;
|
||||
@ApiProperty()
|
||||
customer_id: string;
|
||||
@ApiProperty()
|
||||
keywords: string;
|
||||
@ApiProperty()
|
||||
tags: string;
|
||||
description: string;
|
||||
}
|
||||
export class NetworkConfigNoSecrets extends OmitType(NetworkConfigDto, [
|
||||
'properties',
|
||||
]) {}
|
||||
|
||||
export class CreateNetworkConfigReq extends PickType(NetworkConfigDto, [
|
||||
'network_type_id',
|
||||
'network_type_name',
|
||||
'name',
|
||||
'description',
|
||||
'type',
|
||||
'plugin',
|
||||
]) {
|
||||
@ApiProperty({ format: 'binary' })
|
||||
ovpn_file: string;
|
||||
}
|
||||
|
||||
export class NetworkConfigOpenVpnProperties {
|
||||
@ApiProperty({ enum: NetworkConfigPluginsEnum })
|
||||
plugin: NetworkConfigPluginsEnum;
|
||||
@@ -122,24 +128,7 @@ export class FindNetworkConfigByidDetailsRes {
|
||||
@ApiProperty()
|
||||
network_config: FindNetworkConfigByidDetails;
|
||||
}
|
||||
export class CreateNetworkConfigReq extends PickType(NetworkConfigDto, [
|
||||
'name',
|
||||
'description',
|
||||
'type',
|
||||
'network_type_id',
|
||||
'plugin',
|
||||
]) {
|
||||
@ApiProperty({
|
||||
type: 'file',
|
||||
properties: {
|
||||
file: {
|
||||
type: 'string',
|
||||
format: 'binary',
|
||||
},
|
||||
},
|
||||
})
|
||||
OVPN_FILE: any;
|
||||
}
|
||||
|
||||
export class CreateNetworkConfigRes {
|
||||
@ApiProperty()
|
||||
network_config: NetworkConfigToCatalogDto;
|
||||
|
||||
@@ -91,19 +91,21 @@ export class NetworkConfigController {
|
||||
@Post()
|
||||
@ApiOkResponse({ type: CreateNetworkConfigRes })
|
||||
@ApiConsumes('multipart/form-data')
|
||||
@UseInterceptors(FileInterceptor('OVPN_FILE'))
|
||||
@UseInterceptors(FileInterceptor('ovpn_file'))
|
||||
async createNetworkConfigs(
|
||||
@User() user: RequestUser,
|
||||
@Body() body: CreateNetworkConfigReq,
|
||||
@UploadedFile() file: Express.Multer.File,
|
||||
@Body() body: CreateNetworkConfigReq,
|
||||
) {
|
||||
this.logger.info('POST /network-config', {
|
||||
user: user.user_id,
|
||||
customer: user.customer_name,
|
||||
});
|
||||
const { customer_id, customer_name, user_id } = user;
|
||||
return this.networkConfigService.createNetworkConfig(body, file, {
|
||||
customer_name: user.customer_name,
|
||||
customer_id: user.customer_id,
|
||||
customer_name,
|
||||
customer_id,
|
||||
user_id,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -91,9 +91,9 @@ export class NetworkConfigService {
|
||||
async createNetworkConfig(
|
||||
body: CreateNetworkConfigReq,
|
||||
file: Express.Multer.File,
|
||||
{ customer_name, customer_id },
|
||||
{ customer_name, customer_id, user_id },
|
||||
): Promise<CreateNetworkConfigRes> {
|
||||
const { description, name, network_type_id } = body;
|
||||
const { description, name, network_type_id, network_type_name } = body;
|
||||
let { type, plugin } = body;
|
||||
|
||||
type = type || 'vpn';
|
||||
@@ -102,12 +102,14 @@ export class NetworkConfigService {
|
||||
const OVPN_FILE_STRING = Buffer.from(file.buffer).toString();
|
||||
|
||||
const meta = new Metadata();
|
||||
|
||||
meta.add('customer_id', customer_id);
|
||||
meta.add('customer_name', customer_name);
|
||||
meta.add('user_id', user_id);
|
||||
|
||||
const { network_config } = await lastValueFrom(
|
||||
this.networkConfigWriteClient.NetworkConfigCreate(
|
||||
{
|
||||
customer_name,
|
||||
description,
|
||||
name,
|
||||
properties: JSON.stringify({
|
||||
@@ -116,6 +118,8 @@ export class NetworkConfigService {
|
||||
}),
|
||||
type,
|
||||
network_type_id,
|
||||
network_type_name,
|
||||
plugin,
|
||||
},
|
||||
meta,
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user