mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-05-03 21:02:40 +02:00
feat(zero): add userTable + queries.user.me() synced query
This commit is contained in:
parent
e9d964514b
commit
05eef5a7db
4 changed files with 26 additions and 0 deletions
|
|
@ -3,6 +3,7 @@ import { chatSessionQueries, commentQueries, messageQueries } from "./chat";
|
|||
import { connectorQueries, documentQueries } from "./documents";
|
||||
import { folderQueries } from "./folders";
|
||||
import { notificationQueries } from "./inbox";
|
||||
import { userQueries } from "./user";
|
||||
|
||||
export const queries = defineQueries({
|
||||
notifications: notificationQueries,
|
||||
|
|
@ -12,4 +13,5 @@ export const queries = defineQueries({
|
|||
messages: messageQueries,
|
||||
comments: commentQueries,
|
||||
chatSession: chatSessionQueries,
|
||||
user: userQueries,
|
||||
});
|
||||
|
|
|
|||
11
surfsense_web/zero/queries/user.ts
Normal file
11
surfsense_web/zero/queries/user.ts
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
import { defineQuery } from "@rocicorp/zero";
|
||||
import { z } from "zod";
|
||||
import { zql } from "../schema/index";
|
||||
|
||||
export const userQueries = {
|
||||
me: defineQuery(z.object({}), ({ ctx }) => {
|
||||
const userId = ctx?.userId;
|
||||
if (!userId) return zql.user.where("id", "__none__").one();
|
||||
return zql.user.where("id", userId).one();
|
||||
}),
|
||||
};
|
||||
|
|
@ -3,6 +3,7 @@ import { chatCommentTable, chatSessionStateTable, newChatMessageTable } from "./
|
|||
import { documentTable, searchSourceConnectorTable } from "./documents";
|
||||
import { folderTable } from "./folders";
|
||||
import { notificationTable } from "./inbox";
|
||||
import { userTable } from "./user";
|
||||
|
||||
const chatCommentRelationships = relationships(chatCommentTable, ({ one }) => ({
|
||||
message: one({
|
||||
|
|
@ -34,6 +35,7 @@ export const schema = createSchema({
|
|||
newChatMessageTable,
|
||||
chatCommentTable,
|
||||
chatSessionStateTable,
|
||||
userTable,
|
||||
],
|
||||
relationships: [chatCommentRelationships, newChatMessageRelationships],
|
||||
});
|
||||
|
|
|
|||
11
surfsense_web/zero/schema/user.ts
Normal file
11
surfsense_web/zero/schema/user.ts
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
import { number, string, table } from "@rocicorp/zero";
|
||||
|
||||
export const userTable = table("user")
|
||||
.columns({
|
||||
id: string(),
|
||||
pagesLimit: number().from("pages_limit"),
|
||||
pagesUsed: number().from("pages_used"),
|
||||
premiumTokensLimit: number().from("premium_tokens_limit"),
|
||||
premiumTokensUsed: number().from("premium_tokens_used"),
|
||||
})
|
||||
.primaryKey("id");
|
||||
Loading…
Add table
Add a link
Reference in a new issue