diff --git a/frontend/src/app/interfaces/preset.interface.ts b/frontend/src/app/interfaces/preset.interface.ts new file mode 100644 index 0000000..2a81e2b --- /dev/null +++ b/frontend/src/app/interfaces/preset.interface.ts @@ -0,0 +1,7 @@ +/** Represents the structure of a search preset. */ +export interface Preset { + preset_id: number; + parameter: string; + tag_label: string; + value: number[]; +} diff --git a/frontend/src/app/interfaces/region.interface.ts b/frontend/src/app/interfaces/region.interface.ts new file mode 100644 index 0000000..784f805 --- /dev/null +++ b/frontend/src/app/interfaces/region.interface.ts @@ -0,0 +1,6 @@ +/** Represents the structure of a region. */ +export interface Region { + region_id: number; + name: string; + country: string; +} diff --git a/frontend/src/app/interfaces/result.interface.ts b/frontend/src/app/interfaces/result.interface.ts new file mode 100644 index 0000000..a06649d --- /dev/null +++ b/frontend/src/app/interfaces/result.interface.ts @@ -0,0 +1,7 @@ +/** Represents the structure of one search result. */ +export interface Result { + region_id: string; + region_name: string; + score: number; + scores: any[]; +} diff --git a/frontend/src/app/services/data.service.spec.ts b/frontend/src/app/services/data.service.spec.ts new file mode 100644 index 0000000..a5283fc --- /dev/null +++ b/frontend/src/app/services/data.service.spec.ts @@ -0,0 +1,12 @@ +import { TestBed } from '@angular/core/testing'; + +import { DataService } from './data.service'; + +describe('DataService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: DataService = TestBed.get(DataService); + expect(service).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/services/data.service.ts b/frontend/src/app/services/data.service.ts new file mode 100644 index 0000000..ffe7f71 --- /dev/null +++ b/frontend/src/app/services/data.service.ts @@ -0,0 +1,18 @@ +import {Injectable} from '@angular/core'; +import {HttpClient} from '@angular/common/http'; +import {Preset} from '../interfaces/preset.interface'; + +@Injectable({ + providedIn: 'root' +}) +export class DataService { + + private readonly API_URL = 'https://example.com/api/v1/'; + + constructor(private http: HttpClient) { + } + + public getPresets(): Promise { + return this.http.get(this.API_URL + 'presets').toPromise(); + } +}