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

config.dotwebstack-context.yaml Maven / Gradle / Ivy

The newest version!
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

contexts:
  history:
    fields:
      validOn:
        type: Date
        default: NOW
      availableOn:
        type: DateTime
        default: NOW
  nfc:
    fields: {}

queries:
  beer:
    type: Beer
    context: history
  beerCollection:
    type: Beer
    list: true
    context: history
  beerNoFieldsCollection:
    type: Beer
    list: true
    context: nfc
  brewery:
    type: Brewery
    keys:
      - identifier
    context: history
  breweryCollection:
    type: Brewery
    list: true
    context: history

objectTypes:
  Beer:
    table: dbeerpedia.beers
    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:
        type: Boolean
      brewery:
        type: Brewery
        joinColumns:
          - name: brewery
            referencedField: record_id
      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: Taste
        list: true
    filters:
      brewery: { }

  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
    fields:
      record_id:
        type: Int
      identifier:
        type: ID
      name:
        type: String
      status:
        type: String
      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
      beers:
        type: Beer
        list: true
        nullable: true
        mappedBy: brewery
      beerAgg:
        aggregationOf: Beer
        mappedBy: brewery
      history:
        type: History
        nullable: true
        presenceColumn: his_age
    filters:
      name: { }
      status: { }
      geometry: { }
      postalAddress: {}
      visitAddress: {}
      history: {}


  Ingredient:
    table: dbeerpedia.ingredients
    fields:
      identifier:
        type: ID
      name:
        type: String
      weight:
        type: Float

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

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

enumerations:
  Taste:
    values: [MEATY, FRUITY, SMOKY, SPICY, WATERY]




© 2015 - 2025 Weber Informatics LLC | Privacy Policy