From 5a39af3f1f96e8cd804a47bac8e8274f79221389 Mon Sep 17 00:00:00 2001 From: Fairpost Date: Tue, 16 Sep 2025 11:03:08 +0200 Subject: [PATCH 1/2] feat: Add bluesky api setup --- src/platforms/Bluesky/Bluesky.ts | 11 ++++++----- src/platforms/Bluesky/BlueskyAuth.ts | 14 +++++++++++--- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/platforms/Bluesky/Bluesky.ts b/src/platforms/Bluesky/Bluesky.ts index e4aa7dd..d4ab259 100644 --- a/src/platforms/Bluesky/Bluesky.ts +++ b/src/platforms/Bluesky/Bluesky.ts @@ -39,12 +39,13 @@ export default class Bluesky extends Platform { async setup(operator: Operator, payload?: object) { if (operator.ui === "cli") { await this.auth.setupCli(); - return await this.test(); - } - if (!payload) { - throw this.user.log.error("Setup via api requires a payload"); + } else { + if (!payload) { + throw this.user.log.error("Bluesky setup requires a payload"); + } + await this.auth.setupApi(payload); } - return await this.auth.setupApi(payload); + return await this.test(); } /** @inheritdoc */ diff --git a/src/platforms/Bluesky/BlueskyAuth.ts b/src/platforms/Bluesky/BlueskyAuth.ts index 8ffdeeb..9b41e44 100644 --- a/src/platforms/Bluesky/BlueskyAuth.ts +++ b/src/platforms/Bluesky/BlueskyAuth.ts @@ -48,9 +48,17 @@ export default class BlueskyAuth { console.log("Credentials stored."); } - // eslint-disable-next-line @typescript-eslint/no-unused-vars - public async setupApi(payload: object) { - throw this.user.log.error("BlueskyAuth:setupApi - not implemented"); + public async setupApi(payload: { identifier?: string; password?: string }) { + if (!payload.identifier) { + throw this.user.log.error("BlueskyAuth:setupApi - identifier missing"); + } + if (!payload.password) { + throw this.user.log.error("BlueskyAuth:setupApi - app password missing"); + } + await this.store({ + identifier: payload.identifier, + password: payload.password, + }); } /** From 08498331a75ef870899eaf6941cce3a01a44e8d3 Mon Sep 17 00:00:00 2001 From: Fairpost Date: Tue, 16 Sep 2025 11:10:41 +0200 Subject: [PATCH 2/2] chore: Support for unknown uis --- src/platforms/Bluesky/Bluesky.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/platforms/Bluesky/Bluesky.ts b/src/platforms/Bluesky/Bluesky.ts index d4ab259..1150d06 100644 --- a/src/platforms/Bluesky/Bluesky.ts +++ b/src/platforms/Bluesky/Bluesky.ts @@ -39,13 +39,18 @@ export default class Bluesky extends Platform { async setup(operator: Operator, payload?: object) { if (operator.ui === "cli") { await this.auth.setupCli(); - } else { + return await this.test(); + } + if (operator.ui === "api") { if (!payload) { throw this.user.log.error("Bluesky setup requires a payload"); } await this.auth.setupApi(payload); + return await this.test(); } - return await this.test(); + throw this.user.log.error( + `Platform.setup: ui ${operator.ui} not supported`, + ); } /** @inheritdoc */