import { uuid } from "./stores/uuid" export interface libauthResponse { uuidPresent?: boolean; serverAuthCheck?: boolean; uuidValue?: string; serverAuthCheckResponseCode?: number; } interface uuidCheckRes { uuidValue?: string; uuidPresent?: boolean; } export async function checkAuth(): Promise { let result: libauthResponse = {}; const uuidCheck = await checkUuid(); result.uuidPresent = uuidCheck?.uuidPresent; result.uuidValue = uuidCheck?.uuidValue; const serverCheck = await checkServerAuth(); result.serverAuthCheck = serverCheck.authOk; result.serverAuthCheckResponseCode = serverCheck.status; return result } export async function checkUuid(): Promise { let uuid_value: string = ''; const unsubscribe = uuid.subscribe(value => { uuid_value = value; }); let res: uuidCheckRes = { uuidValue: uuid_value } console.log("uuid-value is: ", uuid_value) if (uuid_value && uuid_value != 'null') { res = { uuidPresent: true, uuidValue: uuid_value, } } else { res = { uuidPresent: false, uuidValue: uuid_value, } }unsubscribe() return res;} export async function checkServerAuth() { let uuid_value: string = ''; uuid.subscribe((value => uuid_value = value)) const url = "https://owlboard.info/api/v2/user/checkAuth" const options = { method: 'GET', headers: { uuid: uuid_value, } }; const res = await fetch(url, options) let ok: boolean; if (res.status !== 401) { ok = true; } else { ok = false; } return { authOk: ok, status: res.status, } }