SurfSense/surfsense_web/zero/queries/folders.ts

13 lines
564 B
TypeScript
Raw Normal View History

import { defineQuery } from "@rocicorp/zero";
import { z } from "zod";
import { zql } from "../schema/index";
import { canReadSpace, constrainToAllowedSpaces, denySpace } from "./authz";
export const folderQueries = {
bySpace: defineQuery(z.object({ searchSpaceId: z.number() }), ({ args: { searchSpaceId }, ctx }) => {
const query = zql.folders.where("searchSpaceId", searchSpaceId);
if (!canReadSpace(ctx, searchSpaceId)) return denySpace(query).orderBy("position", "asc");
return constrainToAllowedSpaces(query, ctx).orderBy("position", "asc");
}),
};