From b7d301f8feca05286c9629912f141aa1ab8320e8 Mon Sep 17 00:00:00 2001 From: Xevion Date: Tue, 5 Sep 2023 12:29:44 -0500 Subject: [PATCH] getDistance() result usage processing, handle 'error' inner function result Why was this not accounted for originally?? --- src/pages/api/cron.ts | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/pages/api/cron.ts b/src/pages/api/cron.ts index c1add8e..75e035c 100644 --- a/src/pages/api/cron.ts +++ b/src/pages/api/cron.ts @@ -53,9 +53,15 @@ export default async function handler( const key = getKey(matching.name, now); // Check if I am in range of the center - const distanceToCenter = await getDistance(); + const distanceResult = await getDistance(); + if (distanceResult.isErr) { + logger.error(distanceResult.error); + return { status: 'error' }; + } + // TODO: Properly draw from environment MAX_DISTANCE - if (distanceToCenter > 280) + const distance = distanceResult.value; + if (distance > 280) return { status: 'out-of-range', identifier: { name: matching.name, key } @@ -87,9 +93,11 @@ export default async function handler( logger.info('Cron evaluated.', { result }); - res - .status(200) - .json({ status: result.status, identifier: result.identifier }); + if (result.status === 'error') res.status(500).json({ status: 'error' }); + else + res + .status(200) + .json({ status: result.status, identifier: result.identifier }); } catch (e) { logger.error(e); res.status(500).json({ status: 'error' });