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

config.dotwebstack.yaml Maven / Gradle / Ivy

The newest version!
settings:
  maxFilterDepth: 1

spatial:
  srid:
    28992:
      dimensions: 2
      scale: 4
      bboxColumnSuffix: _bbox
    7415:
      dimensions: 3
      scale: 4
      bboxColumnSuffix: _bbox
      equivalent: 28992
    9067:
      dimensions: 2
      scale: 9
      columnSuffix: _etrs89
    7931:
      dimensions: 3
      scale: 9
      columnSuffix: _etrs89
      equivalent: 9067

subscriptions:
  beerSubscription:
    type: Beer
  brewerySubscription:
    type: Brewery

queries:
  beer:
    type: Beer
    keys:
      - identifier
  beerCollection:
    type: Beer
    list: true
  brewery:
    type: Brewery
    keys:
      - identifier
  breweryBatch:
    type: Brewery
    keys:
      - identifier
    batch: true
  breweryBatchList:
    type: Brewery
    keys:
      - identifier
    list: true
    batch: true
  breweryCollection:
    type: Brewery
    list: true
  ingredientCollection:
    type: Ingredient
    list: true
    sortableBy:
      name:
        - field: name
          direction: ASC
  breweryAddress:
    type: Brewery
    keys:
      - identifier
      - city: postalAddress.city

objectTypes:
  Beer:
    table: dbeerpedia.beers
    filters:
      name:
        field: name
      taste:
        field: taste
      brewery: {}
      ingredients: {}
      retired: {}
    sortableBy:
      name:
        - field: name
          direction: ASC
      breweryCity:
        - field: brewery.visitAddress.city
          direction: ASC
    fields:
      identifier:
        type: ID
      name:
        type: String
      abv:
        type: Float
      soldPerYear:
        type: Int
      retired:
        nullable: true
        type: Boolean
      brewery:
        type: Brewery
        joinColumns:
          - name: brewery
            referencedColumn: record_id
      ingredient:
        type: Ingredient
        nullable: true
        joinTable:
          name: dbeerpedia.beers_ingredients
          joinColumns:
            - name: beers_identifier
              referencedField: identifier
          inverseJoinColumns:
            - name: ingredients_identifier
              referencedField: identifier
      ingredients:
        type: Ingredient
        list: true
        joinTable:
          name: dbeerpedia.beers_ingredients
          joinColumns:
            - name: beers_identifier
              referencedField: identifier
          inverseJoinColumns:
            - name: ingredients_identifier
              referencedField: identifier
      ingredientAgg:
        aggregationOf: Ingredient
        joinTable:
          name: dbeerpedia.beers_ingredients
          joinColumns:
            - name: beers_identifier
              referencedField: identifier
          inverseJoinColumns:
            - name: ingredients_identifier
              referencedField: identifier
      taste:
        type: String
        list: true
        enum:
          type: dbeerpedia.beer_taste
          values: ["MEATY", "FRUITY", "SMOKY", "SPICY", "WATERY"]

  Brewery:
    table: dbeerpedia.breweries
    sortableBy:
      name:
        - field: name
          direction: ASC
      address:
        - field: postalAddress.street
          direction: ASC
        - field: postalAddress.city
          direction: ASC
      historyAge:
        - field: history.age
          direction: ASC
    filters:
      name:
        field: name
        caseSensitive: false
      status: {}
      geometry:
        field: geometry
      postalAddress: {}
      visitAddress: {}
      history: {}
      beers: {}
      relatedTo: {}
    fields:
      identifier:
        type: String
      name:
        type: String
      status:
        type: String
        enum:
          type: dbeerpedia.brewery_status
          values: [ "active", "inactive"]
      geometry:
        type: Geometry
        nullable: true
      postalAddress:
        type: Address
        joinColumns:
          - name: postal_address
            referencedField: identifier
      visitAddress:
        type: Address
        nullable: true
        joinColumns:
          - name: visit_address
            referencedField: identifier
      beer:
        type: Beer
        nullable: true
        mappedBy: brewery
      beers:
        type: Beer
        list: true
        nullable: true
        mappedBy: brewery
        pageable: true
      beerAgg:
        aggregationOf: Beer
        mappedBy: brewery
      history:
        type: History
        nullable: true
        presenceColumn: his_age
      relatedTo:
        type: Brewery
        list: true
        joinTable:
          name: dbeerpedia.breweries__related_to
          joinColumns:
            - name: brewery_identifier
              referencedField: identifier
          inverseJoinColumns:
            - name: brewery_related_to_identifier
              referencedField: identifier

  Ingredient:
    table: dbeerpedia.ingredients
    filters:
      name: {}
    fields:
      identifier:
        type: ID
      name:
        type: String
      weight:
        type: Float
      partOf:
        type: Beer
        mappedBy: ingredients
        list: true

  Address:
    table: dbeerpedia.addresses
    filters:
      street: {}
      city: {}
    fields:
      identifier:
        type: ID
      street:
        type: String
      city:
        type: String

  History:
    filters:
      age: {}
    fields:
      age:
        type: Int
        column: his_age
      history:
        type: String
        column: his_history





© 2015 - 2025 Weber Informatics LLC | Privacy Policy