import { writable } from "svelte/store"; import slApi from "../api/stufflog"; import stufflogStore from "./stufflog"; function createAuthStore() { const {set, update, subscribe} = writable({checked: false, user: null}) return { subscribe, async check() { const data = await slApi.checkSession(); set({checked: true, user: data.user || null}); return data; }, async login(username, password) { const data = await slApi.login(username, password); set({checked: true, user: data.user}); return data; }, async logout() { const data = await slApi.logout(); stufflogStore.clearAll(); set({checked: true, user: data.user || null}); return data; }, async register(username, password) { const data = await slApi.register(username, password); stufflogStore.clearAll(); set({checked: true, user: data.user}); return data; }, } } const session = createAuthStore(); export default session;