atomicbits / scraml

Generate typesafe Java and Scala REST API clients
Other
43 stars 7 forks source link

Some RAML 1.0 types cause compilation errors #152

Open rigolepe opened 6 years ago

rigolepe commented 6 years ago
#%RAML 1.0
---
title: Geoloket2
version: v3
documentation:
  - title: Introductie
    content: !include docs/intro.md
types:
  Bibliotheek:    
    description: Oplijsting van de entiteiten die beschikbaar zijn om een loket met op te bouwen,
    type: object
    properties:
      definities:
        type: object
        properties:
          laagen: Laag[] 
          stijlen: Stijl[]
        additionalProperties: false
      standaarden:
        type: object
        properties:
          laagstijlen: StandaardLaagstijl[]
        additionalProperties: false
    additionalProperties: false

  StandaardLaagstijl:
    type: object
    properties: 
      laagId: string
      stijlId: string
    additionalProperties: false
  Laagdefinitie:
    type: WmsLaag | WfsLaag | NsfsLaag | BlancoLaag
  Stijldefinitie:
    type: Stijl

  Laag:
    description: Een laag in het geoloket
    type: object
    discriminator: type
    properties:
      type: string
      id: string
      titel: string

  WmsLaag:
    type: Laag
    properties:
      urls: string[]
      layers: string
      dekkend: boolean
    additionalProperties: false

  WfsLaag:
    type: Laag
    properties: 
      featureNS: string
      featurePrefix: string
      featureTypes: string
      dekkend: boolean
    additionalProperties: false

  NsfsLaag:
    type: Laag
    properties: 
      url: string
      database: string
      collection: string
    additionalProperties: false

  BlancoLaag:
    type: Laag
  Stijl:
    description: Een stijl zoals die voor vector features gebruikt wordt
    type: object
    properties: 
      id: string
      titel: string
      definitie: string
    additionalProperties: false

  Loket:
    properties: 
      id: string    
      titel: string
      view: View
      laagdefinities: Laag[]
      stijldefinities: Stijl[]
      voorgronden: string[]
      achtergronden: string[]
      additionalProperties: false

  View:
    description: Defineert de kaart die een gebruiker obv een loket kan zien
    properties: 
      center:
        type: number[]
        minItems: 1
        maxItems: 2
      zoom: number
      voorgronden: LoketViewLaag[]
      achtergrond?: string
      additionalProperties: false
  LoketViewLaag:
    type: object
    description: Een gestijlde laag zoals die in de view van een Loket gebruikt wordt
    properties: 
      laagId: string
      styleId?: string
    additionalProperties: false
  IngelogdeGebruiker:
    type: object
    description: Ingelogde gebruiker
    properties: 
      voId: string
      voornaam: string
      naam: string
      organisatie?: string
      viewer: boolean
      admin: boolean
    additionalProperties: false
  Error:
    type: object
    description: Een foutboodschap.
    properties: 
      message: 
        required: true
        type: string

traits:

/rest/whoami: