import { isEmpty, merge, pick } from 'ramda' import MondialRelais from '../../classes/mondial_relay' import Pudo from '../../classes/pudo' import authorizeHandler from '../../handlers/authorize' import { authorize as headers } from '../../validators/headers' import log from '../../lib/log' import { makeError } from '@oyst/utils/lib/oyst_error' import { replies } from '@oyst/utils' const { error, success } = replies export default { config: { pre: [authorizeHandler], validate: { headers } }, handler: async (req, reply) => { try { let pickUp switch (req.params.type) { case 'pick_up': pickUp = new Pudo() break case 'mondial_relay': pickUp = new MondialRelais() break default: return error(merge(makeError('CLICK-500', 'invalid-type'), { reply })) } const results = await pickUp.searchByPostalCode(req.params.postalCode) success({ pickup_stores: results }, reply) } catch (err) { log({errPickup: err}) error(merge(makeError(err), { reply })) } }, method: 'GET', path: '/v1/pickupstores/{type}/postalcode/{postalCode}' }