type ValueTransformation {
  method: String!
  arguments: JSONObject
}

type InputTimeSeriesMapping {
  shopObjectType: String!
  shopObjectName: String!
  shopAttributeName: String!
  cdfTimeSeries: TimeSeries
  transformations: [ValueTransformation]
  aggregation: String
}

type OutputMapping{
  shopObjectType: String!
  shopAttributeName: String!
  cdfAttributeName: String!
  unit: String
  isStep: Boolean
}

type CommandsConfig {
  commands: [String!]!
}

type Scenario {
  name: String!
  modelTemplate: ModelTemplate
  mappingsOverride: [InputTimeSeriesMapping]
  commands: CommandsConfig
}


type ModelTemplate {
  watercourse: String!
  shopVersion: String!
  templateVersion: String!
  model: File
  shopFiles: [File]
  baseMapping: [InputTimeSeriesMapping]
  outputDefinitions: [OutputMapping]
}
