All Downloads are FREE. Search and download functionalities are using the official Maven repository.

graphql.mongodb-search.graphqls Maven / Gradle / Ivy

scalar Long
scalar JSON

enum SearchOperatorType {
    EQUAL
    NOT_EQUAL
    CONTAIN
    START_WITH
    GREATER_THAN_EQUAL
    GREATER_THAN
    LESS_THAN
    LESS_THAN_EQUAL
    BETWEEN
    EXISTS
    DATE_RANGE
}

enum AggregationAccumulatorOperatorType {
    COUNT
    SUM
    AVERAGE
    MAX
    MIN
}

enum ComparisonOperatorType {
    EQUAL
    NOT_EQUAL
    REGEX_MATCH
}

enum PropertyType {
    INTEGER
    LONG
    FLOAT
    DOUBLE
    NUMBER
    BOOLEAN
    DATE
    TIMESTAMP
    STRING
    OBJECT_ID
    PROPERTY
    CURRENCY
    IMAGE
    ENUM
    USER
    GROUP
    ANY
}

enum GroupByOptionType {
    DAILY
    WEEKLY
    MONTHLY
    YEARLY
    EXISTS
}

enum ChartType {
    HORIZONTAL_BAR
    VERTICAL_BAR
    COUNT
    PIE
    DOUGHNUT
    LINE
    TABLE
}

enum ChartValueType {
    ORIGIN
    PERCENTAGE
}

enum ColorPaletteType {
    BASIC
    VIVID
    PASTEL
}

enum DateRangeType {
    LAST
    NEXT
}

enum DateUnitType {
    DAYS
    WEEKS
    MONTHS
    YEARS
}

input DataInput {
    value: String
    fieldReference: String
    type: PropertyType
}

input SortInput {
    property: String!
    isDescending: Boolean! = false
}

input SearchInput {
    by: String!
    type: PropertyType!
    operator: SearchOperatorType!
    value: [String!]!
}

input PageInput {
    pageNumber: Long!
    pageSize: Long!
    sort: [SortInput]! = []
    searches: [SearchInput]! = []
}

input AggregationInput {
    property: String
    propertyExpression: ConditionInput
    operator: AggregationAccumulatorOperatorType!
    alias: String
}

input ConditionInput {
    if: SearchInput!
    then: DataInput!
}

input GroupByInput {
    key: String!
    option: GroupByOptionType @deprecated(reason: "option is deprecated since v1.0.26, Use options instead.")
    options: GroupByOptionInput
}

input GroupByOptionInput {
    type: GroupByOptionType!
    timezone: Int = 0
}

input GroupAggregationInput {
    by: [GroupByInput]! = []
    aggregations: [AggregationInput!]!
}

input CountAggregationInput {
    alias: String
}

input LimitAggregationInput {
    maxElements: Long!
}

input SortAggregationInput {
    sorts: [SortInput]! = []
}

input UnwindAggregationInput {
    by: String
}

input StatisticInput {
    searches: [SearchInput]! = [],
    aggregates: [JSON]! = []
}

input DreamChartInput {
    title: String!
    description: String
    type: ChartType!
    stacked: Boolean!
    colorPalette: ColorPaletteType!
    valueType: ChartValueType!
    datasetMeta: DreamChartDatasetMetaInput!
}

input DreamChartDatasetMetaInput {
    collection: String!
    statistic: StatisticInput!
}

type DreamChart {
    title: String!
    description: String
    type: ChartType!
    stacked: Boolean!
    colorPalette: ColorPaletteType!
    valueType: ChartValueType!
    xAxis: [String]!
    datasets: [DreamChartDataset]!
}

type DreamChartDataset {
    label: String!
    data: [Float]!
}

type DreamChartMeta {
    title: String!
    description: String
    type: ChartType!
    stacked: Boolean!
    colorPalette: ColorPaletteType!
    valueType: ChartValueType!
    datasetMeta: DreamChartDatasetMeta!
}

type DreamChartDatasetMeta {
    collection: String!
    statistic: Statistic!
}

type Statistic {
    searches: [Search]!,
    aggregates: [JSON]!
}

type Search {
    by: String!
    type: PropertyType!
    operator: SearchOperatorType!
    value: [String!]!
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy