From d30bbe56a73e057f46485c75131346b8137275af Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Tue, 12 Sep 2023 13:08:46 -1000 Subject: [PATCH] nnya --- server/api/@[username]/actor.json/index.ts | 4 ++-- server/api/@[username]/outbox.json/index.ts | 12 ++++++------ server/api/object/[uuid]/index.ts | 4 ++-- utils/response.ts | 12 ++++++++++++ 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/server/api/@[username]/actor.json/index.ts b/server/api/@[username]/actor.json/index.ts index 1a419fce..1582f03a 100644 --- a/server/api/@[username]/actor.json/index.ts +++ b/server/api/@[username]/actor.json/index.ts @@ -1,4 +1,4 @@ -import { errorResponse, jsonResponse } from "@response"; +import { errorResponse, jsonLdResponse } from "@response"; import { MatchedRoute } from "bun"; import { User } from "~database/entities/User"; import { getHost } from "@config"; @@ -19,7 +19,7 @@ export default async ( return errorResponse("User not found", 404); } - return jsonResponse( + return jsonLdResponse( await compact({ "@context": [ "https://www.w3.org/ns/activitystreams", diff --git a/server/api/@[username]/outbox.json/index.ts b/server/api/@[username]/outbox.json/index.ts index 8401db1d..9e45b6e1 100644 --- a/server/api/@[username]/outbox.json/index.ts +++ b/server/api/@[username]/outbox.json/index.ts @@ -1,4 +1,4 @@ -import { errorResponse, jsonResponse } from "@response"; +import { errorResponse, jsonLdResponse } from "@response"; import { MatchedRoute } from "bun"; import { User } from "~database/entities/User"; import { getHost } from "@config"; @@ -57,7 +57,7 @@ export default async ( }))[0]; if (!page) - return jsonResponse( + return jsonLdResponse( await compact({ "@context": [ "https://www.w3.org/ns/activitystreams", @@ -67,9 +67,9 @@ export default async ( type: "OrderedCollection", totalItems: count, first: `${getHost()}/@${user.username}/outbox?page=true`, - last: `${getHost()}/@${ - user.username - }/outbox?min_id=${lastPost.id}&page=true`, + last: `${getHost()}/@${user.username}/outbox?min_id=${ + lastPost.id + }&page=true`, }) ); else { @@ -109,7 +109,7 @@ export default async ( - return jsonResponse( + return jsonLdResponse( await compact({ "@context": [ "https://www.w3.org/ns/activitystreams", diff --git a/server/api/object/[uuid]/index.ts b/server/api/object/[uuid]/index.ts index 30a68e3e..db1a4dec 100644 --- a/server/api/object/[uuid]/index.ts +++ b/server/api/object/[uuid]/index.ts @@ -1,4 +1,4 @@ -import { errorResponse, jsonResponse } from "@response"; +import { errorResponse, jsonLdResponse } from "@response"; import { MatchedRoute } from "bun"; import { RawObject } from "~database/entities/RawObject"; @@ -15,5 +15,5 @@ export default async ( if (!object) return errorResponse("Object not found", 404) - return jsonResponse(object); + return jsonLdResponse(object); }; diff --git a/utils/response.ts b/utils/response.ts index f6148dbd..6ec44486 100644 --- a/utils/response.ts +++ b/utils/response.ts @@ -1,3 +1,6 @@ +import { APObject } from "activitypub-types"; +import { NodeObject } from "jsonld"; + export const jsonResponse = (data: object, status = 200) => { return new Response(JSON.stringify(data), { headers: { @@ -7,6 +10,15 @@ export const jsonResponse = (data: object, status = 200) => { }); } +export const jsonLdResponse = (data: NodeObject | APObject, status = 200) => { + return new Response(JSON.stringify(data), { + headers: { + "Content-Type": "application/activity+json", + }, + status, + }); +}; + export const errorResponse = (error: string, status = 500) => { return jsonResponse({ error: error