UNPKG

studiocms

Version:

Astro Native CMS for AstroDB. Built from the ground up by the Astro community.

277 lines (276 loc) 9.63 kB
import { LibSQLClientError } from '@withstudiocms/effect/drizzle'; import * as s from 'drizzle-orm/sqlite-core'; import { Effect } from 'effect'; export { LibSQLClientError } from '@withstudiocms/effect/drizzle'; export declare const Users: s.SQLiteTableWithColumns<{ name: "StudioCMSUsers"; schema: undefined; columns: { id: s.SQLiteColumn<{ name: "id"; tableName: "StudioCMSUsers"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number | undefined; }>; url: s.SQLiteColumn<{ name: "url"; tableName: "StudioCMSUsers"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number | undefined; }>; name: s.SQLiteColumn<{ name: "name"; tableName: "StudioCMSUsers"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number | undefined; }>; email: s.SQLiteColumn<{ name: "email"; tableName: "StudioCMSUsers"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number | undefined; }>; avatar: s.SQLiteColumn<{ name: "avatar"; tableName: "StudioCMSUsers"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number | undefined; }>; username: s.SQLiteColumn<{ name: "username"; tableName: "StudioCMSUsers"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number | undefined; }>; password: s.SQLiteColumn<{ name: "password"; tableName: "StudioCMSUsers"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number | undefined; }>; updatedAt: s.SQLiteColumn<{ name: "updatedAt"; tableName: "StudioCMSUsers"; dataType: "date"; columnType: "SQLiteTimestamp"; data: Date; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; createdAt: s.SQLiteColumn<{ name: "createdAt"; tableName: "StudioCMSUsers"; dataType: "date"; columnType: "SQLiteTimestamp"; data: Date; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; emailVerified: s.SQLiteColumn<{ name: "emailVerified"; tableName: "StudioCMSUsers"; dataType: "boolean"; columnType: "SQLiteBoolean"; data: boolean; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; notifications: s.SQLiteColumn<{ name: "notifications"; tableName: "StudioCMSUsers"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number | undefined; }>; }; dialect: "sqlite"; }>; export declare const Permissions: s.SQLiteTableWithColumns<{ name: "StudioCMSPermissions"; schema: undefined; columns: { user: s.SQLiteColumn<{ name: "user"; tableName: "StudioCMSPermissions"; dataType: "string"; columnType: "SQLiteText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number | undefined; }>; rank: s.SQLiteColumn<{ name: "rank"; tableName: "StudioCMSPermissions"; dataType: "string"; columnType: "SQLiteText"; data: "unknown" | "owner" | "admin" | "editor" | "visitor"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["owner", "admin", "editor", "visitor", "unknown"]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { length: number | undefined; }>; }; dialect: "sqlite"; }>; /** * Creates a Drizzle client for a LibSQL database and provides utility functions for executing queries. * * @param url - The URL of the LibSQL database. * @param authToken - The authentication token for the LibSQL database. * @returns An object containing: * - `execute`: A function to execute a query with error handling, wrapping the result in an Effect. * - `makeQuery`: A higher-order function to create typed query functions that can optionally use a transaction context. * * @example * const { execute, makeQuery } = yield* libSQLDrizzleClient(url, authToken); * const result = yield* execute((db) => db.select(...)); */ export declare const libSQLDrizzleClient: (url: string, authToken: string) => Effect.Effect<{ execute: <T>(fn: (client: import("drizzle-orm/libsql").LibSQLDatabase<Record<string, never>> | import("@astrojs/db/runtime").Database) => Promise<T>) => Effect.Effect<T, LibSQLClientError, never>; makeQuery: <A, E, R, Input = never>(queryFn: (execute: import("@withstudiocms/effect/drizzle").ExecuteFn<Record<string, unknown>>, input: Input) => Effect.Effect<A, E, R>) => (...args: [Input] extends [never] ? [] : [input: Input]) => Effect.Effect<A, E, R>; }, LibSQLClientError, never>;