Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | 2x 2x 2x 2x | /** * @fileoverview Places helper functions. * @module Places * @description Helper functions to get and handle places. */ import PlacesNeedingTranslationJSON, { NoloPlacesJSON } from '@global/types/httpClient/queries/places' import { get } from './common' /** * @function searchPlaces Search the places from the server. * @returns Promise of an array of places */ export default async function searchPlaces({ latitude, longitude, q, radius, token, }: { latitude?: number longitude?: number q?: string radius?: number token: string }): Promise<NoloPlacesJSON> { try { const queryParams: { [key: string]: string } = {} if (latitude !== undefined) { queryParams.latitude = latitude.toString() } if (longitude !== undefined) { queryParams.longitude = longitude.toString() } if (radius !== undefined) { queryParams.radius = radius.toString() } if (q !== undefined) { queryParams.q = q } const queryString = new URLSearchParams(queryParams).toString() const endpoint = `search/sites${queryString ? `?${queryString}` : ''}` const response = await get({ endpoint: `/${endpoint}`, authorizationToken: token, }) const responseData = await response.json() if (!response.ok) { throw new Error(responseData.message) } return { json: responseData, status: response.status, message: responseData.message, } } catch (error) { console.log("Error, couldn't get places:", error) throw new Error(error instanceof Error ? error.message : String(error)) } } /** * @function getPlaces Get the places from the server. * @returns Promise of an array of places */ export async function getPlaces({ token, getLatest }: { token: string; getLatest: boolean }): Promise<NoloPlacesJSON> { try { const response = await get({ endpoint: `/sites${getLatest ? '?_sort=createdAt&_order=desc&_end=10' : '?_end=100'}`, authorizationToken: token, }) const responseData = await response.json() console.log('getPlaces response:', responseData) if (!response.ok) { throw new Error(responseData.message) } return { json: responseData, status: response.status, message: responseData.message, } } catch (error) { console.log("Error, couldn't get places:", error) throw new Error(error instanceof Error ? error.message : String(error)) } } /** * @function getPlacesNeedingDescription Get the places that need a description. * @param props The user's token * @param props.token The user's token * @returns Promise of an array of places */ export async function getPlacesNeedingDescription({ token }: { token: string }): Promise<PlacesNeedingTranslationJSON> { try { const response = await get({ endpoint: '/items/video-pending', authorizationToken: token }) if (!response.ok) { throw new Error(response.statusText) } const responseData = await response.json() console.log('getPlacesNeedingDescription response:', responseData) return { json: responseData, status: response.status, message: response.statusText, } } catch (err) { console.error(err) throw new Error(err instanceof Error ? err.message : String(err)) } } |