From bbf47ed5c8a8f3a2fdcc11c85c14539ea7bddfeb Mon Sep 17 00:00:00 2001 From: Marcel <13757952+marzn@users.noreply.github.com> Date: Sun, 1 Nov 2020 03:03:31 +0100 Subject: [PATCH] Adapt to REST API changes --- .../model/hal/design-model-response.ts | 3 +-- .../design-model-module/model/hal/design-model.ts | 1 - .../model/hal/hal-collection-response.ts | 12 ++++++++++++ .../model/hal/hal-entity-response.ts | 12 ++++++++++++ .../service/concrete-solution.service.ts | 7 +++++-- .../service/design-model.service.ts | 10 ++++++---- 6 files changed, 36 insertions(+), 9 deletions(-) create mode 100644 src/app/design-model-module/model/hal/hal-collection-response.ts create mode 100644 src/app/design-model-module/model/hal/hal-entity-response.ts diff --git a/src/app/design-model-module/model/hal/design-model-response.ts b/src/app/design-model-module/model/hal/design-model-response.ts index 20b6a236..c3cb9059 100644 --- a/src/app/design-model-module/model/hal/design-model-response.ts +++ b/src/app/design-model-module/model/hal/design-model-response.ts @@ -7,8 +7,7 @@ export interface DesignModelResponse { designModels: DesignModel[] }; _links: { - findByUri: HalLink; - patternViews: HalLink; self: HalLink; + [ link: string ]: HalLink; }; } diff --git a/src/app/design-model-module/model/hal/design-model.ts b/src/app/design-model-module/model/hal/design-model.ts index e23dd748..c0ff1028 100644 --- a/src/app/design-model-module/model/hal/design-model.ts +++ b/src/app/design-model-module/model/hal/design-model.ts @@ -1,7 +1,6 @@ import Pattern from '../../../core/model/hal/pattern.model'; import UriEntity from '../../../core/model/hal/uri-entity.model'; import { HalLink } from '../../../core/model/hal/hal-link.interface'; -import { PatternContainer } from '../../../core/model/hal/pattern-container.model'; export class DesignModel extends UriEntity { diff --git a/src/app/design-model-module/model/hal/hal-collection-response.ts b/src/app/design-model-module/model/hal/hal-collection-response.ts new file mode 100644 index 00000000..c21db93f --- /dev/null +++ b/src/app/design-model-module/model/hal/hal-collection-response.ts @@ -0,0 +1,12 @@ +import { HalLink } from '../../../core/model/hal/hal-link.interface'; + + +export interface HalCollectionResponse { + _embedded: { + [ content: string ]: any + }; + _links: { + self: HalLink; + [ link: string ]: HalLink; + }; +} diff --git a/src/app/design-model-module/model/hal/hal-entity-response.ts b/src/app/design-model-module/model/hal/hal-entity-response.ts new file mode 100644 index 00000000..3acc7d5e --- /dev/null +++ b/src/app/design-model-module/model/hal/hal-entity-response.ts @@ -0,0 +1,12 @@ +import { HalLink } from '../../../core/model/hal/hal-link.interface'; + + +export interface HalEntityResponse { + content: { + [ content: string ]: any + }; + _links: { + self: HalLink; + [ link: string ]: HalLink; + }; +} diff --git a/src/app/design-model-module/service/concrete-solution.service.ts b/src/app/design-model-module/service/concrete-solution.service.ts index 7f539580..d96d7bfd 100644 --- a/src/app/design-model-module/service/concrete-solution.service.ts +++ b/src/app/design-model-module/service/concrete-solution.service.ts @@ -15,8 +15,9 @@ import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { globals } from '../../globals'; -import { tap } from 'rxjs/operators'; +import { map, tap } from 'rxjs/operators'; import { FileDTO } from '../model/file-dto'; +import { HalCollectionResponse } from '../model/hal/hal-collection-response'; @Injectable() @@ -28,7 +29,9 @@ export class ConcreteSolutionService { } getConcreteSolutionSet(uuid: string) { - return this.httpClient.get(this.repoEndpoint + '/' + uuid + '/concrete-solutions'); + return this.httpClient.get(this.repoEndpoint + '/' + uuid + '/concrete-solutions').pipe( + map(response => response._embedded.concreteSolutions) + ); } aggregateDesignModel(uuid: string, query: {}) { diff --git a/src/app/design-model-module/service/design-model.service.ts b/src/app/design-model-module/service/design-model.service.ts index a93559c4..f55ed18d 100644 --- a/src/app/design-model-module/service/design-model.service.ts +++ b/src/app/design-model-module/service/design-model.service.ts @@ -34,6 +34,8 @@ import { map, tap } from 'rxjs/operators'; import { GraphDataSavePatternService } from '../../core/service/graph-data/graph-data-save-pattern.service'; import { HalLink } from '../../core/model/hal/hal-link.interface'; import { TextComponent } from '@ustutt/grapheditor-webcomponent/lib/edge'; +import { HalCollectionResponse } from '../model/hal/hal-collection-response'; +import { HalEntityResponse } from '../model/hal/hal-entity-response'; @Injectable() @@ -123,8 +125,8 @@ export class DesignModelService implements GraphDataService, GraphDataSavePatter getEdgeTypes(): Observable { if (!this.edgeTypes.getValue().length) { - this.httpClient.get(this.designModelsEndpoint + '/edge-types').subscribe( - response => this.edgeTypes.next(response) + this.httpClient.get(this.designModelsEndpoint + '/edge-types').subscribe( + response => this.edgeTypes.next(response.content.edgeTypes) ); } @@ -132,10 +134,10 @@ export class DesignModelService implements GraphDataService, GraphDataSavePatter } getEdges(): Observable { - return this.httpClient.get(this.designModelLinks.edges.href) + return this.httpClient.get(this.designModelLinks.edges.href) .pipe( map(edges => { - return edges.map(edge => { + return edges._embedded.edges.map(edge => { edge.texts = [{ value: edge.type, width: 100,