diff --git a/src/platforms/Bluesky/Bluesky.ts b/src/platforms/Bluesky/Bluesky.ts index e4aa7dd..1150d06 100644 --- a/src/platforms/Bluesky/Bluesky.ts +++ b/src/platforms/Bluesky/Bluesky.ts @@ -41,10 +41,16 @@ export default class Bluesky extends Platform { await this.auth.setupCli(); return await this.test(); } - if (!payload) { - throw this.user.log.error("Setup via api requires a payload"); + 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.auth.setupApi(payload); + throw this.user.log.error( + `Platform.setup: ui ${operator.ui} not supported`, + ); } /** @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, + }); } /**