import {Injectable} from '@angular/core'; import {HttpClient} from '@angular/common/http'; import {AppConfig} from '../shared/app.config'; import {Observable} from 'rxjs'; @Injectable() export class SchemaService { constructor(private httpClient: HttpClient, private appConfig: AppConfig) { } ApiEndpoint() { return this.appConfig.getConfig('apiEndPoint'); } public getSchemaIdFromSchemaUrl(schemaUrl): string { const url = new URL(schemaUrl); const pathSplit = url.pathname.split('/'); return pathSplit[pathSplit.length - 1].replace('.json', ''); } public getSchemaWithUrl(schemaUrl): Observable { const id = this.getSchemaIdFromSchemaUrl(schemaUrl); return this.httpClient.get(`${this.ApiEndpoint()}/api/v1/schema/${id}`); } public getSchemaWithId(schemaId): Observable { return this.httpClient.get(`${this.ApiEndpoint()}/api/v1/schema/${schemaId}`); } }