Browse Source

Fix import edges, update() is not working

pull/3811/head
Artem Babak 6 years ago
parent
commit
f8e80aa94b
  1. 4
      ui-ngx/src/app/core/http/edge.service.ts
  2. 16
      ui-ngx/src/app/core/http/entity.service.ts
  3. 18
      ui-ngx/src/app/modules/home/components/import-export/import-dialog-csv.component.ts
  4. 10
      ui-ngx/src/app/modules/home/components/import-export/import-export.models.ts
  5. 8
      ui-ngx/src/app/modules/home/components/import-export/table-columns-assignment.component.ts
  6. 2
      ui-ngx/src/app/modules/home/dialogs/home-dialogs.service.ts
  7. 4
      ui-ngx/src/app/shared/models/entity.models.ts

4
ui-ngx/src/app/core/http/edge.service.ts

@ -104,4 +104,8 @@ export class EdgeService {
public findMissingToRelatedRuleChains(edgeId: string, config?: RequestConfig): Observable<string> { public findMissingToRelatedRuleChains(edgeId: string, config?: RequestConfig): Observable<string> {
return this.http.get<string>(`/api/edge/missingToRelatedRuleChains/${edgeId}`, defaultHttpOptionsFromConfig(config)); return this.http.get<string>(`/api/edge/missingToRelatedRuleChains/${edgeId}`, defaultHttpOptionsFromConfig(config));
} }
public findByName(edgeName: string, config?: RequestConfig): Observable<Edge> {
return this.http.get<Edge>(`/api/tenant/edges?edgeName=${edgeName}`, defaultHttpOptionsFromConfig(config));
}
} }

16
ui-ngx/src/app/core/http/entity.service.ts

@ -70,6 +70,7 @@ import {
import { alarmFields } from '@shared/models/alarm.models'; import { alarmFields } from '@shared/models/alarm.models';
import { EdgeService } from "@core/http/edge.service"; import { EdgeService } from "@core/http/edge.service";
import { ruleChainType } from "@shared/models/rule-chain.models"; import { ruleChainType } from "@shared/models/rule-chain.models";
import { Edge } from '@shared/models/edge.models';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
@ -888,6 +889,21 @@ export class EntityService {
}; };
saveEntityObservable = this.assetService.saveAsset(asset, config); saveEntityObservable = this.assetService.saveAsset(asset, config);
break; break;
case EntityType.EDGE:
const edge: Edge = {
name: entityData.name,
type: entityData.type,
label: entityData.label,
additionalInfo: {
description: entityData.description
},
edgeLicenseKey: entityData.edgeLicenseKey,
cloudEndpoint: entityData.cloudEndpoint,
routingKey: entityData.routingKey,
secret: entityData.secret
}
saveEntityObservable = this.edgeService.saveEdge(edge, config);
break;
} }
return saveEntityObservable.pipe( return saveEntityObservable.pipe(
mergeMap((entity) => { mergeMap((entity) => {

18
ui-ngx/src/app/modules/home/components/import-export/import-dialog-csv.component.ts

@ -203,7 +203,11 @@ export class ImportDialogCsvComponent extends DialogComponent<ImportDialogCsvCom
server: [], server: [],
shared: [] shared: []
}, },
timeseries: [] timeseries: [],
edgeLicenseKey: '',
cloudEndpoint: '',
routingKey: '',
secret: ''
}; };
const i = row; const i = row;
for (let j = 0; j < parameterColumns.length; j++) { for (let j = 0; j < parameterColumns.length; j++) {
@ -244,6 +248,18 @@ export class ImportDialogCsvComponent extends DialogComponent<ImportDialogCsvCom
case ImportEntityColumnType.description: case ImportEntityColumnType.description:
entityData.description = importData.rows[i][j]; entityData.description = importData.rows[i][j];
break; break;
case ImportEntityColumnType.edgeLicenseKey:
entityData.edgeLicenseKey = importData.rows[i][j];
break;
case ImportEntityColumnType.cloudEndpoint:
entityData.cloudEndpoint = importData.rows[i][j];
break;
case ImportEntityColumnType.routingKey:
entityData.routingKey = importData.rows[i][j];
break;
case ImportEntityColumnType.secret:
entityData.secret = importData.rows[i][j];
break;
} }
} }
entitiesData.push(entityData); entitiesData.push(entityData);

10
ui-ngx/src/app/modules/home/components/import-export/import-export.models.ts

@ -49,7 +49,11 @@ export enum ImportEntityColumnType {
entityField = 'ENTITY_FIELD', entityField = 'ENTITY_FIELD',
accessToken = 'ACCESS_TOKEN', accessToken = 'ACCESS_TOKEN',
isGateway = 'IS_GATEWAY', isGateway = 'IS_GATEWAY',
description = 'DESCRIPTION' description = 'DESCRIPTION',
edgeLicenseKey = 'EDGE_LICENSE_KEY',
cloudEndpoint = 'CLOUD_ENDPOINT',
routingKey = 'ROUTING_KEY',
secret = 'SECRET'
} }
export const importEntityObjectColumns = export const importEntityObjectColumns =
@ -68,6 +72,10 @@ export const importEntityColumnTypeTranslations = new Map<ImportEntityColumnType
[ImportEntityColumnType.accessToken, 'import.column-type.access-token'], [ImportEntityColumnType.accessToken, 'import.column-type.access-token'],
[ImportEntityColumnType.isGateway, 'import.column-type.isgateway'], [ImportEntityColumnType.isGateway, 'import.column-type.isgateway'],
[ImportEntityColumnType.description, 'import.column-type.description'], [ImportEntityColumnType.description, 'import.column-type.description'],
[ImportEntityColumnType.edgeLicenseKey, 'import.column-type.edgeLicenseKey'],
[ImportEntityColumnType.cloudEndpoint, 'import.column-type.cloudEndpoint'],
[ImportEntityColumnType.routingKey, 'import.column-type.routingKey'],
[ImportEntityColumnType.secret, 'import.column-type.secret']
] ]
); );

8
ui-ngx/src/app/modules/home/components/import-export/table-columns-assignment.component.ts

@ -93,6 +93,14 @@ export class TableColumnsAssignmentComponent implements OnInit, ControlValueAcce
{ value: ImportEntityColumnType.timeseries } { value: ImportEntityColumnType.timeseries }
); );
break; break;
case EntityType.EDGE:
this.columnTypes.push(
{ value: ImportEntityColumnType.edgeLicenseKey },
{ value: ImportEntityColumnType.cloudEndpoint },
{ value: ImportEntityColumnType.routingKey },
{ value: ImportEntityColumnType.secret }
);
break;
} }
} }

2
ui-ngx/src/app/modules/home/dialogs/home-dialogs.service.ts

@ -36,6 +36,8 @@ export class HomeDialogsService {
return this.openImportDialogCSV(entityType, 'device.import', 'device.device-file'); return this.openImportDialogCSV(entityType, 'device.import', 'device.device-file');
case EntityType.ASSET: case EntityType.ASSET:
return this.openImportDialogCSV(entityType, 'asset.import', 'asset.asset-file'); return this.openImportDialogCSV(entityType, 'asset.import', 'asset.asset-file');
case EntityType.EDGE:
return this.openImportDialogCSV(entityType, 'edge.import', 'edge.edge-file');
} }
} }

4
ui-ngx/src/app/shared/models/entity.models.ts

@ -43,6 +43,10 @@ export interface ImportEntityData {
shared: AttributeData[] shared: AttributeData[]
}; };
timeseries: AttributeData[]; timeseries: AttributeData[];
secret: string;
routingKey: string;
cloudEndpoint: string;
edgeLicenseKey: string;
} }
export interface ImportEntitiesResultInfo { export interface ImportEntitiesResultInfo {

Loading…
Cancel
Save