From 76bf7ebf53a74c92f768b2348d36a747f1c3c55e Mon Sep 17 00:00:00 2001 From: Rizky Date: Sat, 21 Oct 2023 00:13:22 +0700 Subject: [PATCH] fix --- app/srv/ws/sync/user.ts | 29 +++++++++++++++++------------ app/web/src/base/page/all.tsx | 2 ++ undefined/lmdb/user-conf.lmdb | Bin 180224 -> 49152 bytes undefined/lmdb/user-conf.lmdb-lock | Bin 8200 -> 8200 bytes 4 files changed, 19 insertions(+), 12 deletions(-) diff --git a/app/srv/ws/sync/user.ts b/app/srv/ws/sync/user.ts index 4472f7dc..53cd616e 100644 --- a/app/srv/ws/sync/user.ts +++ b/app/srv/ws/sync/user.ts @@ -1,5 +1,5 @@ import { dir } from "dir"; -import { open } from "lmdb"; +import { RootDatabase, open } from "lmdb"; import { g } from "utils/global"; const defaultConf = { @@ -8,33 +8,38 @@ const defaultConf = { }; export type UserConf = typeof defaultConf; -const db = open({ - name: "user-conf", - path: dir.path(`${g.datadir}/lmdb/user-conf.lmdb`), -}); - export const user = { conf: { + _db: null as null | RootDatabase, + get db() { + if (!this._db) { + this._db = open({ + name: "user-conf", + path: dir.path(`${g.datadir}/lmdb/user-conf.lmdb`), + }); + } + return this._db; + }, getOrCreate(user_id: string) { - let res = db.get(user_id); + let res = this.db.get(user_id); if (!res) { - db.put(user_id, structuredClone(defaultConf)); - res = db.get(user_id); + this.db.put(user_id, structuredClone(defaultConf)); + res = this.db.get(user_id); } return res as UserConf; }, get(user_id: string) { - return db.get(user_id); + return this.db.get(user_id); }, set(user_id: string, key: T, value: UserConf[T]) { let current = this.get(user_id); if (!current) { - db.put(user_id, structuredClone(defaultConf)); + this.db.put(user_id, structuredClone(defaultConf)); current = this.get(user_id); } if (current) { - db.put(user_id, { ...current, [key]: value }); + this.db.put(user_id, { ...current, [key]: value }); } }, }, diff --git a/app/web/src/base/page/all.tsx b/app/web/src/base/page/all.tsx index 1c838799..33844b5e 100644 --- a/app/web/src/base/page/all.tsx +++ b/app/web/src/base/page/all.tsx @@ -19,6 +19,8 @@ export default page({ } else if (arr.length === 3) { navigate(location.pathname + "/"); } + } else { + navigate("/editor/_/_"); } } else { navigate("/login"); diff --git a/undefined/lmdb/user-conf.lmdb b/undefined/lmdb/user-conf.lmdb index 1c020573ef56ef5653e7e7704dd8ab68cc859c4f..cba48a1e5dfa6a0b4b97f4c929273956a0e34d29 100644 GIT binary patch delta 167 zcmZo@;BIJOo}k6U!~g~k3=A9&6E`Yx{D*>x8#Op#Y{rcnE9EC1P?#9N&WfRMa)N>Z vC)5-M#*H)6pHJ?Sws%9JWy*`Zcx9v5 zs1)*QtgN!d&rl_&TwsgpjL=^4Hd&L+2V+&%>$POGib6jyxlIYSJeOj}vjR+MY-18w zX2`kSb_4Qu-5Abpy0`7iZZx~%ot0fyEw4^|-?eb)5Enb79bsx(KDL7}481T497>i| zlgFM(BMTFc))Q3hV&C_pTGEBPR>TSS3E5Yprbo`9K6_#P)X=6kw~{?A>7T}#jX1Ai?;UPD8G1D=3? MSRL3o!0*cU2OJB{_5c6? diff --git a/undefined/lmdb/user-conf.lmdb-lock b/undefined/lmdb/user-conf.lmdb-lock index e0fb4523f479d1f0915b80be69d76149c34d3ec3..def258c5707e9928c62e2bf4420daccdb119bb7e 100644 GIT binary patch delta 35 icmeBh=x`9fci{a#rUjiEj0_0C#=x|3VY>Xp4P5}l-3jsl delta 57 wcmeBh=x`9fci{a#rUjiEk_-^Q2&9-9OeQK8ivEWJi9V>@WcBBa8x^zV0WsneYXATM