import type { OrderByInput, WhereInput } from "@/indexing-store/store.js"; import type { UserTable } from "./schema.js"; import type { HasOnlyIdProperty, HasRequiredPropertiesOtherThanId, Prettify, } from "./utils.js"; export type StoreMethod = Prettify>; export type DatabaseModel = { create: ( options: Prettify< { id: table["id"]; } & (HasOnlyIdProperty
extends true ? { data?: never } : HasRequiredPropertiesOtherThanId
extends true ? { data: Prettify> } : { data?: Prettify> }) >, ) => Promise>; createMany: (options: { data: Prettify
[] }) => Promise< Prettify
[] >; update: ( options: Prettify< { id: table["id"]; } & (HasOnlyIdProperty
extends true ? { data?: never } : HasRequiredPropertiesOtherThanId
extends true ? { data: | Prettify, "id">> | ((options: { current: Prettify
; }) => Prettify, "id">>); } : { data?: | Prettify, "id">> | ((options: { current: Prettify
; }) => Prettify, "id">>); }) >, ) => Promise>; updateMany: (options: { where: Prettify>; data: | Prettify, "id">> | ((options: { current: Prettify
; }) => Prettify, "id">>); }) => Promise[]>; upsert: ( options: Prettify< { id: table["id"]; } & (HasOnlyIdProperty
extends true ? { create?: never; update?: never } : HasRequiredPropertiesOtherThanId
extends true ? { create: Prettify>; update: | Prettify, "id">> | ((options: { current: Prettify
; }) => Prettify, "id">>); } : { create?: Prettify>; update?: | Prettify, "id">> | ((options: { current: Prettify
; }) => Prettify, "id">>); }) >, ) => Promise>; findUnique: (options: { id: table["id"] }) => Promise | null>; findMany: (options?: { where?: Prettify>; orderBy?: Prettify>; limit?: number; before?: string; after?: string; }) => Promise<{ items: Prettify
[]; pageInfo: { startCursor: string | null; endCursor: string | null; hasNextPage: boolean; hasPreviousPage: boolean; }; }>; delete: (options: { id: table["id"] }) => Promise; };