🐛 fixed a bug that results were not returned in case of error

This commit is contained in:
kawamataryo 2023-08-27 09:34:51 +09:00
parent f451e67a04
commit 4e6969a254
7 changed files with 95 additions and 35 deletions

View File

@ -2,12 +2,20 @@ import type { PlasmoMessaging } from "@plasmohq/messaging"
import { BskyClient } from "~lib/bskyClient";
const handler: PlasmoMessaging.MessageHandler = async (req, res) => {
const { session, subjectDid } = req.body
const { session, subjectDid } = req.body
const client = BskyClient.createAgentFromSession(session)
res.send({
result: await client.block(subjectDid)
})
try {
res.send({
result: await client.block(subjectDid)
})
} catch (e) {
res.send({
error: {
message: e.message,
}
})
}
}
export default handler

View File

@ -2,12 +2,20 @@ import type { PlasmoMessaging } from "@plasmohq/messaging"
import { BskyClient } from "~lib/bskyClient";
const handler: PlasmoMessaging.MessageHandler = async (req, res) => {
const { session, subjectDid } = req.body
const { session, subjectDid } = req.body
const client = BskyClient.createAgentFromSession(session)
res.send({
result: await client.follow(subjectDid)
})
try {
res.send({
result: await client.follow(subjectDid)
})
} catch (e) {
res.send({
error: {
message: e.message,
}
})
}
}
export default handler

View File

@ -4,14 +4,22 @@ import { BskyClient } from "../../lib/bskyClient";
const handler: PlasmoMessaging.MessageHandler = async (req, res) => {
const { identifier, password } = req.body
const agent = await BskyClient.createAgent({
identifier,
password,
})
try {
const agent = await BskyClient.createAgent({
identifier,
password,
})
res.send({
session: agent.session,
})
res.send({
session: agent.session,
})
} catch (e) {
res.send({
error: {
message: e.message,
}
})
}
}
export default handler

View File

@ -2,15 +2,23 @@ import type { PlasmoMessaging } from "@plasmohq/messaging"
import { BskyClient } from "~lib/bskyClient";
const handler: PlasmoMessaging.MessageHandler = async (req, res) => {
const { session, term, limit } = req.body
const { session, term, limit } = req.body
const client = BskyClient.createAgentFromSession(session)
res.send({
actors: await client.searchUser({
term,
limit,
try {
res.send({
actors: await client.searchUser({
term,
limit,
})
})
})
} catch (e) {
res.send({
error: {
message: e.message,
}
})
}
}
export default handler

View File

@ -2,12 +2,20 @@ import type { PlasmoMessaging } from "@plasmohq/messaging"
import { BskyClient } from "~lib/bskyClient";
const handler: PlasmoMessaging.MessageHandler = async (req, res) => {
const { session, blockUri } = req.body
const { session, blockUri } = req.body
const client = BskyClient.createAgentFromSession(session)
res.send({
result: await client.unblock(blockUri)
})
try {
res.send({
result: await client.unblock(blockUri)
})
} catch (e) {
res.send({
error: {
message: e.message,
}
})
}
}
export default handler

View File

@ -2,12 +2,20 @@ import type { PlasmoMessaging } from "@plasmohq/messaging"
import { BskyClient } from "~lib/bskyClient";
const handler: PlasmoMessaging.MessageHandler = async (req, res) => {
const { session, followUri } = req.body
const { session, followUri } = req.body
const client = BskyClient.createAgentFromSession(session)
res.send({
result: await client.unfollow(followUri)
})
try {
res.send({
result: await client.unfollow(followUri)
})
} catch (e) {
res.send({
error: {
message: e.message,
}
})
}
}
export default handler

View File

@ -16,13 +16,15 @@ export class BskyServiceWorkerClient {
password,
}: BskyLoginParams): Promise<BskyServiceWorkerClient> {
const client = new BskyServiceWorkerClient();
const { session } = await sendToBackground({
const { session, error } = await sendToBackground({
name: "login",
body: {
identifier,
password,
}
})
if(error) throw new Error(error.message)
client.session = session
return client;
}
@ -34,7 +36,7 @@ export class BskyServiceWorkerClient {
term: string;
limit: number;
}) => {
const { actors } = await sendToBackground({
const { actors, error } = await sendToBackground({
name: "searchUser",
body: {
session: this.session,
@ -42,51 +44,61 @@ export class BskyServiceWorkerClient {
limit,
}
})
if(error) throw new Error(error.message)
return actors;
};
public follow = async (subjectDid: string) => {
const { result } = await sendToBackground({
const { result, error } = await sendToBackground({
name: "follow",
body: {
session: this.session,
subjectDid
}
})
if(error) throw new Error(error.message)
return result;
}
public unfollow = async (followUri: string) => {
const { result } = await sendToBackground({
const { result, error } = await sendToBackground({
name: "unfollow",
body: {
session: this.session,
followUri
}
})
if(error) throw new Error(error.message)
return result;
}
public block = async (subjectDid: string) => {
const { result } = await sendToBackground({
const { result, error } = await sendToBackground({
name: "block",
body: {
session: this.session,
subjectDid
}
})
if(error) throw new Error(error.message)
return result;
}
public unblock = async (blockUri: string) => {
// TODO: unblock is not working. Need to fix it.
const { result } = await sendToBackground({
const { result, error } = await sendToBackground({
name: "unblock",
body: {
session: this.session,
blockUri
}
})
if(error) throw new Error(error.message)
return result;
}
}