misc_pterodactyl-panel/resources/scripts/api/admin/locations/searchLocations.ts

26 lines
721 B
TypeScript
Raw Normal View History

import http from '@/api/http';
import { Location, rawDataToLocation } from '@/api/admin/locations/getLocations';
interface Filters {
short?: string;
long?: string;
}
export default (filters?: Filters): Promise<Location[]> => {
const params = {};
if (filters !== undefined) {
Object.keys(filters).forEach(key => {
// @ts-ignore
params['filter[' + key + ']'] = filters[key];
});
}
return new Promise((resolve, reject) => {
http.get('/api/application/locations', { params: { ...params } })
.then(response => resolve(
(response.data.data || []).map(rawDataToLocation)
))
.catch(reject);
});
};