J'ai trouvé la structure IdentityDocument dans lib/tools/documents/identity.rs. Je vais commencer par transformer la structure en schéma graphql avec l'aide de la structure que je viens de voir. Enfin je vais l'utiliser avec Juniper.
EDIT: j'ai commencé à écrire le schéma en graphql pur. Comme vous pouvez le voir, il me reste encore à trouver les types un peu spéciaux de hash dans blockstamp ([u8; 32] c'est à dire un tableau de 32 entiers non signés par morceaux de 8 (donc des octets)), de issuers dans IdentityDocument (Vec<[u8; 32]> c'est à dire un tableau de 32 bytes) et de signatures dans signatures de IdentityDocuments (Vec<[u8; 32]>, tableau de 32 bytes))
j'ai commencé à écrire le schéma en graphql pur. Comme vous pouvez le voir, il me reste encore à trouver les types un peu spéciaux de hash dans blockstamp ([u8; 32] c'est à dire un tableau de 32 entiers non signés par morceaux de 8 (donc des octets)), de issuers dans IdentityDocument (Vec<[u8; 32]> c'est à dire un tableau de 32 bytes) et de signatures dans signatures de IdentityDocuments (Vec<[u8; 32]>, tableau de 32 bytes))
C'est en réalité un objet IdentityStringDocument que tu exposera ;)
EDIT : concernant le schéma que tu propose : le champ 'text' contient en réalité la version raw du document, et elle doit etre proposée a part, merci de respecter le schéma que je t'ai envoyé par MP sur le forum et que je te redonne ici :
typeBlockNumberAndHash{# Block numbernumber:Int!# Block hashhash:String!}# Document stateenumDocumentState{# Documetn written in blockchainWRITTEN# Document in sandbox (not written in blockhain)PENDING# Any documentsANY}typeIdentity{version:Int!type:String!currency:String!issuer:String!blockNumberAndHash:BlockNumberAndHash!usernameID:String!signature:String!raw:String!# Null if the document is not written in blockchainwritten_on:BlockNumberAndHash# True if the identity respects the distance rule, false if otherwise# Some nodes may decide not to do this computation because it is time-consuming, so they return nulldistance:Boolean!}inputPaging{pageNumber:Int!=0pageSize:Int!=50fromBlock:Int!=0# If toBlock is null, current block number is usedtoBlock:Int}typeQuery{identities(paging:Paging!issuer:StringusernameID:StringblockNumberAndHash:BlockNumberAndHashInputstate:DocumentState!):Identities}
@librelois ok donc mon travail c'est de transformer le schéma graphql que tu m'as montré de telle manière qu'il soit compréhensible par rust grâce à la bibliothèque juniper?
Tu devra également coder les résolvers qui vont aller demander les data au module blockchain dans un premier temps bouchonne tes données dans une hashmap remplie en dur.
Ensuite, quand j'aurais créer les requêtes inter-modules te permettant de récupérer les identités tu pourra utiliser les vrais données, je viens de me créer le ticket #124 (closed) pour çà ;)