demarches-normaliennes/app/graphql/schema.graphql

1321 lines
19 KiB
GraphQL
Raw Normal View History

type Association {
dateCreation: ISO8601Date!
dateDeclaration: ISO8601Date!
datePublication: ISO8601Date!
objet: String!
rna: String!
titre: String!
}
2018-11-23 18:54:51 +01:00
type Avis {
2019-12-11 12:24:50 +01:00
attachment: File
dateQuestion: ISO8601DateTime!
dateReponse: ISO8601DateTime
expert: Profile
2019-09-18 18:45:53 +02:00
id: ID!
instructeur: Profile!
2018-11-23 18:54:51 +01:00
question: String!
reponse: String
2018-11-23 18:54:51 +01:00
}
"""
Represents non-fractional signed whole numeric values. Since the value may
exceed the size of a 32-bit integer, it's encoded as a string.
"""
scalar BigInt
type CarteChamp implements Champ {
geoAreas: [GeoArea!]!
id: ID!
2019-11-07 13:34:19 +01:00
"""
Libellé du champ.
"""
label: String!
2019-11-07 13:34:19 +01:00
"""
La valeur du champ sous forme texte.
"""
2019-09-18 18:45:53 +02:00
stringValue: String
}
interface Champ {
id: ID!
2019-11-07 13:34:19 +01:00
"""
Libellé du champ.
"""
label: String!
2019-11-07 13:34:19 +01:00
"""
La valeur du champ sous forme texte.
"""
2019-09-18 18:45:53 +02:00
stringValue: String
}
2019-09-18 18:45:53 +02:00
type ChampDescriptor {
2019-11-07 13:34:19 +01:00
"""
Description du champ.
"""
description: String
id: ID!
2019-11-07 13:34:19 +01:00
"""
Libellé du champ.
"""
label: String!
2019-11-07 13:34:19 +01:00
"""
Est-ce que le champ est obligatoire ?
"""
required: Boolean!
2019-11-07 13:34:19 +01:00
"""
Type de la valeur du champ.
"""
type: TypeDeChamp!
}
type CheckboxChamp implements Champ {
id: ID!
2019-11-07 13:34:19 +01:00
"""
Libellé du champ.
"""
label: String!
2019-11-07 13:34:19 +01:00
"""
La valeur du champ sous forme texte.
"""
2019-09-18 18:45:53 +02:00
stringValue: String
value: Boolean!
}
enum Civilite {
"""
Monsieur
"""
M
"""
Madame
"""
Mme
}
type CiviliteChamp implements Champ {
id: ID!
"""
Libellé du champ.
"""
label: String!
"""
La valeur du champ sous forme texte.
"""
stringValue: String
value: Civilite
}
"""
GeoJSON coordinates
"""
scalar Coordinates
"""
Autogenerated input type of CreateDirectUpload
"""
input CreateDirectUploadInput {
"""
File size (bytes)
"""
byteSize: Int!
"""
MD5 file checksum as base64
"""
checksum: String!
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
"""
File content type
"""
contentType: String!
"""
Dossier ID
"""
dossierId: ID!
"""
Original file name
"""
filename: String!
}
"""
Autogenerated return type of CreateDirectUpload
"""
type CreateDirectUploadPayload {
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
directUpload: DirectUpload!
}
type DateChamp implements Champ {
id: ID!
2019-11-07 13:34:19 +01:00
"""
Libellé du champ.
"""
label: String!
2019-11-07 13:34:19 +01:00
"""
La valeur du champ sous forme texte.
"""
2019-09-18 18:45:53 +02:00
stringValue: String
value: ISO8601DateTime
}
type DecimalNumberChamp implements Champ {
id: ID!
2019-11-07 13:34:19 +01:00
"""
Libellé du champ.
"""
label: String!
2019-11-07 13:34:19 +01:00
"""
La valeur du champ sous forme texte.
"""
2019-09-18 18:45:53 +02:00
stringValue: String
value: Float
}
interface Demandeur {
id: ID!
}
2018-11-20 22:21:38 +01:00
"""
Une demarche
"""
type Demarche {
2019-09-18 18:45:53 +02:00
annotationDescriptors: [ChampDescriptor!]!
champDescriptors: [ChampDescriptor!]!
2018-11-20 22:21:38 +01:00
"""
Date de la création.
"""
dateCreation: ISO8601DateTime!
2019-12-04 15:45:06 +01:00
"""
Date de la dépublication.
"""
dateDepublication: ISO8601DateTime
"""
Date de la dernière modification.
"""
dateDerniereModification: ISO8601DateTime!
"""
Date de la fermeture.
"""
dateFermeture: ISO8601DateTime
"""
Date de la publication.
"""
datePublication: ISO8601DateTime!
"""
L'état de dossier pour une démarche déclarative
"""
declarative: DossierDeclarativeState
"""
Description de la démarche.
2018-11-20 22:21:38 +01:00
"""
description: String!
"""
Liste de tous les dossiers d'une démarche.
"""
dossiers(
"""
Returns the elements in the list that come after the specified cursor.
"""
after: String
"""
Returns the elements in the list that come before the specified cursor.
"""
before: String
"""
2019-09-26 14:57:58 +02:00
Dossiers déposés depuis la date.
2018-11-20 22:21:38 +01:00
"""
2019-09-26 14:57:58 +02:00
createdSince: ISO8601DateTime
2018-11-20 22:21:38 +01:00
"""
2019-09-26 14:57:58 +02:00
Returns the first _n_ elements from the list.
2018-11-20 22:21:38 +01:00
"""
2019-09-26 14:57:58 +02:00
first: Int
2018-11-20 22:21:38 +01:00
"""
Returns the last _n_ elements from the list.
"""
last: Int
"""
2019-09-26 14:57:58 +02:00
L'ordre des dossiers.
"""
order: Order = ASC
"""
Dossiers avec statut.
"""
state: DossierState
2018-11-20 22:21:38 +01:00
"""
2019-09-26 14:57:58 +02:00
Dossiers mis à jour depuis la date.
"""
updatedSince: ISO8601DateTime
2018-11-20 22:21:38 +01:00
): DossierConnection!
groupeInstructeurs: [GroupeInstructeur!]!
2018-11-20 22:21:38 +01:00
id: ID!
"""
2019-09-18 18:45:53 +02:00
Le numero de la démarche.
2018-11-20 22:21:38 +01:00
"""
number: Int!
2019-11-29 12:45:58 +01:00
service: Service!
2019-11-07 13:34:19 +01:00
"""
L'état de la démarche.
"""
2018-11-20 22:21:38 +01:00
state: DemarcheState!
"""
Le titre de la démarche.
"""
2018-11-20 22:21:38 +01:00
title: String!
}
enum DemarcheState {
"""
Brouillon
2018-11-20 22:21:38 +01:00
"""
brouillon
2018-11-20 22:21:38 +01:00
"""
Close
2018-11-20 22:21:38 +01:00
"""
close
2018-11-20 22:21:38 +01:00
2019-12-04 15:45:06 +01:00
"""
Depubliee
"""
depubliee
2018-11-20 22:21:38 +01:00
"""
2019-09-18 18:45:53 +02:00
Publiée
2018-11-20 22:21:38 +01:00
"""
publiee
}
"""
Represents direct upload credentials
"""
type DirectUpload {
"""
Created blob record ID
"""
blobId: ID!
"""
HTTP request headers (JSON-encoded)
"""
headers: String!
"""
Created blob record signed ID
"""
signedBlobId: ID!
"""
Upload URL
"""
url: String!
}
2018-11-20 22:21:38 +01:00
"""
Un dossier
"""
type Dossier {
annotations: [Champ!]!
2019-09-18 18:45:53 +02:00
archived: Boolean!
2018-11-23 18:54:51 +01:00
avis: [Avis!]!
champs: [Champ!]!
2018-11-20 22:21:38 +01:00
"""
Date de la dernière modification.
"""
dateDerniereModification: ISO8601DateTime!
2018-11-20 22:21:38 +01:00
"""
2019-09-18 18:45:53 +02:00
Date de dépôt.
"""
datePassageEnConstruction: ISO8601DateTime!
"""
Date de passage en instruction.
"""
datePassageEnInstruction: ISO8601DateTime
"""
Date de traitement.
2018-11-20 22:21:38 +01:00
"""
2019-09-18 18:45:53 +02:00
dateTraitement: ISO8601DateTime
demandeur: Demandeur!
groupeInstructeur: GroupeInstructeur!
2018-11-20 22:21:38 +01:00
id: ID!
instructeurs: [Profile!]!
2018-11-23 18:54:51 +01:00
messages: [Message!]!
2018-11-20 22:21:38 +01:00
motivation: String
2019-12-11 12:24:50 +01:00
motivationAttachment: File
2019-09-18 18:45:53 +02:00
"""
Le numero du dossier.
"""
number: Int!
2018-11-20 22:21:38 +01:00
"""
L'état du dossier.
"""
state: DossierState!
usager: Profile!
}
"""
Autogenerated input type of DossierAccepter
"""
input DossierAccepterInput {
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
"""
Dossier ID
"""
dossierId: ID!
"""
Instructeur qui prend la décision sur le dossier.
"""
instructeurId: ID!
justificatif: ID
motivation: String
}
"""
Autogenerated return type of DossierAccepter
"""
type DossierAccepterPayload {
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
dossier: Dossier
errors: [ValidationError!]
}
"""
Autogenerated input type of DossierChangerGroupeInstructeur
"""
input DossierChangerGroupeInstructeurInput {
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
"""
Dossier ID
"""
dossierId: ID!
"""
Group instructeur a affecter
"""
groupeInstructeurId: ID!
}
"""
Autogenerated return type of DossierChangerGroupeInstructeur
"""
type DossierChangerGroupeInstructeurPayload {
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
dossier: Dossier
errors: [ValidationError!]
}
"""
Autogenerated input type of DossierClasserSansSuite
"""
input DossierClasserSansSuiteInput {
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
"""
Dossier ID
"""
dossierId: ID!
"""
Instructeur qui prend la décision sur le dossier.
"""
instructeurId: ID!
justificatif: ID
motivation: String!
}
"""
Autogenerated return type of DossierClasserSansSuite
"""
type DossierClasserSansSuitePayload {
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
dossier: Dossier
errors: [ValidationError!]
}
2018-11-20 22:21:38 +01:00
"""
The connection type for Dossier.
"""
type DossierConnection {
"""
A list of edges.
"""
edges: [DossierEdge]
"""
A list of nodes.
"""
nodes: [Dossier]
"""
Information to aid in pagination.
"""
pageInfo: PageInfo!
}
enum DossierDeclarativeState {
"""
Accepté
"""
accepte
"""
En instruction
"""
en_instruction
}
2018-11-20 22:21:38 +01:00
"""
An edge in a connection.
"""
type DossierEdge {
"""
A cursor for use in pagination.
"""
cursor: String!
"""
The item at the end of the edge.
"""
node: Dossier
}
"""
Autogenerated input type of DossierEnvoyerMessage
"""
input DossierEnvoyerMessageInput {
attachment: ID
body: String!
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
dossierId: ID!
instructeurId: ID!
}
"""
Autogenerated return type of DossierEnvoyerMessage
"""
type DossierEnvoyerMessagePayload {
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
errors: [ValidationError!]
message: Message
}
type DossierLinkChamp implements Champ {
dossier: Dossier
id: ID!
2019-11-07 13:34:19 +01:00
"""
Libellé du champ.
"""
label: String!
2019-11-07 13:34:19 +01:00
"""
La valeur du champ sous forme texte.
"""
2019-09-18 18:45:53 +02:00
stringValue: String
}
"""
Autogenerated input type of DossierPasserEnInstruction
"""
input DossierPasserEnInstructionInput {
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
"""
Dossier ID
"""
dossierId: ID!
"""
Instructeur qui prend la décision sur le dossier.
"""
instructeurId: ID!
}
"""
Autogenerated return type of DossierPasserEnInstruction
"""
type DossierPasserEnInstructionPayload {
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
dossier: Dossier
errors: [ValidationError!]
}
"""
Autogenerated input type of DossierRefuser
"""
input DossierRefuserInput {
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
"""
Dossier ID
"""
dossierId: ID!
"""
Instructeur qui prend la décision sur le dossier.
"""
instructeurId: ID!
justificatif: ID
motivation: String!
}
"""
Autogenerated return type of DossierRefuser
"""
type DossierRefuserPayload {
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
dossier: Dossier
errors: [ValidationError!]
}
2018-11-20 22:21:38 +01:00
enum DossierState {
"""
Accepté
"""
accepte
"""
En construction
"""
en_construction
"""
En instruction
"""
en_instruction
"""
Refusé
"""
refuse
"""
Sans suite
"""
sans_suite
}
2020-04-21 15:52:08 +02:00
type Effectif {
nb: Float!
periode: String!
2020-04-21 15:52:08 +02:00
}
type Entreprise {
attestationFiscaleAttachment: File
attestationSocialeAttachment: File
capitalSocial: BigInt!
codeEffectifEntreprise: String!
dateCreation: ISO8601Date!
"""
effectif moyen d'une année
"""
effectifAnnuel: Effectif
"""
effectif pour un mois donné
"""
effectifMensuel: Effectif
formeJuridique: String!
formeJuridiqueCode: String!
inlineAdresse: String!
nom: String!
nomCommercial: String!
numeroTvaIntracommunautaire: String!
prenom: String!
raisonSociale: String!
siren: String!
siretSiegeSocial: String!
}
2019-12-11 12:24:50 +01:00
type File {
byteSize: Int!
checksum: String!
contentType: String!
filename: String!
url: URL!
}
interface GeoArea {
geometry: GeoJSON!
2019-09-18 18:45:53 +02:00
id: ID!
source: GeoAreaSource!
}
enum GeoAreaSource {
"""
2019-11-07 13:52:48 +01:00
Parcelle cadastrale
"""
cadastre
"""
2019-11-07 13:52:48 +01:00
Quartier prioritaire
"""
quartier_prioritaire
"""
2019-11-07 13:52:48 +01:00
Sélection utilisateur
"""
selection_utilisateur
}
type GeoJSON {
coordinates: Coordinates!
type: String!
}
"""
Un groupe instructeur
"""
type GroupeInstructeur {
id: ID!
instructeurs: [Profile!]!
label: String!
"""
Le numero du groupe instructeur.
"""
number: Int!
}
"""
Un groupe instructeur avec ces dossiers
"""
type GroupeInstructeurWithDossiers {
"""
Liste de tous les dossiers d'une démarche.
"""
dossiers(
"""
Returns the elements in the list that come after the specified cursor.
"""
after: String
"""
Returns the elements in the list that come before the specified cursor.
"""
before: String
"""
Dossiers déposés depuis la date.
"""
createdSince: ISO8601DateTime
"""
Returns the first _n_ elements from the list.
"""
first: Int
"""
Returns the last _n_ elements from the list.
"""
last: Int
"""
L'ordre des dossiers.
"""
order: Order = ASC
"""
Dossiers avec statut.
"""
state: DossierState
"""
Dossiers mis à jour depuis la date.
"""
updatedSince: ISO8601DateTime
): DossierConnection!
id: ID!
instructeurs: [Profile!]!
label: String!
"""
Le numero du groupe instructeur.
"""
number: Int!
}
"""
An ISO 8601-encoded date
"""
scalar ISO8601Date
2018-11-20 22:21:38 +01:00
"""
An ISO 8601-encoded datetime
"""
scalar ISO8601DateTime
type IntegerNumberChamp implements Champ {
id: ID!
2019-11-07 13:34:19 +01:00
"""
Libellé du champ.
"""
label: String!
2019-11-07 13:34:19 +01:00
"""
La valeur du champ sous forme texte.
"""
2019-09-18 18:45:53 +02:00
stringValue: String
value: BigInt
}
2019-09-18 18:45:53 +02:00
type LinkedDropDownListChamp implements Champ {
id: ID!
2019-11-07 13:34:19 +01:00
"""
Libellé du champ.
"""
2019-09-18 18:45:53 +02:00
label: String!
primaryValue: String
secondaryValue: String
2019-11-07 13:34:19 +01:00
"""
La valeur du champ sous forme texte.
"""
2019-09-18 18:45:53 +02:00
stringValue: String
}
2018-11-23 18:54:51 +01:00
type Message {
2019-12-11 12:24:50 +01:00
attachment: File
2018-11-23 18:54:51 +01:00
body: String!
createdAt: ISO8601DateTime!
email: String!
2019-09-18 18:45:53 +02:00
id: ID!
}
type MultipleDropDownListChamp implements Champ {
id: ID!
2019-11-07 13:34:19 +01:00
"""
Libellé du champ.
"""
2019-09-18 18:45:53 +02:00
label: String!
2019-11-07 13:34:19 +01:00
"""
La valeur du champ sous forme texte.
"""
2019-09-18 18:45:53 +02:00
stringValue: String
values: [String!]!
2018-11-23 18:54:51 +01:00
}
2018-11-20 22:21:38 +01:00
type Mutation {
"""
File information required to prepare a direct upload
"""
createDirectUpload(input: CreateDirectUploadInput!): CreateDirectUploadPayload
"""
Accepter le dossier.
"""
dossierAccepter(input: DossierAccepterInput!): DossierAccepterPayload
"""
Changer le grope instructeur du dossier.
"""
dossierChangerGroupeInstructeur(input: DossierChangerGroupeInstructeurInput!): DossierChangerGroupeInstructeurPayload
"""
Classer le dossier sans suite.
"""
dossierClasserSansSuite(input: DossierClasserSansSuiteInput!): DossierClasserSansSuitePayload
"""
Envoyer un message à l'usager du dossier.
"""
dossierEnvoyerMessage(input: DossierEnvoyerMessageInput!): DossierEnvoyerMessagePayload
"""
Passer le dossier en instruction.
"""
dossierPasserEnInstruction(input: DossierPasserEnInstructionInput!): DossierPasserEnInstructionPayload
"""
Refuser le dossier.
"""
dossierRefuser(input: DossierRefuserInput!): DossierRefuserPayload
2018-11-20 22:21:38 +01:00
}
2019-09-26 14:57:58 +02:00
enum Order {
"""
Lordre ascendant.
"""
ASC
"""
Lordre descendant.
"""
DESC
}
2018-11-20 22:21:38 +01:00
"""
Information about pagination in a connection.
"""
type PageInfo {
"""
When paginating forwards, the cursor to continue.
"""
endCursor: String
"""
When paginating forwards, are there more items?
"""
hasNextPage: Boolean!
"""
When paginating backwards, are there more items?
"""
hasPreviousPage: Boolean!
"""
When paginating backwards, the cursor to continue.
"""
startCursor: String
}
type ParcelleCadastrale implements GeoArea {
codeArr: String!
codeCom: String!
codeDep: String!
feuille: Int!
geometry: GeoJSON!
2019-09-18 18:45:53 +02:00
id: ID!
nomCom: String!
numero: String!
section: String!
source: GeoAreaSource!
surfaceIntersection: Float!
surfaceParcelle: Float!
}
type PersonneMorale implements Demandeur {
adresse: String!
association: Association
codeInseeLocalite: String!
codePostal: String!
complementAdresse: String!
entreprise: Entreprise
id: ID!
libelleNaf: String!
localite: String!
naf: String!
nomVoie: String!
numeroVoie: String!
siegeSocial: Boolean!
siret: String!
typeVoie: String!
}
type PersonnePhysique implements Demandeur {
civilite: Civilite
dateDeNaissance: ISO8601Date
id: ID!
nom: String!
prenom: String!
}
type PieceJustificativeChamp implements Champ {
2019-12-11 12:24:50 +01:00
file: File
id: ID!
2019-11-07 13:34:19 +01:00
"""
Libellé du champ.
"""
label: String!
2019-11-07 13:34:19 +01:00
"""
La valeur du champ sous forme texte.
"""
2019-09-18 18:45:53 +02:00
stringValue: String
}
2018-11-20 22:21:38 +01:00
type Profile {
email: String!
id: ID!
}
type QuartierPrioritaire implements GeoArea {
code: String!
commune: String!
geometry: GeoJSON!
2019-09-18 18:45:53 +02:00
id: ID!
nom: String!
source: GeoAreaSource!
}
2018-11-20 22:21:38 +01:00
type Query {
"""
Informations concernant une démarche.
"""
demarche(
"""
Numéro de la démarche.
"""
number: Int!
2018-11-20 22:21:38 +01:00
): Demarche!
"""
Informations sur un dossier d'une démarche.
"""
dossier(
"""
Numéro du dossier.
"""
number: Int!
2018-11-20 22:21:38 +01:00
): Dossier!
"""
Informations sur un groupe instructeur.
"""
groupeInstructeur(
"""
Numéro du groupe instructeur.
"""
number: Int!
): GroupeInstructeurWithDossiers!
2018-11-20 22:21:38 +01:00
}
type RepetitionChamp implements Champ {
champs: [Champ!]!
id: ID!
2019-11-07 13:34:19 +01:00
"""
Libellé du champ.
"""
label: String!
2019-11-07 13:34:19 +01:00
"""
La valeur du champ sous forme texte.
"""
2019-09-18 18:45:53 +02:00
stringValue: String
}
type SelectionUtilisateur implements GeoArea {
geometry: GeoJSON!
2019-09-18 18:45:53 +02:00
id: ID!
source: GeoAreaSource!
}
2019-11-29 12:45:58 +01:00
type Service {
id: ID!
nom: String!
organisme: String!
typeOrganisme: TypeOrganisme!
}
type SiretChamp implements Champ {
etablissement: PersonneMorale
id: ID!
2019-11-07 13:34:19 +01:00
"""
Libellé du champ.
"""
label: String!
2019-11-07 13:34:19 +01:00
"""
La valeur du champ sous forme texte.
"""
2019-09-18 18:45:53 +02:00
stringValue: String
}
type TextChamp implements Champ {
id: ID!
2019-11-07 13:34:19 +01:00
"""
Libellé du champ.
"""
label: String!
2019-11-07 13:34:19 +01:00
"""
La valeur du champ sous forme texte.
"""
2019-09-18 18:45:53 +02:00
stringValue: String
value: String
}
enum TypeDeChamp {
"""
Adresse
"""
address
"""
Carte
"""
carte
"""
Case à cocher
"""
checkbox
"""
Civilité
"""
civilite
"""
Communes
"""
communes
"""
Date
"""
date
"""
Date et Heure
"""
datetime
"""
Nombre décimal
"""
decimal_number
"""
Départements
"""
departements
"""
Lien vers un autre dossier
"""
dossier_link
"""
2020-06-26 17:07:03 +02:00
Choix parmi une liste
"""
drop_down_list
"""
Email
"""
email
"""
Engagement
"""
engagement
"""
Explication
"""
explication
"""
Titre de section
"""
header_section
"""
Nombre entier
"""
integer_number
"""
Deux menus déroulants liés
"""
linked_drop_down_list
"""
2020-06-26 17:07:03 +02:00
Choix multiples
"""
multiple_drop_down_list
"""
Nombre
"""
number
"""
Pays
"""
pays
"""
Téléphone
"""
phone
"""
Pièce justificative
"""
piece_justificative
"""
Régions
"""
regions
"""
Bloc répétable
"""
repetition
"""
SIRET
"""
siret
"""
Texte
"""
text
"""
Zone de texte
"""
textarea
"""
Oui/Non
"""
yes_no
}
2019-11-29 12:45:58 +01:00
enum TypeOrganisme {
"""
Administration centrale
"""
administration_centrale
"""
Association
"""
association
"""
Autre
"""
autre
"""
Collectivité territoriale
"""
collectivite_territoriale
"""
Établissement denseignement
"""
etablissement_enseignement
"""
2020-03-26 16:59:53 +01:00
Opérateur dÉtat
2019-11-29 12:45:58 +01:00
"""
operateur_d_etat
"""
2020-03-26 16:59:53 +01:00
Service déconcentré de lÉtat
2019-11-29 12:45:58 +01:00
"""
service_deconcentre_de_l_etat
}
2018-11-20 22:21:38 +01:00
"""
A valid URL, transported as a string
"""
scalar URL
"""
Éreur de validation
"""
type ValidationError {
"""
A description of the error
"""
message: String!
2020-06-26 17:07:03 +02:00
}