scalar Violation

interface NodeInterface {
  id: Int!
  path: String!
  created: String
  changed: String
}

type Concernement implements NodeInterface {
  id: Int!
  revision_id: Int!
  path: String!
  uuid: String!
  bundle: String!
  title: String!
  author: User
  created: String
  changed: String
  lieu: [Taxoterm]
  description: String
  caillou: String
  recit: Filefield
  recit_colophon: String
  entites: [Entiteintegre]
  besoins: [Besoin]
  doleances: [Doleance]
  revisions: [Concernement]
}

type Entiteintegre {
  entite: Entite
  actuelfuture: Int
  menacemaintien: Float
  prise: Float
}

type Entite implements NodeInterface {
  id: Int!
  path: String!
  uuid: String!
  bundle: String!
  title: String!
  author: User
  created: String
  changed: String
  action: String
  menacemaintien: String
  superposition: [Entite]
  proximite: [Entite]
  agissante: Boolean
  sources: [Source]
  concernement: Concernement
}

type Source {
  audios: [Filefield]
  date: Date
  documents: [Filefield]
  description: String
  images: [Image]
  liens: [Link]
  videos: [VideoLink]
}

type Besoin implements NodeInterface {
  id: Int!
  path: String!
  author: String
  created: String
  changed: String
  description: String!
  index: Int
  concernement: Concernement
  reponses: [Reponse]
}

type Reponse implements NodeInterface {
  id: Int!
  path: String!
  author: String
  created: String
  changed: String
  besoin: Besoin
  qui: String
  quoi: String
  ou: String
  avec: String
}

type Doleance implements NodeInterface {
  id: Int!
  path: String!
  uuid: String!
  bundle: String!
  title: String!
  author: String
  created: String
  changed: String
  #1
  leprobleme: String
  lenquete: String
  groupesinterets: [GroupeInterets]
  #2
  entite_addresse_doleance: String
  comment_ennonce_doleance: String
  aqui_addresse_doleance: String
  reception_traitement: [ReceptionTraitement]
  #3
  entites_decisionnaires: String
  decision_formule: String
  mise_en_oeuvre_decision: [MiseEnoeuvreDecision] 
  #4
  entite_adresse_application: String
  aqui_adresse_decision: String
  comment_formule_decision: String
  receptions_et_applications: [ReceptionsApplications]
  probleme_initial_resolu: Int
  oui_nouvelle_situation: String
  non_adresse_doleance: String
}

type GroupeInterets {
  groupe_interets: String
  accorder_interets: String
  formuler: String
}

type ReceptionTraitement {
  entite_adressee: String
  doleance_formulee: String
  traite_doleance: String
  entite_recoit_doleance: String
}

type MiseEnoeuvreDecision {
  entite_adresse_decision: String
  formule_decision: String
  entite_metenoeuvre_decisio: String
}

type ReceptionsApplications {
  applique_decision: String
  formule_decision_applic: String
  entite_recoit_decision: String
}

type Static implements NodeInterface {
  id: Int!
  uuid: String!
  bundle: String!
  title: String!
  path: String!
  author: String
  created: String
  changed: String
  promoted: Boolean
  texte: String
}

type Group {
  id: Int!
  uuid: String!
  name: String!
  path: String!
  description: String
  owner: User
  members: [User]
  concernements: [Concernement]
}

# type GroupMember {
#   id: Int!
#   user: User
# }

type User {
  id: Int!
  email: String
  username: String
  roles: [String]
  concernements: [Concernement]
  groups: [Group]
  structure: [Taxoterm]
}

# type Role {
#   name: String!
# }

type Filefield {
  file: File!
  description: String
}

type File {
  fid: String!
  uuid: String!
  filename: String!
  filemime: String!
  filesize: String!
  url: String!
}

type Taxoterm {
  id: Int!
  uuid: String!
  name: String!
  vocabulary: String
}

type VideoLink {
  url: String
}

type Image {
  id: Int!
  url: String!
  alt: String
  # style_minicard: ImageStyle
  # style_minicard_url: String
  # style_linkedmaterialcard: ImageStyle
  # style_linkedmaterialcard_url: String
  # style_cardmedium: ImageStyle
  # style_cardmedium_url: String
  # style_cardfull: ImageStyle
  # style_cardfull_url: String
  # style_articlecardmedium: ImageStyle
  # style_articlecardmedium_url: String
  # style_hd: ImageStyle
  # style_hd_url: String
}

type ImageStyle {
  width: Int
  height: Int
  url: String
}

type Link {
  url: String
  title: String
}

type Date {
  start: String
  end: String
}

type EntityDefinition {
  fields: [FieldDef]
}

type FieldDef {
  field_name: String
  type: String
  label: String
  description: String
}