summaryrefslogtreecommitdiff
path: root/fedishoop/federation.ts
diff options
context:
space:
mode:
authorCSDUMMI <csdummi.misquality@simplelogin.co>2024-10-07 14:25:10 +0200
committerCSDUMMI <csdummi.misquality@simplelogin.co>2024-10-07 14:26:21 +0200
commit506ef8a43c3985067f2b9004fcc601056e172ddd (patch)
tree722fe4b80cfae576be62edba6a3f4b7c01d0be5b /fedishoop/federation.ts
parentebfdee4de375e47e96eb776b4a4e754de8a25ae1 (diff)
Create initial dev environ
Diffstat (limited to 'fedishoop/federation.ts')
-rw-r--r--fedishoop/federation.ts21
1 files changed, 21 insertions, 0 deletions
diff --git a/fedishoop/federation.ts b/fedishoop/federation.ts
new file mode 100644
index 0000000..e703ffd
--- /dev/null
+++ b/fedishoop/federation.ts
@@ -0,0 +1,21 @@
+import { createFederation, Person } from "@fedify/fedify";
+import { getLogger } from "@logtape/logtape";
+import { RedisKvStore, RedisMessageQueue } from "@fedify/redis";
+import { Redis } from "ioredis";
+
+const logger = getLogger("fedishoop");
+
+const federation = createFederation({
+ kv: new RedisKvStore(new Redis(Deno.env.get("REDIS_URL"))),
+ queue: new RedisMessageQueue(() => new Redis(Deno.env.get("REDIS_URL"))),
+});
+
+federation.setActorDispatcher("/users/{identifier}", async (ctx, identifier) => {
+ return new Person({
+ id: ctx.getActorUri(identifier),
+ preferredUsername: identifier,
+ name: identifier,
+ });
+});
+
+export default federation;