# import * from 'entreprises.graphql'
# import * from 'substances.graphql'
# import * from 'geojsons.graphql'
# import * from 'metas.graphql'
# import * from 'territoires.graphql'
# import * from 'titres-demarches.graphql'

"Étape d'une démarche effectuée sur un titre minier"
type Etape {
  """
  Id unique
  """
  id: ID!

  """
  Slug composé de la concaténation:
  - de l'id de la démarche
  - du type de l'étape
  """
  slug: String

  titreDemarcheId: ID!

  demarche: Demarche

  "TypeId de l'étape"
  typeId: String

  "Statut de l'étape"
  statutId: ID!

  "Est en construction"
  isBrouillon: Boolean

  "Ordre chronologique de l'étape"
  ordre: Int!

  "Date de l'étape"
  date: String!

  "Durée de la démarche"
  duree: Int

  "Date de début de la démarche"
  dateDebut: String

  "Date de fin de la démarche"
  dateFin: String

  "Surface en Km² du titre"
  surface: Float

  "Substances concernées par le titre"
  substances: [String!]

  "Titulaires du titre dans son dernier état de validité"
  titulaireIds: [String]

  # import * from 'scalars.graphql'

  "Amodiataires du titre dans son dernier état de validité"
  amodiataireIds: [String]

  "Administrations en charge du titre"
  administrations: [String]

  "Zones du SDOM"
  sdomZones: [String]

  heritageProps: HeritageProps

  heritageContenu: Json

  contenu: Json

  notes: String

  "Périmètre géographique du titre"
  geojson4326Perimetre: Json
  geojson4326Points: Json
  geojsonOriginePoints: Json
  geojsonOriginePerimetre: Json
  geojson4326Forages: Json
  geojsonOrigineForages: Json
  geojsonOrigineGeoSystemeId: String
}

"Étape d'une démarche effectuée sur un titre minier"
type EtapeHeritage {
  typeId: String

  titreDemarcheId: ID!

  "Durée de l'étape"
  duree: Int

  "Date de début de l'étape"
  dateDebut: String

  "Date de fin de l'étape"
  dateFin: String

  "Surface en Km² du titre"
  surface: Float

  "Substances concernées par le titre"
  substances: [String!]

  "Périmètre géographique du titre"
  geojson4326Perimetre: Json

  geojson4326Points: Json
  geojsonOriginePoints: Json
  geojsonOriginePerimetre: Json
  geojsonOrigineGeoSystemeId: String
  geojson4326Forages: Json
  geojsonOrigineForages: Json

  "Titulaires du titre dans son dernier état de validité"
  titulaireIds: [String]

  "Amodiataires du titre dans son dernier état de validité"
  amodiataireIds: [String]

  contenu: Json

  heritageProps: HeritageProps

  heritageContenu: Json
}

type EtapeId {
  etapeId: ID!
}

type HeritageProps {
  dateDebut: HeritageProp
  dateFin: HeritageProp
  duree: HeritageProp
  perimetre: HeritageProp
  substances: HeritageProp
  titulaires: HeritageProp
  amodiataires: HeritageProp
}

type HeritageProp {
  etape: Etape
  actif: Boolean
}

input InputEtapeFiltre {
  typeId: ID!
  statutId: ID
  dateDebut: String
  dateFin: String
}
