@directus/api
Version:
Directus is a real-time API and App dashboard for managing SQL database content
27 lines (26 loc) • 1.45 kB
TypeScript
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;
}