You've already forked obsidian-visualiser
Finished registration + working on own useAuth composable
This commit is contained in:
54
composables/useAuth.ts
Normal file
54
composables/useAuth.ts
Normal file
@@ -0,0 +1,54 @@
|
||||
export enum AuthStatus
|
||||
{
|
||||
disconnected, loading, connected
|
||||
};
|
||||
export interface Auth
|
||||
{
|
||||
id: Ref<number>;
|
||||
data: Ref<Record<string, any>>;
|
||||
token: Ref<string>;
|
||||
session_id: Ref<number>;
|
||||
status: Ref<AuthStatus>;
|
||||
|
||||
lastRefresh: Ref<Date>;
|
||||
|
||||
register: (username: string, email: string, password: string, data?: Record<string, any>) => AuthStatus;
|
||||
login: (usernameOrEmail: string, password: string) => AuthStatus;
|
||||
logout: () => AuthStatus;
|
||||
|
||||
refresh: () => AuthStatus;
|
||||
}
|
||||
|
||||
const id = useState<number>("auth:id", () => 0);
|
||||
const data = useState<any>("auth:data", () => {});
|
||||
const token = useState<string>("auth:token", () => '');
|
||||
const session_id = useState<number>("auth:session_id", () => 0);
|
||||
const status = useState<AuthStatus>("auth:status", () => 0);
|
||||
|
||||
const lastRefresh = useState<Date>("auth:date", () => new Date());
|
||||
|
||||
function register(username: string, email: string, password: string, data?: Record<string, any>): AuthStatus
|
||||
{
|
||||
|
||||
return AuthStatus.disconnected;
|
||||
}
|
||||
function login(usernameOrEmail: string, password: string): AuthStatus
|
||||
{
|
||||
return AuthStatus.disconnected;
|
||||
}
|
||||
function logout(): AuthStatus
|
||||
{
|
||||
return AuthStatus.disconnected;
|
||||
}
|
||||
|
||||
function refresh(): AuthStatus
|
||||
{
|
||||
return AuthStatus.disconnected;
|
||||
}
|
||||
|
||||
export default function useAuth(): Auth {
|
||||
return {
|
||||
id, data, token, session_id, status, lastRefresh,
|
||||
register, login, logout, refresh
|
||||
};
|
||||
}
|
||||
21
composables/useDatabase.ts
Normal file
21
composables/useDatabase.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import { Database } from "bun:sqlite";
|
||||
|
||||
let instance: Database | undefined;
|
||||
|
||||
export default function useDatabase(): Database {
|
||||
if(instance === undefined)
|
||||
instance = getDatabase();
|
||||
|
||||
return instance;
|
||||
}
|
||||
|
||||
function getDatabase(): Database
|
||||
{
|
||||
const { dbFile } = useRuntimeConfig();
|
||||
|
||||
const db = new Database(dbFile);
|
||||
|
||||
db.exec("PRAGMA journal_mode = WAL;");
|
||||
|
||||
return db;
|
||||
}
|
||||
Reference in New Issue
Block a user