Skip to content

Commit

Permalink
update routing
Browse files Browse the repository at this point in the history
  • Loading branch information
ihsangan committed Oct 15, 2024
1 parent 9e98c01 commit ff98931
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 56 deletions.
82 changes: 28 additions & 54 deletions src/routing.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,26 @@
import { getUrl, Result } from './utils';
import * as router from './router';

type RouteHandler = (id: number | string, zone?: string | number) => Promise<Result>;

const routeMap: Record<string, RouteHandler> = {
'/ag': router.ag,
'/aov': router.aov,
'/cod': router.cod,
'/ff': router.ff,
'/gi': router.gi,
'/hi': router.hi,
'/hsr': router.hsr,
'/la': router.la,
'/ml': router.ml,
'/pb': router.pb,
'/pgr': router.pgr,
'/sm': router.sm,
'/sus': router.sus,
'/valo': router.valo,
'/zzz': router.zzz
};

export default async function callAPI(request: Request): Promise<Result> {
const url = getUrl(request);
const path = url.pathname;
Expand All @@ -13,61 +33,15 @@ export default async function callAPI(request: Request): Promise<Result> {
message: 'Bad request'
};
}
try {
let result: Result;
switch (true) {
case path.includes('/ag'):
result = await router.ag(Number(id));
break;
case path.includes('/aov'):
result = await router.aov(Number(id));
break;
case path.includes('/cod'):
result = await router.cod(Number(id));
break;
case path.includes('/ff'):
result = await router.ff(Number(id));
break;
case path.includes('/gi'):
result = await router.gi(Number(id));
break;
case path.includes('/hi'):
result = await router.hi(Number(id));
break;
case path.includes('/hsr'):
result = await router.hsr(Number(id));
break;
case path.includes('/la'):
result = await router.la(Number(id), zone);
break;
case path.includes('/ml'):
result = await router.ml(Number(id), Number(zone));
break;
case path.includes('/pb'):
result = await router.pb(id);
break;
case path.includes('/pgr'):
result = await router.pgr(Number(id), zone);
break;
case path.includes('/sm'):
result = await router.sm(id);
break;
case path.includes('/sus'):
result = await router.sus(Number(id));
break;
case path.includes('/valo'):
result = await router.valo(id);
break;
case path.includes('/zzz'):
result = await router.zzz(Number(id));
break;
default:
result = {
success: false,
message: 'Bad request'
};
const handler = Object.entries(routeMap).find(route => path.includes(route));
if (!handler) {
return {
success: false,
message: 'Bad request'
}
return result;
}
try {
return await handler(id, zone)
} catch (error) {
return {
success: false,
Expand Down
6 changes: 4 additions & 2 deletions wrangler.toml
100755 → 100644
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
name = "validator"
name = "validev"
main = "./src/index.ts"
workers_dev = true
compatibility_date = "2022-01-01"
compatibility_date = "2022-01-01"
[observability]
enabled = true

0 comments on commit ff98931

Please sign in to comment.