mirror of
https://github.com/tinyhumansai/openhuman.git
synced 2026-07-28 13:32:23 +00:00
38 lines
977 B
JavaScript
38 lines
977 B
JavaScript
import { json } from "../http.mjs";
|
|
import { behavior } from "../state.mjs";
|
|
|
|
export function handleInvites(ctx) {
|
|
const { method, url, res } = ctx;
|
|
|
|
if (method === "POST" && /^\/invite\/redeem\/?$/.test(url)) {
|
|
json(res, 200, {
|
|
success: true,
|
|
data: { message: "Invite code redeemed successfully" },
|
|
});
|
|
return true;
|
|
}
|
|
if (method === "GET" && /^\/invite\/my-codes\/?(\?.*)?$/.test(url)) {
|
|
const rawCodes = behavior().inviteCodes;
|
|
let codes = [];
|
|
if (typeof rawCodes === "string" && rawCodes.length > 0) {
|
|
try {
|
|
const parsed = JSON.parse(rawCodes);
|
|
if (Array.isArray(parsed)) codes = parsed;
|
|
} catch {
|
|
codes = [];
|
|
}
|
|
}
|
|
json(res, 200, { success: true, data: codes });
|
|
return true;
|
|
}
|
|
if (
|
|
method === "GET" &&
|
|
/^\/invite\/status(?:\/[^/?]+)?\/?(\?.*)?$/.test(url)
|
|
) {
|
|
json(res, 200, { success: true, data: { valid: true } });
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|