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> {
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 { EdgeService } from "@core/http/edge.service";
import { ruleChainType } from "@shared/models/rule-chain.models";
import { Edge } from '@shared/models/edge.models';
@Injectable({
providedIn: 'root'
@ -888,6 +889,21 @@ export class EntityService {
};
saveEntityObservable = this.assetService.saveAsset(asset, config);
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(
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: [],
shared: []
},
timeseries: []
timeseries: [],
edgeLicenseKey: '',
cloudEndpoint: '',
routingKey: '',
secret: ''
};
const i = row;
for (let j = 0; j < parameterColumns.length; j++) {
@ -244,6 +248,18 @@ export class ImportDialogCsvComponent extends DialogComponent<ImportDialogCsvCom
case ImportEntityColumnType.description:
entityData.description = importData.rows[i][j];
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);

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

@ -49,7 +49,11 @@ export enum ImportEntityColumnType {
entityField = 'ENTITY_FIELD',
accessToken = 'ACCESS_TOKEN',
isGateway = 'IS_GATEWAY',
description = 'DESCRIPTION'
description = 'DESCRIPTION',
edgeLicenseKey = 'EDGE_LICENSE_KEY',
cloudEndpoint = 'CLOUD_ENDPOINT',
routingKey = 'ROUTING_KEY',
secret = 'SECRET'
}
export const importEntityObjectColumns =
@ -68,6 +72,10 @@ export const importEntityColumnTypeTranslations = new Map<ImportEntityColumnType
[ImportEntityColumnType.accessToken, 'import.column-type.access-token'],
[ImportEntityColumnType.isGateway, 'import.column-type.isgateway'],
[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 }
);
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');
case EntityType.ASSET:
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[]
};
timeseries: AttributeData[];
secret: string;
routingKey: string;
cloudEndpoint: string;
edgeLicenseKey: string;
}
export interface ImportEntitiesResultInfo {

Loading…
Cancel
Save