UNPKG

@directus/api

Version:

Directus is a real-time API and App dashboard for managing SQL database content

27 lines (26 loc) 1.45 kB
import type { Filter, Permission, Query, SchemaOverview } from '@directus/types'; import type { Knex } from 'knex'; import { DatabaseHelper } from '../types.js'; export type FnHelperOptions = { type: string | undefined; originalCollectionName: string | undefined; relationalCountOptions: { query: Query; cases: Filter[]; permissions: Permission[]; } | undefined; }; export declare abstract class FnHelper extends DatabaseHelper { protected schema: SchemaOverview; constructor(knex: Knex, schema: SchemaOverview); abstract year(table: string, column: string, options?: FnHelperOptions): Knex.Raw; abstract month(table: string, column: string, options?: FnHelperOptions): Knex.Raw; abstract week(table: string, column: string, options?: FnHelperOptions): Knex.Raw; abstract day(table: string, column: string, options?: FnHelperOptions): Knex.Raw; abstract weekday(table: string, column: string, options?: FnHelperOptions): Knex.Raw; abstract hour(table: string, column: string, options?: FnHelperOptions): Knex.Raw; abstract minute(table: string, column: string, options?: FnHelperOptions): Knex.Raw; abstract second(table: string, column: string, options?: FnHelperOptions): Knex.Raw; abstract count(table: string, column: string, options?: FnHelperOptions): Knex.Raw; protected _relationalCount(table: string, column: string, options?: FnHelperOptions): Knex.Raw; }