all repos — caroster @ 3e13ed81f9961ed582333d0e9296921db2ed91d9

[Octree] Group carpool to your event https://caroster.io

frontend/pages/api/mapbox/autofill/suggest.ts (view raw)

 1import type {NextApiRequest, NextApiResponse} from 'next';
 2import {AddressAutofillCore, AddressAutofillSuggestion} from '@mapbox/search-js-core';
 3
 4const {MAPBOX_TOKEN} = process.env;
 5
 6export default async function handler(
 7  req: NextApiRequest,
 8  res: NextApiResponse<{
 9    suggestions: Array<AddressAutofillSuggestion>
10  }>
11) {
12  const {locale, search, sessionToken} = req.query;
13
14  if (Array.isArray(locale) || Array.isArray(search) || Array.isArray(sessionToken)) {
15    res.status(422);
16    return
17  }
18  
19  const autofill = new AddressAutofillCore({accessToken: MAPBOX_TOKEN || '', language: locale})
20  const {suggestions} = await autofill.suggest(search, {sessionToken})
21
22  if (suggestions.length === 0) {
23    res.status(404);
24    return;
25  }
26
27  res.send({suggestions})
28  return;
29}