44 lines
662 B
TypeScript
44 lines
662 B
TypeScript
export interface View {
|
|
name: string
|
|
tableId: string
|
|
field?: string
|
|
filters: ViewFilter[]
|
|
schema: ViewSchema
|
|
calculation?: ViewCalculation
|
|
}
|
|
|
|
export type ViewSchema = ViewCountOrSumSchema | ViewStatisticsSchema
|
|
|
|
export interface ViewCountOrSumSchema {
|
|
field: string
|
|
value: string
|
|
}
|
|
|
|
/**
|
|
e.g:
|
|
"min": {
|
|
"type": "number"
|
|
},
|
|
"max": {
|
|
"type": "number"
|
|
}
|
|
*/
|
|
export interface ViewStatisticsSchema {
|
|
[key: string]: {
|
|
type: string
|
|
}
|
|
}
|
|
|
|
export interface ViewFilter {
|
|
value: any
|
|
condition: string
|
|
key: string
|
|
conjunction?: string
|
|
}
|
|
|
|
export enum ViewCalculation {
|
|
SUM = "sum",
|
|
COUNT = "count",
|
|
STATISTICS = "stats",
|
|
}
|