aboutsummaryrefslogtreecommitdiff
path: root/web/pw-server/src/lib/utils.ts
diff options
context:
space:
mode:
Diffstat (limited to 'web/pw-server/src/lib/utils.ts')
-rw-r--r--web/pw-server/src/lib/utils.ts35
1 files changed, 35 insertions, 0 deletions
diff --git a/web/pw-server/src/lib/utils.ts b/web/pw-server/src/lib/utils.ts
index aab9734..155d952 100644
--- a/web/pw-server/src/lib/utils.ts
+++ b/web/pw-server/src/lib/utils.ts
@@ -1,3 +1,5 @@
+import { get_session_token } from "./auth";
+
export function debounce(func: Function, timeout: number = 300) {
let timer: ReturnType<typeof setTimeout>;
return (...args: any[]) => {
@@ -7,3 +9,36 @@ export function debounce(func: Function, timeout: number = 300) {
}, timeout);
};
}
+
+export async function get(url: string, fetch_fn: Function = fetch) {
+ const headers = { "Content-Type": "application/json" };
+
+ const token = get_session_token();
+ if (token) {
+ headers["Authorization"] = `Bearer ${token}`;
+ }
+
+ const response = await fetch_fn(url, {
+ method: "GET",
+ headers,
+ });
+
+ return JSON.parse(response);
+}
+
+export async function post(url: string, data: any, fetch_fn: Function = fetch) {
+ const headers = { "Content-Type": "application/json" };
+
+ const token = get_session_token();
+ if (token) {
+ headers["Authorization"] = `Bearer ${token}`;
+ }
+
+ const response = await fetch_fn(url, {
+ method: "POST",
+ headers,
+ body: JSON.stringify(data),
+ });
+
+ return JSON.parse(response);
+}