summaryrefslogtreecommitdiff
path: root/hooks/server.ts
diff options
context:
space:
mode:
Diffstat (limited to 'hooks/server.ts')
-rwxr-xr-xhooks/server.ts61
1 files changed, 1 insertions, 60 deletions
diff --git a/hooks/server.ts b/hooks/server.ts
index 000c391..9a3f716 100755
--- a/hooks/server.ts
+++ b/hooks/server.ts
@@ -1,5 +1,3 @@
-#!/usr/bin/env -S deno run --allow-env --allow-net --allow-run
-
import {
Either,
getRequiredEnv,
@@ -20,61 +18,6 @@ interface IHealthCheckActivity<R> {
healthCheck(req: R): Promise<Response>;
}
-class HealthCheckActivity implements IHealthCheckActivity<Traceable<Request>> {
- public async healthCheck(
- req: Traceable<Request>,
- ) {
- return await req.bimap(Traceable.withClassTrace(this))
- .map(async (r) => {
- const { logger } = r;
- try {
- getRequiredEnv("LAMINAR_HOST");
- await getStdout(r.map(() => ["laminarc", "show-jobs"]));
- const msg = `think im healthy!! (✿˘◡˘) ready to do work~\n`;
- logger.log(msg);
- return new Response(
- msg,
- { status: 200 },
- );
- } catch (error) {
- logger.error(error);
- return new Response(
- "oh no, i need to eat more vegetables (。•́︿•̀。)...\n",
- { status: 500 },
- );
- }
- }).item;
- }
-}
-
-const aPost = (req: Traceable<Request>): IEither<Response, Request> => {
- const { item: request, logger: _logger } = req;
- const logger = _logger.addTracer(() => "[aPost]");
-
- if (request.method !== "POST") {
- const msg = "that's not how you pet me (⋟﹏⋞) try post instead~";
- logger.warn(msg);
- return Either.left(new Response(msg + "\n", { status: 405 }));
- }
- return Either.right(request);
-};
-
-type JsonTransformer<JsonT, R> = (json: Traceable<JsonT>) => Either<string, R>;
-const aJson =
- <BodyT, JsonT = unknown>(jsonTransformer: JsonTransformer<JsonT, BodyT>) =>
- async (r: Traceable<Request>): Promise<Either<string, BodyT>> => {
- const { item: request, logger } = r;
- try {
- return Either.right<string, JsonT>(await request.json())
- .mapRight(r.move)
- .flatMap(jsonTransformer);
- } catch (_e) {
- const err = "seems to be invalid JSON (>//<) can you fix?";
- logger.warn(err);
- return Either.left(err);
- }
- };
-
interface IJobHookActivity<R> {
processHook(req: R): Promise<Response>;
}
@@ -82,9 +25,7 @@ type GetJobRequest = { jobType: string; args: unknown };
class JobHookActivityImpl implements IJobHookActivity<Traceable<Request>> {
constructor(private readonly queuer: IJobQueuer<Traceable<Job>>) {}
- private getJob<JsonT>(
- u: Traceable<JsonT>,
- ): Either<string, Job> {
+ private getJob<JsonT>(u: Traceable<JsonT>): Either<string, Job> {
const { logger: _logger, item } = u;
const logger = _logger.addTracer(() => "[getJob]");
const couldBeJsonJob = isObject(item) && "arguments" in item &&