import { db } from '../stores/storage/message' interface Data {} interface ResponseData { code: number; message: string; data: any; url: string; } export function generateSessionId() { var characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; var sessionId = ''; for (var i = 0; i < 32; i++) { sessionId += characters.charAt(Math.floor(Math.random() * characters.length)); } return sessionId; } export function baseUrl(){ return 'https://ansnid.com'; // return ''; } export function getToken(){ const sessionId = localStorage.getItem('AnsnidSessionId') || generateSessionId(); localStorage.setItem('AnsnidSessionId', sessionId) return sessionId; } export function fetchData(data: Data | null, callback: (data: ResponseData) => void, url: string, method ? : string): void { let fetchOptions = { headers: { "Content-Type": "application/json", "Authorization": getToken() } }; if (method && method.toUpperCase() === "POST" && data) { fetchOptions = { ...fetchOptions, method: "POST", body: JSON.stringify(data) }; } else { fetchOptions = { ...fetchOptions, method: "GET" }; } url = baseUrl() + url; fetch(url, fetchOptions).then(response => response.json().then(data => { callback(data); })).catch(error => { console.log(error) throw new Error('Request failed', { cause: error?.error, }) }); }