@tilde-nlp/ngx-common 4.0.34 → 4.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/esm2022/lib/helpers/sort.helper.mjs +54 -1
  2. package/esm2022/lib/pipes/sort-alphabetically/sort-alphabetically.pipe.mjs +3 -17
  3. package/esm2022/lib/services/alert/alert.service.mjs +5 -3
  4. package/esm2022/lib/services/system/system.service.mjs +5 -8
  5. package/esm2022/lib/terminology/components/terminology-panel/terminology-collection-list/terminology-collection-list.component.mjs +3 -8
  6. package/esm2022/lib/terminology/components/terminology-panel/terminology-panel.component.mjs +3 -3
  7. package/esm2022/lib/terminology/config/models/terminology-config.model.mjs +1 -1
  8. package/esm2022/lib/terminology/config/services/terminology-config/terminology-config.service.mjs +3 -7
  9. package/esm2022/lib/terminology/models/combined-collection.model.mjs +3 -9
  10. package/esm2022/lib/terminology/models/index.mjs +1 -3
  11. package/esm2022/lib/terminology/models/system.model.mjs +1 -1
  12. package/esm2022/lib/terminology/services/index.mjs +2 -3
  13. package/esm2022/lib/terminology/services/system-api-v2/system-api.service.mjs +79 -0
  14. package/esm2022/lib/terminology/services/terminology/terminology.service.mjs +6 -9
  15. package/esm2022/lib/terminology/services/terminology-api/terminology-api.service.mjs +84 -0
  16. package/esm2022/lib/terminology/terminology.module.mjs +12 -41
  17. package/fesm2022/tilde-nlp-ngx-common.mjs +672 -814
  18. package/fesm2022/tilde-nlp-ngx-common.mjs.map +1 -1
  19. package/lib/helpers/sort.helper.d.ts +20 -0
  20. package/lib/pipes/sort-alphabetically/sort-alphabetically.pipe.d.ts +0 -5
  21. package/lib/services/alert/alert.service.d.ts +1 -1
  22. package/lib/services/system/system.service.d.ts +2 -2
  23. package/lib/terminology/config/models/terminology-config.model.d.ts +0 -3
  24. package/lib/terminology/config/services/terminology-config/terminology-config.service.d.ts +1 -1
  25. package/lib/terminology/models/index.d.ts +0 -2
  26. package/lib/terminology/models/system.model.d.ts +0 -8
  27. package/lib/terminology/services/index.d.ts +1 -2
  28. package/lib/terminology/services/system-api-v2/{system-api-v2.service.d.ts → system-api.service.d.ts} +3 -3
  29. package/lib/terminology/services/terminology/terminology.service.d.ts +5 -4
  30. package/lib/terminology/services/{terminology-api-v2/terminology-api-v2.service.d.ts → terminology-api/terminology-api.service.d.ts} +5 -5
  31. package/package.json +1 -1
  32. package/esm2022/lib/terminology/enums/mt-term-collection-v1-status.enum.mjs +0 -7
  33. package/esm2022/lib/terminology/enums/system-metadata-key.enum.mjs +0 -7
  34. package/esm2022/lib/terminology/enums/translation-api-version.model.mjs +0 -6
  35. package/esm2022/lib/terminology/factories/terminology-api.factory.mjs +0 -12
  36. package/esm2022/lib/terminology/factories/terminology-system.factory.mjs +0 -13
  37. package/esm2022/lib/terminology/injection-tokens/terminology-api.token.mjs +0 -2
  38. package/esm2022/lib/terminology/injection-tokens/terminology-system.token.mjs +0 -2
  39. package/esm2022/lib/terminology/models/api-system.model.mjs +0 -2
  40. package/esm2022/lib/terminology/models/mt-term-collection-v1.model.mjs +0 -2
  41. package/esm2022/lib/terminology/models/mt-term-service.model.mjs +0 -2
  42. package/esm2022/lib/terminology/models/system-api-service.model.mjs +0 -2
  43. package/esm2022/lib/terminology/services/system-api-v1/system-api-v1.service.mjs +0 -59
  44. package/esm2022/lib/terminology/services/system-api-v2/system-api-v2.service.mjs +0 -81
  45. package/esm2022/lib/terminology/services/terminology-api-v1/terminology-api-v1.service.mjs +0 -58
  46. package/esm2022/lib/terminology/services/terminology-api-v2/terminology-api-v2.service.mjs +0 -84
  47. package/lib/terminology/enums/mt-term-collection-v1-status.enum.d.ts +0 -5
  48. package/lib/terminology/enums/system-metadata-key.enum.d.ts +0 -5
  49. package/lib/terminology/enums/translation-api-version.model.d.ts +0 -4
  50. package/lib/terminology/factories/terminology-api.factory.d.ts +0 -5
  51. package/lib/terminology/factories/terminology-system.factory.d.ts +0 -5
  52. package/lib/terminology/injection-tokens/terminology-api.token.d.ts +0 -1
  53. package/lib/terminology/injection-tokens/terminology-system.token.d.ts +0 -1
  54. package/lib/terminology/models/api-system.model.d.ts +0 -27
  55. package/lib/terminology/models/mt-term-collection-v1.model.d.ts +0 -12
  56. package/lib/terminology/models/mt-term-service.model.d.ts +0 -8
  57. package/lib/terminology/models/system-api-service.model.d.ts +0 -5
  58. package/lib/terminology/services/system-api-v1/system-api-v1.service.d.ts +0 -15
  59. package/lib/terminology/services/terminology-api-v1/terminology-api-v1.service.d.ts +0 -17
@@ -9,4 +9,24 @@ export declare class SortHelper {
9
9
  * Objects in `objectArr` will be sorted based on the position of their `fieldName` value in `sortByArray`.
10
10
  */
11
11
  static sortByArray(objectArr: any[], sortByArray: any[], fieldName: string): void;
12
+ /**
13
+ * Transforms the input array of objects by sorting them based on the specified sortingValueKey.
14
+ * @param values - An array of objects to be sorted.
15
+ * @param sortingValueKey - The key by which the provided values should be sorted, leave it empty if you want to sort string[].
16
+ */
17
+ static sortAlphabetically(values: any[], sortingValueKey?: string): any;
18
+ /**
19
+ * Sorts an array of values by a specified numeric property or by their numeric value if no property is specified.
20
+ * @param values - The array of values to be sorted. Can be an array of objects or primitive numeric values.
21
+ * @param sortingValueKey - The key of the numeric property in the objects to sort by.
22
+ * @param desc - Flag indicating whether to sort in descending (true) or ascending (false) order.
23
+ */
24
+ static sortByNumber(values: any[], sortingValueKey?: string, desc?: boolean): any[];
25
+ /**
26
+ * This method is intended to be used with sorting methods like Array.sort(). It compares two strings, a and b, against a reference substring input.
27
+ * @param a - The first string to be compared.
28
+ * @param b - The second string to be compared.
29
+ * @param input - The reference substring used to influence the sorting order.
30
+ */
31
+ static sortByStartingLetter(a: string, b: string, input: string): number;
12
32
  }
@@ -1,11 +1,6 @@
1
1
  import { PipeTransform } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class SortAlphabeticallyPipe implements PipeTransform {
4
- /**
5
- * Transforms the input array of objects by sorting them based on the specified sortingValueKey.
6
- * @param values An array of objects to be sorted.
7
- * @param sortingValueKey The key by which the provided values should be sorted, leave it empty if you want to sort string[].
8
- */
9
4
  transform(values: any[], sortingValueKey?: string): any;
10
5
  static ɵfac: i0.ɵɵFactoryDeclaration<SortAlphabeticallyPipe, never>;
11
6
  static ɵpipe: i0.ɵɵPipeDeclaration<SortAlphabeticallyPipe, "sortAlphabetically", false>;
@@ -32,6 +32,6 @@ export declare class AlertService {
32
32
  private emit;
33
33
  private getSupportMessage;
34
34
  private findPostfix;
35
- static ɵfac: i0.ɵɵFactoryDeclaration<AlertService, never>;
35
+ static ɵfac: i0.ɵɵFactoryDeclaration<AlertService, [{ optional: true; }]>;
36
36
  static ɵprov: i0.ɵɵInjectableDeclaration<AlertService>;
37
37
  }
@@ -1,10 +1,10 @@
1
1
  import { Observable } from 'rxjs';
2
- import { ISystemApiService } from '../../terminology/models/system-api-service.model';
3
2
  import { System } from '../../terminology/models/system.model';
3
+ import { SystemApiService } from '../../terminology/services/system-api-v2/system-api.service';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class SystemService {
6
6
  private readonly api;
7
- constructor(api: ISystemApiService);
7
+ constructor(api: SystemApiService);
8
8
  getSystemList(): Observable<System[]>;
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<SystemService, never>;
10
10
  static ɵprov: i0.ɵɵInjectableDeclaration<SystemService>;
@@ -4,7 +4,6 @@
4
4
  export interface TerminologyConfig {
5
5
  appName?: string;
6
6
  isAuth?: boolean;
7
- apiVersion?: number;
8
7
  xApiKey?: string;
9
8
  maxRecentSystemCount?: number;
10
9
  defaultDomains?: string[];
@@ -12,9 +11,7 @@ export interface TerminologyConfig {
12
11
  systemListUrl?: string;
13
12
  defaultVendor?: string;
14
13
  allowedSystemStatuses?: string[];
15
- clientId?: string;
16
14
  appId?: string;
17
- translationServiceUrl?: string;
18
15
  /** Tilde term portal API url */
19
16
  terminologyPortalUrl?: string;
20
17
  /** If user has permissions to create/edit new collection. This should be validated outside of the library */
@@ -3,7 +3,7 @@ import * as i0 from "@angular/core";
3
3
  export declare class TerminologyConfigService {
4
4
  private _termConfig;
5
5
  get termConfig(): TerminologyConfig;
6
- private readonly defaultTranslationServiceUrl;
6
+ private readonly defaultApiUrl;
7
7
  initConfigs(configuration?: TerminologyConfig): void;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<TerminologyConfigService, never>;
9
9
  static ɵprov: i0.ɵɵInjectableDeclaration<TerminologyConfigService>;
@@ -9,10 +9,8 @@ export * from './engine-term-collection-access-scope-update.model';
9
9
  export * from './engine-term-collection-access-update.model';
10
10
  export * from './combined-collection.model';
11
11
  export * from './mt-collection.model';
12
- export * from './mt-term-service.model';
13
12
  export * from './tld-term-collection.model';
14
13
  export * from './tld-term-collection-languages.model';
15
- export * from './mt-term-collection-v1.model';
16
14
  export * from './system.model';
17
15
  export * from './domain.model';
18
16
  export * from './vendor.model';
@@ -1,5 +1,3 @@
1
- import { TranslationApiVersion } from "../enums/translation-api-version.model";
2
- /** Interface for combining api v1 and api v2 system models. Optional fileds are only in one of the apis. */
3
1
  export interface System {
4
2
  sourceLanguage: string;
5
3
  targetLanguage: string;
@@ -8,13 +6,7 @@ export interface System {
8
6
  vendor: string;
9
7
  /** Property created only for frontend, to seperate multi language engines and give unique id for each one of them */
10
8
  languageId: string;
11
- /** System status. This field is only in API v1 and comes from metadata. */
12
- status?: string;
13
9
  /** If system has terminology support. This field is only in API v1 and comes from metadata. */
14
10
  includesTerminology?: boolean;
15
- /** From which api version system is coming. */
16
- translationApiVersion: TranslationApiVersion;
17
- /** System title. This field is only in API v1 and comes from metadata. */
18
- title?: string;
19
11
  detectedLanguage?: string;
20
12
  }
@@ -1,5 +1,4 @@
1
1
  export * from './terminology/terminology.service';
2
2
  export * from './engine-term-api/';
3
3
  export * from './terminology-collection/';
4
- export * from './terminology-api-v1/terminology-api-v1.service';
5
- export * from './terminology-api-v2/terminology-api-v2.service';
4
+ export * from './terminology-api/terminology-api.service';
@@ -3,7 +3,7 @@ import { Observable } from "rxjs";
3
3
  import { TerminologyConfigService } from "../../config/services";
4
4
  import { System } from "../../models/system.model";
5
5
  import * as i0 from "@angular/core";
6
- export declare class SystemApiV2Service {
6
+ export declare class SystemApiService {
7
7
  private readonly http;
8
8
  private readonly config;
9
9
  constructor(http: HttpClient, config: TerminologyConfigService);
@@ -11,6 +11,6 @@ export declare class SystemApiV2Service {
11
11
  private generateSystemsFromLanguages;
12
12
  private generateSystemsFromDomains;
13
13
  private createSystemObject;
14
- static ɵfac: i0.ɵɵFactoryDeclaration<SystemApiV2Service, never>;
15
- static ɵprov: i0.ɵɵInjectableDeclaration<SystemApiV2Service>;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<SystemApiService, never>;
15
+ static ɵprov: i0.ɵɵInjectableDeclaration<SystemApiService>;
16
16
  }
@@ -1,9 +1,10 @@
1
1
  import { Observable } from 'rxjs';
2
- import { CombinedCollection, IMtTermService } from '../../models';
3
- import { TerminologyConfigService } from '../../config/services';
4
- import { TerminologyCollectionService } from '../terminology-collection/terminology-collection.service';
5
2
  import { AlertService } from '../../../services';
3
+ import { TerminologyConfigService } from '../../config/services';
4
+ import { CombinedCollection } from '../../models';
6
5
  import { TerminologyEngine } from '../../models/terminology-engine.model';
6
+ import { TerminologyApiService } from '../terminology-api/terminology-api.service';
7
+ import { TerminologyCollectionService } from '../terminology-collection/terminology-collection.service';
7
8
  import * as i0 from "@angular/core";
8
9
  export declare class TerminologyService {
9
10
  private readonly config;
@@ -20,7 +21,7 @@ export declare class TerminologyService {
20
21
  get canCreateCollections(): boolean | undefined;
21
22
  private readonly LOCAL_STORAGE_KEY;
22
23
  get hasEditPermissions(): boolean | undefined;
23
- constructor(config: TerminologyConfigService, alert: AlertService, termCollectionApi: TerminologyCollectionService, mtApi: IMtTermService);
24
+ constructor(config: TerminologyConfigService, alert: AlertService, termCollectionApi: TerminologyCollectionService, mtApi: TerminologyApiService);
24
25
  getRetranslateSignal(): Observable<boolean>;
25
26
  resetEngines(): void;
26
27
  hasAnyCollections(systemId: string): boolean;
@@ -1,9 +1,9 @@
1
- import { CombinedCollection, IMtTermService } from "../../models";
1
+ import { Observable } from "rxjs";
2
2
  import { TerminologyConfigService } from "../../config/services";
3
+ import { CombinedCollection } from "../../models";
3
4
  import { EngineTermApiService } from "../engine-term-api/engine-term-api.service";
4
- import { Observable } from "rxjs";
5
5
  import * as i0 from "@angular/core";
6
- export declare class TerminologyApiV2Service implements IMtTermService {
6
+ export declare class TerminologyApiService {
7
7
  private readonly config;
8
8
  private readonly engineTermApi;
9
9
  baseUrl: string;
@@ -13,6 +13,6 @@ export declare class TerminologyApiV2Service implements IMtTermService {
13
13
  remove(engineId: string, collection: CombinedCollection): Observable<CombinedCollection>;
14
14
  sync(engineId: string, collection: CombinedCollection): Observable<CombinedCollection>;
15
15
  private convertToCombinedCollection;
16
- static ɵfac: i0.ɵɵFactoryDeclaration<TerminologyApiV2Service, never>;
17
- static ɵprov: i0.ɵɵInjectableDeclaration<TerminologyApiV2Service>;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<TerminologyApiService, never>;
17
+ static ɵprov: i0.ɵɵInjectableDeclaration<TerminologyApiService>;
18
18
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tilde-nlp/ngx-common",
3
- "version": "4.0.34",
3
+ "version": "4.1.2",
4
4
  "peerDependencies": {
5
5
  "@angular/common": " ^16.0.0",
6
6
  "@angular/core": " ^16.0.0",
@@ -1,7 +0,0 @@
1
- export var MtTermCollectionV1Status;
2
- (function (MtTermCollectionV1Status) {
3
- MtTermCollectionV1Status["READY"] = "Ready";
4
- MtTermCollectionV1Status["PROCESSING"] = "Processing";
5
- MtTermCollectionV1Status["ERROR"] = "Error";
6
- })(MtTermCollectionV1Status || (MtTermCollectionV1Status = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXQtdGVybS1jb2xsZWN0aW9uLXYxLXN0YXR1cy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL3Rlcm1pbm9sb2d5L2VudW1zL210LXRlcm0tY29sbGVjdGlvbi12MS1zdGF0dXMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSx3QkFJWDtBQUpELFdBQVksd0JBQXdCO0lBQ2xDLDJDQUFlLENBQUE7SUFDZixxREFBeUIsQ0FBQTtJQUN6QiwyQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFKVyx3QkFBd0IsS0FBeEIsd0JBQXdCLFFBSW5DIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gTXRUZXJtQ29sbGVjdGlvblYxU3RhdHVzIHtcclxuICBSRUFEWSA9IFwiUmVhZHlcIixcclxuICBQUk9DRVNTSU5HID0gXCJQcm9jZXNzaW5nXCIsXHJcbiAgRVJST1IgPSBcIkVycm9yXCJcclxufVxyXG4iXX0=
@@ -1,7 +0,0 @@
1
- export var SystemMetadataKey;
2
- (function (SystemMetadataKey) {
3
- SystemMetadataKey["VENDOR"] = "vendor";
4
- SystemMetadataKey["STATUS"] = "status";
5
- SystemMetadataKey["INCLUDE_TERMINOLOGY_WORKFLOW"] = "include-terminology-workflow";
6
- })(SystemMetadataKey || (SystemMetadataKey = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLW1ldGFkYXRhLWtleS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL3Rlcm1pbm9sb2d5L2VudW1zL3N5c3RlbS1tZXRhZGF0YS1rZXkuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxpQkFJWDtBQUpELFdBQVksaUJBQWlCO0lBQzNCLHNDQUFpQixDQUFBO0lBQ2pCLHNDQUFpQixDQUFBO0lBQ2pCLGtGQUE2RCxDQUFBO0FBQy9ELENBQUMsRUFKVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBSTVCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gU3lzdGVtTWV0YWRhdGFLZXkge1xyXG4gIFZFTkRPUiA9IFwidmVuZG9yXCIsXHJcbiAgU1RBVFVTID0gXCJzdGF0dXNcIixcclxuICBJTkNMVURFX1RFUk1JTk9MT0dZX1dPUktGTE9XID0gXCJpbmNsdWRlLXRlcm1pbm9sb2d5LXdvcmtmbG93XCIsXHJcbn1cclxuIl19
@@ -1,6 +0,0 @@
1
- export var TranslationApiVersion;
2
- (function (TranslationApiVersion) {
3
- TranslationApiVersion[TranslationApiVersion["V1"] = 0] = "V1";
4
- TranslationApiVersion[TranslationApiVersion["V2"] = 1] = "V2";
5
- })(TranslationApiVersion || (TranslationApiVersion = {}));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tYXBpLXZlcnNpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvdGVybWlub2xvZ3kvZW51bXMvdHJhbnNsYXRpb24tYXBpLXZlcnNpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVkscUJBR1g7QUFIRCxXQUFZLHFCQUFxQjtJQUM3Qiw2REFBRSxDQUFBO0lBQ0YsNkRBQUUsQ0FBQTtBQUNOLENBQUMsRUFIVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBR2hDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gVHJhbnNsYXRpb25BcGlWZXJzaW9ue1xyXG4gICAgVjEsXHJcbiAgICBWMlxyXG59Il19
@@ -1,12 +0,0 @@
1
- import { TranslationApiVersion } from "../enums/translation-api-version.model";
2
- import { TerminologyApiV1Service, TerminologyApiV2Service } from "../services";
3
- export function terminologyApiFactory(config, http, engineTermApi) {
4
- const apiVersion = config?.termConfig?.apiVersion;
5
- if (apiVersion === TranslationApiVersion.V2) {
6
- return new TerminologyApiV2Service(config, engineTermApi);
7
- }
8
- else {
9
- return new TerminologyApiV1Service(http, config);
10
- }
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWlub2xvZ3ktYXBpLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvdGVybWlub2xvZ3kvZmFjdG9yaWVzL3Rlcm1pbm9sb2d5LWFwaS5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUcvRSxNQUFNLFVBQVUscUJBQXFCLENBQUMsTUFBZ0MsRUFBRSxJQUFnQixFQUFFLGFBQW1DO0lBQzNILE1BQU0sVUFBVSxHQUFHLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDO0lBRWxELElBQUksVUFBVSxLQUFLLHFCQUFxQixDQUFDLEVBQUUsRUFBRTtRQUMzQyxPQUFPLElBQUksdUJBQXVCLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0tBQzNEO1NBQU07UUFDTCxPQUFPLElBQUksdUJBQXVCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQ2xEO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgVGVybWlub2xvZ3lDb25maWdTZXJ2aWNlIH0gZnJvbSBcIi4uL2NvbmZpZy9zZXJ2aWNlc1wiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvbkFwaVZlcnNpb24gfSBmcm9tIFwiLi4vZW51bXMvdHJhbnNsYXRpb24tYXBpLXZlcnNpb24ubW9kZWxcIjtcclxuaW1wb3J0IHsgVGVybWlub2xvZ3lBcGlWMVNlcnZpY2UsIFRlcm1pbm9sb2d5QXBpVjJTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzXCI7XHJcbmltcG9ydCB7IEVuZ2luZVRlcm1BcGlTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2VuZ2luZS10ZXJtLWFwaS9lbmdpbmUtdGVybS1hcGkuc2VydmljZVwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1pbm9sb2d5QXBpRmFjdG9yeShjb25maWc6IFRlcm1pbm9sb2d5Q29uZmlnU2VydmljZSwgaHR0cDogSHR0cENsaWVudCwgZW5naW5lVGVybUFwaTogRW5naW5lVGVybUFwaVNlcnZpY2UpIHtcclxuICBjb25zdCBhcGlWZXJzaW9uID0gY29uZmlnPy50ZXJtQ29uZmlnPy5hcGlWZXJzaW9uO1xyXG5cclxuICBpZiAoYXBpVmVyc2lvbiA9PT0gVHJhbnNsYXRpb25BcGlWZXJzaW9uLlYyKSB7XHJcbiAgICByZXR1cm4gbmV3IFRlcm1pbm9sb2d5QXBpVjJTZXJ2aWNlKGNvbmZpZywgZW5naW5lVGVybUFwaSk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBuZXcgVGVybWlub2xvZ3lBcGlWMVNlcnZpY2UoaHR0cCwgY29uZmlnKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,13 +0,0 @@
1
- import { TranslationApiVersion } from "../enums/translation-api-version.model";
2
- import { SystemApiV1Service } from "../services/system-api-v1/system-api-v1.service";
3
- import { SystemApiV2Service } from "../services/system-api-v2/system-api-v2.service";
4
- export function terminologySystemFactory(config, http) {
5
- const apiVersion = config?.termConfig?.apiVersion;
6
- if (apiVersion === TranslationApiVersion.V2) {
7
- return new SystemApiV2Service(http, config);
8
- }
9
- else {
10
- return new SystemApiV1Service(http, config);
11
- }
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWlub2xvZ3ktc3lzdGVtLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvdGVybWlub2xvZ3kvZmFjdG9yaWVzL3Rlcm1pbm9sb2d5LXN5c3RlbS5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRXJGLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxNQUFnQyxFQUFFLElBQWdCO0lBQ3pGLE1BQU0sVUFBVSxHQUFHLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDO0lBRWxELElBQUksVUFBVSxLQUFLLHFCQUFxQixDQUFDLEVBQUUsRUFBRTtRQUMzQyxPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQzdDO1NBQU07UUFDTCxPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQzdDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgVGVybWlub2xvZ3lDb25maWdTZXJ2aWNlIH0gZnJvbSBcIi4uL2NvbmZpZy9zZXJ2aWNlc1wiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvbkFwaVZlcnNpb24gfSBmcm9tIFwiLi4vZW51bXMvdHJhbnNsYXRpb24tYXBpLXZlcnNpb24ubW9kZWxcIjtcclxuaW1wb3J0IHsgU3lzdGVtQXBpVjFTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3N5c3RlbS1hcGktdjEvc3lzdGVtLWFwaS12MS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFN5c3RlbUFwaVYyU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9zeXN0ZW0tYXBpLXYyL3N5c3RlbS1hcGktdjIuc2VydmljZVwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1pbm9sb2d5U3lzdGVtRmFjdG9yeShjb25maWc6IFRlcm1pbm9sb2d5Q29uZmlnU2VydmljZSwgaHR0cDogSHR0cENsaWVudCkge1xyXG4gIGNvbnN0IGFwaVZlcnNpb24gPSBjb25maWc/LnRlcm1Db25maWc/LmFwaVZlcnNpb247XHJcblxyXG4gIGlmIChhcGlWZXJzaW9uID09PSBUcmFuc2xhdGlvbkFwaVZlcnNpb24uVjIpIHtcclxuICAgIHJldHVybiBuZXcgU3lzdGVtQXBpVjJTZXJ2aWNlKGh0dHAsIGNvbmZpZyk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBuZXcgU3lzdGVtQXBpVjFTZXJ2aWNlKGh0dHAsIGNvbmZpZyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export const TERMINOLOGY_API_TOKEN = "TERMINOLOGY_API_TOKEN";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWlub2xvZ3ktYXBpLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL3Rlcm1pbm9sb2d5L2luamVjdGlvbi10b2tlbnMvdGVybWlub2xvZ3ktYXBpLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRFUk1JTk9MT0dZX0FQSV9UT0tFTiA9IFwiVEVSTUlOT0xPR1lfQVBJX1RPS0VOXCI7XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export const TERMINOLOGY_SYSTEM_TOKEN = 'TERMINOLOGY_SYSTEM_TOKEN';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWlub2xvZ3ktc3lzdGVtLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL3Rlcm1pbm9sb2d5L2luamVjdGlvbi10b2tlbnMvdGVybWlub2xvZ3ktc3lzdGVtLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRFUk1JTk9MT0dZX1NZU1RFTV9UT0tFTiA9ICdURVJNSU5PTE9HWV9TWVNURU1fVE9LRU4nOyJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXN5c3RlbS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi90ZXJtaW5vbG9neS9tb2RlbHMvYXBpLXN5c3RlbS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW50ZXJmYWNlIElEZXNjcmlwdGlvbiB7XHJcbiAgTGFuZ3VhZ2U/OiBhbnk7XHJcbiAgVGV4dD86IGFueTtcclxufVxyXG5cclxuaW50ZXJmYWNlIElNZXRhZGF0YSB7XHJcbiAgS2V5OiBzdHJpbmc7XHJcbiAgVmFsdWU6IHN0cmluZztcclxufVxyXG5cclxuaW50ZXJmYWNlIElMYW5ndWFnZSB7XHJcbiAgQ29kZT86IHN0cmluZztcclxuICBOYW1lPzogSU5hbWU7XHJcbn1cclxuaW50ZXJmYWNlIElOYW1lIHtcclxuICBMYW5ndWFnZTogc3RyaW5nO1xyXG4gIFRleHQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQXBpU3lzdGVtIHtcclxuICBEZXNjcmlwdGlvbjogSURlc2NyaXB0aW9uO1xyXG4gIERvbWFpbjogc3RyaW5nO1xyXG4gIElEOiBzdHJpbmc7XHJcbiAgTWV0YWRhdGE6IElNZXRhZGF0YVtdO1xyXG4gIFNvdXJjZUxhbmd1YWdlOiBJTGFuZ3VhZ2U7XHJcbiAgVGFyZ2V0TGFuZ3VhZ2U6IElMYW5ndWFnZTtcclxuICBUaXRsZTogSU5hbWU7XHJcbiAgb3JkZXI/OiBudW1iZXI7XHJcbn1cclxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXQtdGVybS1jb2xsZWN0aW9uLXYxLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL3Rlcm1pbm9sb2d5L21vZGVscy9tdC10ZXJtLWNvbGxlY3Rpb24tdjEubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE10VGVybUNvbGxlY3Rpb25WMVN0YXR1cyB9IGZyb20gJy4uL2VudW1zL210LXRlcm0tY29sbGVjdGlvbi12MS1zdGF0dXMuZW51bSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE10VGVybUNvbGxlY3Rpb25WMSB7XHJcbiAgQ29ycHVzSWQ6IHN0cmluZztcclxuICBNZXNzYWdlOiBzdHJpbmc7XHJcbiAgU3RhdHVzOiBNdFRlcm1Db2xsZWN0aW9uVjFTdGF0dXM7XHJcbiAgVGlsZGVUZXJtSWQ/OiBzdHJpbmc7XHJcbiAgVGl0bGU6IHN0cmluZztcclxuICBUeXBlOiBzdHJpbmc7XHJcbiAgQXR0YWNobWVudERhdGVUaW1lOiBzdHJpbmc7XHJcbiAgQ291bnQ6IG51bWJlcjtcclxuICBQcmVwYXJlZERhdGVUaW1lOiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXQtdGVybS1zZXJ2aWNlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL3Rlcm1pbm9sb2d5L21vZGVscy9tdC10ZXJtLXNlcnZpY2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBDb21iaW5lZENvbGxlY3Rpb24gfSBmcm9tIFwiLi9jb21iaW5lZC1jb2xsZWN0aW9uLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElNdFRlcm1TZXJ2aWNlIHtcclxuXHJcbiAgYWRkKGVuZ2luZUlkOiBzdHJpbmcsIGNvbGxlY3Rpb246IENvbWJpbmVkQ29sbGVjdGlvbik6IE9ic2VydmFibGU8Q29tYmluZWRDb2xsZWN0aW9uPjtcclxuICBnZXRMaXN0KGVuZ2luZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENvbWJpbmVkQ29sbGVjdGlvbltdPjtcclxuICByZW1vdmUoZW5naW5lSWQ6IHN0cmluZywgY29sbGVjdGlvbjogQ29tYmluZWRDb2xsZWN0aW9uKTogT2JzZXJ2YWJsZTxDb21iaW5lZENvbGxlY3Rpb24+O1xyXG4gIHN5bmMoZW5naW5lSWQ6IHN0cmluZywgY29sbGVjdGlvbjogQ29tYmluZWRDb2xsZWN0aW9uKTogT2JzZXJ2YWJsZTxDb21iaW5lZENvbGxlY3Rpb24+O1xyXG59XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLWFwaS1zZXJ2aWNlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL3Rlcm1pbm9sb2d5L21vZGVscy9zeXN0ZW0tYXBpLXNlcnZpY2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBTeXN0ZW0gfSBmcm9tIFwiLi9zeXN0ZW0ubW9kZWxcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVN5c3RlbUFwaVNlcnZpY2Uge1xyXG4gICAgZ2V0U3lzdGVtTGlzdCgpOiBPYnNlcnZhYmxlPFN5c3RlbVtdPlxyXG59Il19
@@ -1,59 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { map } from "rxjs";
3
- import { TranslationApiVersion } from "../../enums/translation-api-version.model";
4
- import { SystemMetadataKey } from "../../enums/system-metadata-key.enum";
5
- import { AuthHeadersHelper } from "../../../helpers";
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common/http";
8
- import * as i2 from "../../config/services";
9
- export class SystemApiV1Service {
10
- constructor(http, config) {
11
- this.http = http;
12
- this.config = config;
13
- }
14
- getSystemList() {
15
- const headers = AuthHeadersHelper.getAuthHeaders(this.config.termConfig.clientId);
16
- const params = {
17
- appID: this.config.termConfig.appId,
18
- };
19
- return this.http.get(this.config?.termConfig?.systemListUrl, { headers, params }).pipe(map((response) => {
20
- const systems = [];
21
- response.System.forEach((element) => {
22
- const system = {
23
- sourceLanguage: element.SourceLanguage.Code,
24
- targetLanguage: element.TargetLanguage.Code,
25
- id: element.ID,
26
- // Language ID can stay the same as id, since this api supports only one language direction engines.
27
- languageId: element.ID,
28
- domain: element.Domain,
29
- vendor: this.findMetaDataValue(element, SystemMetadataKey.VENDOR) ?? this.config.termConfig.defaultVendor,
30
- includesTerminology: this.findMetaDataValue(element, SystemMetadataKey.INCLUDE_TERMINOLOGY_WORKFLOW),
31
- status: this.findMetaDataValue(element, SystemMetadataKey.STATUS),
32
- translationApiVersion: TranslationApiVersion.V1,
33
- title: element.Title.Text,
34
- };
35
- if (this.config.termConfig.allowedSystemStatuses && this.config.termConfig.allowedSystemStatuses.indexOf(system.status) !== -1) {
36
- systems.push(system);
37
- }
38
- });
39
- return systems;
40
- }));
41
- }
42
- findMetaDataValue(system, metadataKey) {
43
- for (const metadata of system.Metadata) {
44
- if (metadata.Key === metadataKey) {
45
- return metadata.Value;
46
- }
47
- }
48
- return null;
49
- }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SystemApiV1Service, deps: [{ token: i1.HttpClient }, { token: i2.TerminologyConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
51
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SystemApiV1Service, providedIn: "root" }); }
52
- }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SystemApiV1Service, decorators: [{
54
- type: Injectable,
55
- args: [{
56
- providedIn: "root",
57
- }]
58
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.TerminologyConfigService }]; } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLWFwaS12MS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL3Rlcm1pbm9sb2d5L3NlcnZpY2VzL3N5c3RlbS1hcGktdjEvc3lzdGVtLWFwaS12MS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJM0MsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUVsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQUtyRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQTZCLElBQWdCLEVBQW1CLE1BQWdDO1FBQW5FLFNBQUksR0FBSixJQUFJLENBQVk7UUFBbUIsV0FBTSxHQUFOLE1BQU0sQ0FBMEI7SUFBRyxDQUFDO0lBRXBHLGFBQWE7UUFDWCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBa0IsQ0FBQyxDQUFDO1FBQzVGLE1BQU0sTUFBTSxHQUFHO1lBQ2IsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWU7U0FDOUMsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQTJCLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLGFBQXVCLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3hILEdBQUcsQ0FBQyxDQUFDLFFBQWtDLEVBQUUsRUFBRTtZQUN6QyxNQUFNLE9BQU8sR0FBYSxFQUFFLENBQUM7WUFDN0IsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDbEMsTUFBTSxNQUFNLEdBQVc7b0JBQ3JCLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLElBQWM7b0JBQ3JELGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLElBQWM7b0JBQ3JELEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRTtvQkFDZCxvR0FBb0c7b0JBQ3BHLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBRTtvQkFDdEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO29CQUN0QixNQUFNLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxhQUFhO29CQUN6RyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDLDRCQUE0QixDQUFDO29CQUNwRyxNQUFNLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7b0JBQ2pFLHFCQUFxQixFQUFFLHFCQUFxQixDQUFDLEVBQUU7b0JBQy9DLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUk7aUJBQzFCLENBQUM7Z0JBQ0YsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtvQkFDeEksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDdEI7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8saUJBQWlCLENBQUMsTUFBa0IsRUFBRSxXQUE4QjtRQUMxRSxLQUFLLE1BQU0sUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDdEMsSUFBSSxRQUFRLENBQUMsR0FBRyxLQUFLLFdBQVcsRUFBRTtnQkFDaEMsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDO2FBQ3ZCO1NBQ0Y7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7K0dBMUNVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgSVN5c3RlbUFwaVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3N5c3RlbS1hcGktc2VydmljZS5tb2RlbFwiO1xyXG5pbXBvcnQgeyBUZXJtaW5vbG9neUNvbmZpZ1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3NlcnZpY2VzXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgbWFwIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgU3lzdGVtIH0gZnJvbSBcIi4uLy4uL21vZGVscy9zeXN0ZW0ubW9kZWxcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25BcGlWZXJzaW9uIH0gZnJvbSBcIi4uLy4uL2VudW1zL3RyYW5zbGF0aW9uLWFwaS12ZXJzaW9uLm1vZGVsXCI7XHJcbmltcG9ydCB7IElBcGlTeXN0ZW0gfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2FwaS1zeXN0ZW0ubW9kZWxcIjtcclxuaW1wb3J0IHsgU3lzdGVtTWV0YWRhdGFLZXkgfSBmcm9tIFwiLi4vLi4vZW51bXMvc3lzdGVtLW1ldGFkYXRhLWtleS5lbnVtXCI7XHJcbmltcG9ydCB7IEF1dGhIZWFkZXJzSGVscGVyIH0gZnJvbSBcIi4uLy4uLy4uL2hlbHBlcnNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIFN5c3RlbUFwaVYxU2VydmljZSBpbXBsZW1lbnRzIElTeXN0ZW1BcGlTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBUZXJtaW5vbG9neUNvbmZpZ1NlcnZpY2UpIHt9XHJcblxyXG4gIGdldFN5c3RlbUxpc3QoKTogT2JzZXJ2YWJsZTxTeXN0ZW1bXT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IEF1dGhIZWFkZXJzSGVscGVyLmdldEF1dGhIZWFkZXJzKHRoaXMuY29uZmlnLnRlcm1Db25maWcuY2xpZW50SWQgYXMgc3RyaW5nKTtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHtcclxuICAgICAgYXBwSUQ6IHRoaXMuY29uZmlnLnRlcm1Db25maWcuYXBwSWQgYXMgc3RyaW5nLFxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDx7IFN5c3RlbTogSUFwaVN5c3RlbVtdIH0+KHRoaXMuY29uZmlnPy50ZXJtQ29uZmlnPy5zeXN0ZW1MaXN0VXJsIGFzIHN0cmluZywgeyBoZWFkZXJzLCBwYXJhbXMgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogeyBTeXN0ZW06IElBcGlTeXN0ZW1bXSB9KSA9PiB7XHJcbiAgICAgICAgY29uc3Qgc3lzdGVtczogU3lzdGVtW10gPSBbXTtcclxuICAgICAgICByZXNwb25zZS5TeXN0ZW0uZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgY29uc3Qgc3lzdGVtOiBTeXN0ZW0gPSB7XHJcbiAgICAgICAgICAgIHNvdXJjZUxhbmd1YWdlOiBlbGVtZW50LlNvdXJjZUxhbmd1YWdlLkNvZGUgYXMgc3RyaW5nLFxyXG4gICAgICAgICAgICB0YXJnZXRMYW5ndWFnZTogZWxlbWVudC5UYXJnZXRMYW5ndWFnZS5Db2RlIGFzIHN0cmluZyxcclxuICAgICAgICAgICAgaWQ6IGVsZW1lbnQuSUQsXHJcbiAgICAgICAgICAgIC8vIExhbmd1YWdlIElEIGNhbiBzdGF5IHRoZSBzYW1lIGFzIGlkLCBzaW5jZSB0aGlzIGFwaSBzdXBwb3J0cyBvbmx5IG9uZSBsYW5ndWFnZSBkaXJlY3Rpb24gZW5naW5lcy5cclxuICAgICAgICAgICAgbGFuZ3VhZ2VJZDogZWxlbWVudC5JRCxcclxuICAgICAgICAgICAgZG9tYWluOiBlbGVtZW50LkRvbWFpbixcclxuICAgICAgICAgICAgdmVuZG9yOiB0aGlzLmZpbmRNZXRhRGF0YVZhbHVlKGVsZW1lbnQsIFN5c3RlbU1ldGFkYXRhS2V5LlZFTkRPUikgPz8gdGhpcy5jb25maWcudGVybUNvbmZpZy5kZWZhdWx0VmVuZG9yLFxyXG4gICAgICAgICAgICBpbmNsdWRlc1Rlcm1pbm9sb2d5OiB0aGlzLmZpbmRNZXRhRGF0YVZhbHVlKGVsZW1lbnQsIFN5c3RlbU1ldGFkYXRhS2V5LklOQ0xVREVfVEVSTUlOT0xPR1lfV09SS0ZMT1cpLFxyXG4gICAgICAgICAgICBzdGF0dXM6IHRoaXMuZmluZE1ldGFEYXRhVmFsdWUoZWxlbWVudCwgU3lzdGVtTWV0YWRhdGFLZXkuU1RBVFVTKSxcclxuICAgICAgICAgICAgdHJhbnNsYXRpb25BcGlWZXJzaW9uOiBUcmFuc2xhdGlvbkFwaVZlcnNpb24uVjEsXHJcbiAgICAgICAgICAgIHRpdGxlOiBlbGVtZW50LlRpdGxlLlRleHQsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgaWYgKHRoaXMuY29uZmlnLnRlcm1Db25maWcuYWxsb3dlZFN5c3RlbVN0YXR1c2VzICYmIHRoaXMuY29uZmlnLnRlcm1Db25maWcuYWxsb3dlZFN5c3RlbVN0YXR1c2VzLmluZGV4T2Yoc3lzdGVtLnN0YXR1cyBhcyBzdHJpbmcpICE9PSAtMSkge1xyXG4gICAgICAgICAgICBzeXN0ZW1zLnB1c2goc3lzdGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gc3lzdGVtcztcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmRNZXRhRGF0YVZhbHVlKHN5c3RlbTogSUFwaVN5c3RlbSwgbWV0YWRhdGFLZXk6IFN5c3RlbU1ldGFkYXRhS2V5KTogYW55IHtcclxuICAgIGZvciAoY29uc3QgbWV0YWRhdGEgb2Ygc3lzdGVtLk1ldGFkYXRhKSB7XHJcbiAgICAgIGlmIChtZXRhZGF0YS5LZXkgPT09IG1ldGFkYXRhS2V5KSB7XHJcbiAgICAgICAgcmV0dXJuIG1ldGFkYXRhLlZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbn1cclxuIl19
@@ -1,81 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { map } from "rxjs";
3
- import { AuthHeadersHelper } from "../../../helpers";
4
- import { TranslationApiVersion } from "../../enums/translation-api-version.model";
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common/http";
7
- import * as i2 from "../../config/services";
8
- export class SystemApiV2Service {
9
- constructor(http, config) {
10
- this.http = http;
11
- this.config = config;
12
- }
13
- // Note that this api call is duplicate from Website engine service. Might need some refactoring and using common engine service ?
14
- getSystemList() {
15
- const headers = AuthHeadersHelper.getApiV2AuthHeaders(this.config.termConfig.xApiKey ?? '', this.config.termConfig.appId ?? '');
16
- return this.http.get(this.config.termConfig.systemListUrl, { headers }).pipe(map((engineList) => {
17
- const convertedEngines = [];
18
- engineList.engines.forEach((engine) => {
19
- if (engine.domains && Object.keys(engine.domains).length) {
20
- convertedEngines.push(...this.generateSystemsFromDomains(engine));
21
- }
22
- else {
23
- convertedEngines.push(...this.generateSystemsFromLanguages(engine));
24
- }
25
- });
26
- return convertedEngines;
27
- }));
28
- }
29
- generateSystemsFromLanguages(engine) {
30
- const systems = [];
31
- engine.sourceLanguages.forEach((sourceLanguage) => {
32
- engine.targetLanguages.forEach((targetLanguage) => {
33
- if (sourceLanguage !== targetLanguage) {
34
- systems.push(this.createSystemObject(engine.id, sourceLanguage, targetLanguage, engine.domain, engine.vendor, engine.supportsTermCollections));
35
- }
36
- });
37
- });
38
- return systems;
39
- }
40
- generateSystemsFromDomains(engine) {
41
- const domains = engine.domains;
42
- const systems = [];
43
- for (const domainKey in domains) {
44
- const domain = domains[domainKey];
45
- // Loop through each language property
46
- const languages = domain.languages;
47
- for (const sourceLanguage in languages) {
48
- const targetLanguages = languages[sourceLanguage];
49
- // Loop through each key within the language
50
- targetLanguages.forEach((targetLanguage) => {
51
- if (sourceLanguage !== targetLanguage) {
52
- systems.push(this.createSystemObject(engine.id, sourceLanguage, targetLanguage, domainKey, engine.vendor, engine.supportsTermCollections));
53
- }
54
- });
55
- }
56
- }
57
- return systems;
58
- }
59
- createSystemObject(id, sourceLanguage, targetLanguage, domain, vendor, includesTerminology) {
60
- const systemBase = {
61
- sourceLanguage,
62
- targetLanguage,
63
- domain,
64
- languageId: `${sourceLanguage}-${targetLanguage}-${domain}-${vendor}-${id}`,
65
- translationApiVersion: TranslationApiVersion.V2,
66
- id,
67
- vendor,
68
- includesTerminology
69
- };
70
- return systemBase;
71
- }
72
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SystemApiV2Service, deps: [{ token: i1.HttpClient }, { token: i2.TerminologyConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
73
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SystemApiV2Service, providedIn: "root" }); }
74
- }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SystemApiV2Service, decorators: [{
76
- type: Injectable,
77
- args: [{
78
- providedIn: "root",
79
- }]
80
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.TerminologyConfigService }]; } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLWFwaS12Mi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL3Rlcm1pbm9sb2d5L3NlcnZpY2VzL3N5c3RlbS1hcGktdjIvc3lzdGVtLWFwaS12Mi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7OztBQVFsRixNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQTZCLElBQWdCLEVBQW1CLE1BQWdDO1FBQW5FLFNBQUksR0FBSixJQUFJLENBQVk7UUFBbUIsV0FBTSxHQUFOLE1BQU0sQ0FBMEI7SUFDaEcsQ0FBQztJQUNELGtJQUFrSTtJQUNsSSxhQUFhO1FBQ1gsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7UUFDaEksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBYSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxhQUF1QixFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ2hHLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ2pCLE1BQU0sZ0JBQWdCLEdBQWEsRUFBRSxDQUFDO1lBRXRDLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxF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RSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEF1dGhIZWFkZXJzSGVscGVyIH0gZnJvbSBcIi4uLy4uLy4uL2hlbHBlcnNcIjtcclxuaW1wb3J0IHsgVGVybWlub2xvZ3lDb25maWdTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy9zZXJ2aWNlc1wiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvbkFwaVZlcnNpb24gfSBmcm9tIFwiLi4vLi4vZW51bXMvdHJhbnNsYXRpb24tYXBpLXZlcnNpb24ubW9kZWxcIjtcclxuaW1wb3J0IHsgU3lzdGVtIH0gZnJvbSBcIi4uLy4uL21vZGVscy9zeXN0ZW0ubW9kZWxcIjtcclxuaW1wb3J0IHsgRW5naW5lIH0gZnJvbSBcIi4vbW9kZWxzXCI7XHJcbmltcG9ydCB7IEVuZ2luZUxpc3QgfSBmcm9tIFwiLi9tb2RlbHMvZW5naW5lLWxpc3QubW9kZWxcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIFN5c3RlbUFwaVYyU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogVGVybWlub2xvZ3lDb25maWdTZXJ2aWNlKSB7XHJcbiAgfVxyXG4gIC8vIE5vdGUgdGhhdCB0aGlzIGFwaSBjYWxsIGlzIGR1cGxpY2F0ZSBmcm9tIFdlYnNpdGUgZW5naW5lIHNlcnZpY2UuIE1pZ2h0IG5lZWQgc29tZSByZWZhY3RvcmluZyBhbmQgdXNpbmcgY29tbW9uIGVuZ2luZSBzZXJ2aWNlID9cclxuICBnZXRTeXN0ZW1MaXN0KCk6IE9ic2VydmFibGU8U3lzdGVtW10+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBBdXRoSGVhZGVyc0hlbHBlci5nZXRBcGlWMkF1dGhIZWFkZXJzKHRoaXMuY29uZmlnLnRlcm1Db25maWcueEFwaUtleSA/PyAnJywgdGhpcy5jb25maWcudGVybUNvbmZpZy5hcHBJZCA/PyAnJyk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFbmdpbmVMaXN0Pih0aGlzLmNvbmZpZy50ZXJtQ29uZmlnLnN5c3RlbUxpc3RVcmwgYXMgc3RyaW5nLCB7IGhlYWRlcnMgfSkucGlwZShcclxuICAgICAgbWFwKChlbmdpbmVMaXN0KSA9PiB7XHJcbiAgICAgICAgY29uc3QgY29udmVydGVkRW5naW5lczogU3lzdGVtW10gPSBbXTtcclxuXHJcbiAgICAgICAgZW5naW5lTGlzdC5lbmdpbmVzLmZvckVhY2goKGVuZ2luZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGVuZ2luZS5kb21haW5zICYmIE9iamVjdC5rZXlzKGVuZ2luZS5kb21haW5zKS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgY29udmVydGVkRW5naW5lcy5wdXNoKC4uLnRoaXMuZ2VuZXJhdGVTeXN0ZW1zRnJvbURvbWFpbnMoZW5naW5lKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgY29udmVydGVkRW5naW5lcy5wdXNoKC4uLnRoaXMuZ2VuZXJhdGVTeXN0ZW1zRnJvbUxhbmd1YWdlcyhlbmdpbmUpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIHJldHVybiBjb252ZXJ0ZWRFbmdpbmVzO1xyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZW5lcmF0ZVN5c3RlbXNGcm9tTGFuZ3VhZ2VzKGVuZ2luZTogRW5naW5lKTogU3lzdGVtW10ge1xyXG4gICAgY29uc3Qgc3lzdGVtczogU3lzdGVtW10gPSBbXTtcclxuICAgIGVuZ2luZS5zb3VyY2VMYW5ndWFnZXMuZm9yRWFjaCgoc291cmNlTGFuZ3VhZ2UpID0+IHtcclxuICAgICAgZW5naW5lLnRhcmdldExhbmd1YWdlcy5mb3JFYWNoKCh0YXJnZXRMYW5ndWFnZSkgPT4ge1xyXG4gICAgICAgIGlmIChzb3VyY2VMYW5ndWFnZSAhPT0gdGFyZ2V0TGFuZ3VhZ2UpIHtcclxuICAgICAgICAgIHN5c3RlbXMucHVzaCh0aGlzLmNyZWF0ZVN5c3RlbU9iamVjdChlbmdpbmUuaWQsIHNvdXJjZUxhbmd1YWdlLCB0YXJnZXRMYW5ndWFnZSwgZW5naW5lLmRvbWFpbiwgZW5naW5lLnZlbmRvciwgZW5naW5lLnN1cHBvcnRzVGVybUNvbGxlY3Rpb25zKSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIHN5c3RlbXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdlbmVyYXRlU3lzdGVtc0Zyb21Eb21haW5zKGVuZ2luZTogRW5naW5lKTogU3lzdGVtW10ge1xyXG4gICAgY29uc3QgZG9tYWlucyA9IGVuZ2luZS5kb21haW5zO1xyXG4gICAgY29uc3Qgc3lzdGVtczogU3lzdGVtW10gPSBbXTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGRvbWFpbktleSBpbiBkb21haW5zKSB7XHJcbiAgICAgIGNvbnN0IGRvbWFpbiA9IGRvbWFpbnNbZG9tYWluS2V5XTtcclxuXHJcbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGxhbmd1YWdlIHByb3BlcnR5XHJcbiAgICAgIGNvbnN0IGxhbmd1YWdlcyA9IGRvbWFpbi5sYW5ndWFnZXM7XHJcbiAgICAgIGZvciAoY29uc3Qgc291cmNlTGFuZ3VhZ2UgaW4gbGFuZ3VhZ2VzKSB7XHJcbiAgICAgICAgY29uc3QgdGFyZ2V0TGFuZ3VhZ2VzID0gbGFuZ3VhZ2VzW3NvdXJjZUxhbmd1YWdlXTtcclxuICAgICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBrZXkgd2l0aGluIHRoZSBsYW5ndWFnZVxyXG4gICAgICAgIHRhcmdldExhbmd1YWdlcy5mb3JFYWNoKCh0YXJnZXRMYW5ndWFnZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHNvdXJjZUxhbmd1YWdlICE9PSB0YXJnZXRMYW5ndWFnZSkge1xyXG4gICAgICAgICAgICBzeXN0ZW1zLnB1c2godGhpcy5jcmVhdGVTeXN0ZW1PYmplY3QoZW5naW5lLmlkLCBzb3VyY2VMYW5ndWFnZSwgdGFyZ2V0TGFuZ3VhZ2UsIGRvbWFpbktleSwgZW5naW5lLnZlbmRvciwgZW5naW5lLnN1cHBvcnRzVGVybUNvbGxlY3Rpb25zKSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN5c3RlbXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVN5c3RlbU9iamVjdChpZDogc3RyaW5nLCBzb3VyY2VMYW5ndWFnZTogc3RyaW5nLCB0YXJnZXRMYW5ndWFnZTogc3RyaW5nLCBkb21haW46IHN0cmluZywgdmVuZG9yOiBzdHJpbmcsIGluY2x1ZGVzVGVybWlub2xvZ3k6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IHN5c3RlbUJhc2U6IFN5c3RlbSA9IHtcclxuICAgICAgc291cmNlTGFuZ3VhZ2UsXHJcbiAgICAgIHRhcmdldExhbmd1YWdlLFxyXG4gICAgICBkb21haW4sXHJcbiAgICAgIGxhbmd1YWdlSWQ6IGAke3NvdXJjZUxhbmd1YWdlfS0ke3RhcmdldExhbmd1YWdlfS0ke2RvbWFpbn0tJHt2ZW5kb3J9LSR7aWR9YCxcclxuICAgICAgdHJhbnNsYXRpb25BcGlWZXJzaW9uOiBUcmFuc2xhdGlvbkFwaVZlcnNpb24uVjIsXHJcbiAgICAgIGlkLFxyXG4gICAgICB2ZW5kb3IsXHJcbiAgICAgIGluY2x1ZGVzVGVybWlub2xvZ3lcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIHN5c3RlbUJhc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,58 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { CombinedCollection } from "../../models";
3
- import { map } from "rxjs";
4
- import { AuthHeadersHelper } from "../../../helpers";
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common/http";
7
- import * as i2 from "../../config/services";
8
- export class TerminologyApiV1Service {
9
- constructor(http, config) {
10
- this.http = http;
11
- this.config = config;
12
- }
13
- add(engineId, collection) {
14
- const url = `${this.config.termConfig.translationServiceUrl}AttachTermsFromTildeTerm`;
15
- return this.http.get(url, { params: { systemID: engineId, tildeTermColectionID: collection.termId } }).pipe(map((data) => this.convertToCombinedCollection(data)));
16
- }
17
- getList(engineId) {
18
- const headers = AuthHeadersHelper.getAuthHeaders(this.config.termConfig.clientId);
19
- const url = `${this.config.termConfig.translationServiceUrl}GetDetailedSystemTermCorpora`;
20
- const params = { systemID: engineId };
21
- return this.http.get(url, { headers, params }).pipe(map((data) => {
22
- const mtCollections = [];
23
- data.forEach((collection) => {
24
- mtCollections.push(this.convertToCombinedCollection(collection));
25
- });
26
- return mtCollections;
27
- }));
28
- }
29
- remove(engineId, collection) {
30
- engineId;
31
- collection;
32
- throw new Error("not Implemented");
33
- }
34
- sync(engineId, collection) {
35
- return this.add(engineId, collection);
36
- }
37
- convertToCombinedCollection(collection) {
38
- const convertedMtCollection = {
39
- id: collection.CorpusId,
40
- termId: collection.TildeTermId,
41
- lastUpdated: new Date(collection.AttachmentDateTime),
42
- name: collection.Title,
43
- termCount: collection.Count,
44
- // any because enums should overlap
45
- status: collection.Status,
46
- };
47
- return new CombinedCollection(null, convertedMtCollection);
48
- }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TerminologyApiV1Service, deps: [{ token: i1.HttpClient }, { token: i2.TerminologyConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
50
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TerminologyApiV1Service, providedIn: "root" }); }
51
- }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TerminologyApiV1Service, decorators: [{
53
- type: Injectable,
54
- args: [{
55
- providedIn: "root",
56
- }]
57
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.TerminologyConfigService }]; } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWlub2xvZ3ktYXBpLXYxLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvdGVybWlub2xvZ3kvc2VydmljZXMvdGVybWlub2xvZ3ktYXBpLXYxL3Rlcm1pbm9sb2d5LWFwaS12MS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFvRCxNQUFNLGNBQWMsQ0FBQztBQUNwRyxPQUFPLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBS3JELE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsWUFBNkIsSUFBZ0IsRUFBbUIsTUFBZ0M7UUFBbkUsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFtQixXQUFNLEdBQU4sTUFBTSxDQUEwQjtJQUFHLENBQUM7SUFFcEcsR0FBRyxDQUFDLFFBQWdCLEVBQUUsVUFBOEI7UUFDbEQsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsMEJBQTBCLENBQUM7UUFDdEYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBcUIsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekwsQ0FBQztJQUVELE9BQU8sQ0FBQyxRQUFnQjtRQUN0QixNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBa0IsQ0FBQyxDQUFDO1FBQzVGLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMscUJBQXFCLDhCQUE4QixDQUFDO1FBQzFGLE1BQU0sTUFBTSxHQUFHLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXVCLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDdkUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDWCxNQUFNLGFBQWEsR0FBeUIsRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtnQkFDMUIsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztZQUNuRSxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQWdCLEVBQUUsVUFBOEI7UUFDckQsUUFBUSxDQUFDO1FBQ1QsVUFBVSxDQUFDO1FBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLENBQUMsUUFBZ0IsRUFBRSxVQUE4QjtRQUNuRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTywyQkFBMkIsQ0FBQyxVQUE4QjtRQUNoRSxNQUFNLHFCQUFxQixHQUFpQjtZQUMxQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVE7WUFDdkIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxXQUFXO1lBQzlCLFdBQVcsRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUM7WUFDcEQsSUFBSSxFQUFFLFVBQVUsQ0FBQyxLQUFLO1lBQ3RCLFNBQVMsRUFBRSxVQUFVLENBQUMsS0FBSztZQUMzQixtQ0FBbUM7WUFDbkMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFhO1NBQ2pDLENBQUM7UUFFRixPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLHFCQUFxQixDQUFDLENBQUM7SUFDN0QsQ0FBQzsrR0E3Q1UsdUJBQXVCO21IQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTs7NEZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRlcm1pbm9sb2d5Q29uZmlnU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb25maWcvc2VydmljZXNcIjtcclxuaW1wb3J0IHsgQ29tYmluZWRDb2xsZWN0aW9uLCBJTXRUZXJtU2VydmljZSwgTXRDb2xsZWN0aW9uLCBNdFRlcm1Db2xsZWN0aW9uVjEgfSBmcm9tIFwiLi4vLi4vbW9kZWxzXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG1hcCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEF1dGhIZWFkZXJzSGVscGVyIH0gZnJvbSBcIi4uLy4uLy4uL2hlbHBlcnNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIFRlcm1pbm9sb2d5QXBpVjFTZXJ2aWNlIGltcGxlbWVudHMgSU10VGVybVNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IFRlcm1pbm9sb2d5Q29uZmlnU2VydmljZSkge31cclxuXHJcbiAgYWRkKGVuZ2luZUlkOiBzdHJpbmcsIGNvbGxlY3Rpb246IENvbWJpbmVkQ29sbGVjdGlvbik6IE9ic2VydmFibGU8Q29tYmluZWRDb2xsZWN0aW9uPiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmNvbmZpZy50ZXJtQ29uZmlnLnRyYW5zbGF0aW9uU2VydmljZVVybH1BdHRhY2hUZXJtc0Zyb21UaWxkZVRlcm1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TXRUZXJtQ29sbGVjdGlvblYxPih1cmwsIHsgcGFyYW1zOiB7IHN5c3RlbUlEOiBlbmdpbmVJZCwgdGlsZGVUZXJtQ29sZWN0aW9uSUQ6IGNvbGxlY3Rpb24udGVybUlkIH0gfSkucGlwZShtYXAoKGRhdGEpID0+IHRoaXMuY29udmVydFRvQ29tYmluZWRDb2xsZWN0aW9uKGRhdGEpKSk7XHJcbiAgfVxyXG5cclxuICBnZXRMaXN0KGVuZ2luZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENvbWJpbmVkQ29sbGVjdGlvbltdPiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gQXV0aEhlYWRlcnNIZWxwZXIuZ2V0QXV0aEhlYWRlcnModGhpcy5jb25maWcudGVybUNvbmZpZy5jbGllbnRJZCBhcyBzdHJpbmcpO1xyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5jb25maWcudGVybUNvbmZpZy50cmFuc2xhdGlvblNlcnZpY2VVcmx9R2V0RGV0YWlsZWRTeXN0ZW1UZXJtQ29ycG9yYWA7XHJcbiAgICBjb25zdCBwYXJhbXMgPSB7IHN5c3RlbUlEOiBlbmdpbmVJZCB9O1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TXRUZXJtQ29sbGVjdGlvblYxW10+KHVybCwgeyBoZWFkZXJzLCBwYXJhbXMgfSkucGlwZShcclxuICAgICAgbWFwKChkYXRhKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbXRDb2xsZWN0aW9uczogQ29tYmluZWRDb2xsZWN0aW9uW10gPSBbXTtcclxuICAgICAgICBkYXRhLmZvckVhY2goKGNvbGxlY3Rpb24pID0+IHtcclxuICAgICAgICAgIG10Q29sbGVjdGlvbnMucHVzaCh0aGlzLmNvbnZlcnRUb0NvbWJpbmVkQ29sbGVjdGlvbihjb2xsZWN0aW9uKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIG10Q29sbGVjdGlvbnM7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKGVuZ2luZUlkOiBzdHJpbmcsIGNvbGxlY3Rpb246IENvbWJpbmVkQ29sbGVjdGlvbik6IE9ic2VydmFibGU8Q29tYmluZWRDb2xsZWN0aW9uPiB7XHJcbiAgICBlbmdpbmVJZDtcclxuICAgIGNvbGxlY3Rpb247XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJub3QgSW1wbGVtZW50ZWRcIik7XHJcbiAgfVxyXG5cclxuICBzeW5jKGVuZ2luZUlkOiBzdHJpbmcsIGNvbGxlY3Rpb246IENvbWJpbmVkQ29sbGVjdGlvbik6IE9ic2VydmFibGU8Q29tYmluZWRDb2xsZWN0aW9uPiB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGQoZW5naW5lSWQsIGNvbGxlY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb252ZXJ0VG9Db21iaW5lZENvbGxlY3Rpb24oY29sbGVjdGlvbjogTXRUZXJtQ29sbGVjdGlvblYxKTogQ29tYmluZWRDb2xsZWN0aW9uIHtcclxuICAgIGNvbnN0IGNvbnZlcnRlZE10Q29sbGVjdGlvbjogTXRDb2xsZWN0aW9uID0ge1xyXG4gICAgICBpZDogY29sbGVjdGlvbi5Db3JwdXNJZCxcclxuICAgICAgdGVybUlkOiBjb2xsZWN0aW9uLlRpbGRlVGVybUlkLFxyXG4gICAgICBsYXN0VXBkYXRlZDogbmV3IERhdGUoY29sbGVjdGlvbi5BdHRhY2htZW50RGF0ZVRpbWUpLFxyXG4gICAgICBuYW1lOiBjb2xsZWN0aW9uLlRpdGxlLFxyXG4gICAgICB0ZXJtQ291bnQ6IGNvbGxlY3Rpb24uQ291bnQsXHJcbiAgICAgIC8vIGFueSBiZWNhdXNlIGVudW1zIHNob3VsZCBvdmVybGFwXHJcbiAgICAgIHN0YXR1czogY29sbGVjdGlvbi5TdGF0dXMgYXMgYW55LFxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gbmV3IENvbWJpbmVkQ29sbGVjdGlvbihudWxsLCBjb252ZXJ0ZWRNdENvbGxlY3Rpb24pO1xyXG4gIH1cclxufVxyXG4iXX0=