diff options
Diffstat (limited to 'fedishoop/federation.ts')
-rw-r--r-- | fedishoop/federation.ts | 21 |
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; |