all repos — caroster @ 54cb6c4b8a7dd7edbecc198ae921331a52d5aa90

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

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

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