UNPKG

@boligmappa/web-component-search

Version:

Web component for interacting with the Boligmappa APIs

96 lines 3.22 kB
import axios from "axios"; export async function getStreets(searchText, pageSize, page, accessToken, apiUrl) { const requestConfig = { headers: { Authorization: `Bearer ${accessToken}`, }, }; return axios .get(`${apiUrl}/search/streets?q=${searchText}&pagesize=${pageSize}&page=${page}`, requestConfig) .then((response) => { const streets = response.data.response; const filteredStreets = streets.filter((street) => street.postalCode !== "0000" && street.postalPlace !== null); return filteredStreets; }) .catch((error) => { if (error.message === "Network Error") { throw new InvalidTokenError(); } }); } export async function getAddresses(pageSize, page, accessToken, apiUrl, streetId) { const requestConfig = { headers: { Authorization: `Bearer ${accessToken}`, }, }; return axios .get(`${apiUrl}/streets/${streetId}/addresses?pagesize=${pageSize}&page=${page}`, requestConfig) .then((response) => { return response.data.response; }) .catch((error) => { if (error.message === "Network Error") { throw new InvalidTokenError(); } }); } export async function getBuildings(pageSize, page, accessToken, apiUrl, addressId) { const requestConfig = { headers: { Authorization: `Bearer ${accessToken}`, }, }; return axios .get(`${apiUrl}/addresses/${addressId}/buildings?pagesize=${pageSize}&page=${page}`, requestConfig) .then((response) => { return response.data.response; }) .catch((error) => { if (error.message === "Network Error") { throw new InvalidTokenError(); } }); } export async function getProperties(cursor, accessToken, apiUrl, addressId) { const requestConfig = { headers: { Authorization: `Bearer ${accessToken}`, }, }; return axios .get(`${apiUrl}/addresses/${addressId}/properties?owners=true${cursor}`, requestConfig) .then((response) => { return response.data; }) .catch((error) => { if (error.message === "Network Error") { throw new InvalidTokenError(); } }); } export async function getProjects(page, pageSize, searchText, apiUrl, accessToken) { const requestConfig = { headers: { Authorization: `Bearer ${accessToken}`, }, }; return axios .get(`${apiUrl}/search/projects?q=${searchText}&pagesize=${pageSize}&page=${page}`, requestConfig) .then((response) => { return response.data.response; }) .catch((error) => { if (error.message === "Network Error") { throw new InvalidTokenError(); } }); } class InvalidTokenError extends Error { constructor() { super("Token has expired."); this.name = "InvalidTokenError"; Object.setPrototypeOf(this, InvalidTokenError.prototype); } } //# sourceMappingURL=searchRequests.js.map