42 lines
953 B
TypeScript
42 lines
953 B
TypeScript
import Database, { getByIndex } from "@/lib/db";
|
|
|
|
export async function isSignin(db: Database) {
|
|
const origin = await getByIndex(db.server, "name", "origin");
|
|
const token = await getByIndex(db.server, "name", "token");
|
|
|
|
<<<<<<< HEAD
|
|
if (!origin || !token) {
|
|
=======
|
|
if (
|
|
origin === undefined ||
|
|
token === undefined
|
|
) {
|
|
>>>>>>> 49ca1fac60aecb94a7d76865c14a673f1ca1eccf
|
|
return false;
|
|
}
|
|
|
|
try {
|
|
const req = await fetch(new URL("/api/me/", origin.value), {
|
|
method: "POST",
|
|
body: JSON.stringify({
|
|
token: token.value,
|
|
}),
|
|
});
|
|
|
|
const res = await req.json();
|
|
|
|
if (!res.success) {
|
|
await db.server.delete(origin.id);
|
|
await db.server.delete(token.id);
|
|
|
|
return false;
|
|
} else {
|
|
return true;
|
|
}
|
|
} catch (err) {
|
|
await db.server.delete(origin.id);
|
|
await db.server.delete(token.id);
|
|
|
|
throw err;
|
|
}
|
|
} |