diff --git a/src/loaders/ApiBasedRepositoryLoader.ts b/src/loaders/ApiBasedRepositoryLoader.ts index 145639a..01e9cec 100644 --- a/src/loaders/ApiBasedRepositoryLoader.ts +++ b/src/loaders/ApiBasedRepositoryLoader.ts @@ -1,10 +1,10 @@ import { GetterSetterRepository } from "../repositories/GetterSetterRepository"; import { IEta, IRoute, IShuttle, IStop, ISystem } from "../entities/entities"; -const systemIdsToSupport = ["263"]; -const baseUrl = "https://passiogo.com/mapGetData.php"; - export class ApiBasedRepositoryLoader { + readonly supportedSystemIds = ["263"]; + readonly baseUrl = "https://passiogo.com/mapGetData.php"; + constructor( public repository: GetterSetterRepository, ) { @@ -15,12 +15,12 @@ export class ApiBasedRepositoryLoader { getSystems: "2", }; const query = new URLSearchParams(params).toString(); - const response = await fetch(`${baseUrl}?${query}`); + const response = await fetch(`${this.baseUrl}?${query}`); const json = await response.json() if (typeof json.all === "object") { // filter down to supported systems - const filteredSystems = json.all.filter((jsonSystem: any) => systemIdsToSupport.includes(jsonSystem.id)); + const filteredSystems = json.all.filter((jsonSystem: any) => this.supportedSystemIds.includes(jsonSystem.id)); await Promise.all(filteredSystems.map(async (system: any) => { const constructedSystem: ISystem = { id: system.id, @@ -47,7 +47,7 @@ export class ApiBasedRepositoryLoader { formData.set("json", JSON.stringify(formDataJsonObject)); const query = new URLSearchParams(params).toString(); - const response = await fetch(`${baseUrl}?${query}`, { + const response = await fetch(`${this.baseUrl}?${query}`, { method: "POST", body: formData, }); @@ -86,7 +86,7 @@ export class ApiBasedRepositoryLoader { formData.set("json", JSON.stringify(formDataJsonObject)); const query = new URLSearchParams(params).toString(); - const response = await fetch(`${baseUrl}?${query}`, { + const response = await fetch(`${this.baseUrl}?${query}`, { method: "POST", body: formData, }); @@ -114,7 +114,7 @@ export class ApiBasedRepositoryLoader { formData.set("json", JSON.stringify(formDataJsonObject)); const query = new URLSearchParams(params).toString(); - const response = await fetch(`${baseUrl}?${query}`, { + const response = await fetch(`${this.baseUrl}?${query}`, { method: "POST", body: formData, }); @@ -154,7 +154,7 @@ export class ApiBasedRepositoryLoader { }; const query = new URLSearchParams(params).toString(); - const response = await fetch(`${baseUrl}?${query}`, { + const response = await fetch(`${this.baseUrl}?${query}`, { method: "GET", }); const json = await response.json();