Acest addon este destinat batjocoririi GraphQL cu Ember CLI Mirage.

Compatibilitate

Acest addon ar trebui sa functioneze cu orice versiune de Ember 2.0 si versiuni superioare, precum si cu Ember CLI Mirage v0.4.7 – v1.1.x; cu toate acestea, testam numai cu Ember.js v3.12, v3.16 si versiuni ulterioare.

Nota

Acest addon este foarte devreme in dezvoltarea sa, iar codul accepta in prezent cazuri limitate de utilizare. Daca doriti sa contribuiti, nu va fie teama sa calcati in picioare vreun cod existent. Este destul de calcat.

Instalare

ember install ember-cli-mirage ember install ember-cli-mirage-graphql

Cum functioneaza

Acest addon creeaza un handler de solicitare pentru utilizare cu Mirage care ia schema dvs. GraphQL si creeaza in mod corespunzator jocuri. In forma sa cea mai simpla, jocurile de interogare batjocoresc din baza de date Mirage, dupa tip, si optional filtreaza inregistrarile prin potrivirea variabilelor de interogare.

Exemplu de utilizare

Exemplu rapid

Vedeti aplicatia fictiva din dosarul de teste al acestui supliment pentru un exemplu complet. Deschideti folderul Mirage si observati folderul handlers adaugat. Aici am creat callback-ul pentru gestionarea cererilor GraphQL. Poate fi importat in configuratia Mirage pentru a fi utilizat cu gestionarul de cereri GraphQL.

Nota: nu este necesar sa creati un modul separat pentru gestionarul dvs., asa cum am facut, dar credem ca este bine sa pastrati toate optiunile de gestionare in afara configuratiei Mirage.

Exemplu de baza

Daca sunteti ca noi, veti dori sa va creati handlerul in afara de configuratia dvs. Mirage:

// /mirage/handlers/graphql.js sau oriunde doriti importati createGraphQLHandler din „ember-cli-mirage-graphql / handler”; importati schema din „numele aplicatiei / calea-catre-schema dvs.”; export implicit createGraphQLHandler (schema, / * options = {} * /);

Note:

  • Folosim un instrument simplu pentru linia de comanda pentru a descarca schema noastra: get-graphql-schema.
  • Puteti importa si trece direct in schema bruta, asa cum se arata mai sus, sau puteti trece intr-o instanta a unui GraphQLSchema, de exemplu, un caz in care ati putea imbina mai multe scheme.

Apoi, importati handlerul pentru a fi utilizat in configuratia dvs. Mirage:

// /mirage/config.

videos porno trios español hombres masturbando a mujeres
peliculas porno castellano torrent porno
orgias de maduros madres viciosas
videos de zofilia gratis sexporn
fotos de poyas video sexo gratis
videos heroticos abuelas folladas por el culo
pollas arabes sexo maduras españolas
manoseadas en el cine mamadas españolas
porno incesto asiatico sexo muy duro
maduras sex tias cachondas
viejas con jovenes follando porno gay trios
chupame las tetas tetonas españolas
comicxxx comicxxx
porno español trios castin porno
incestos jovencitas españolas guarras
abuela española follando mamasxxx
porno incesto italiano pareja española follando
trio por sorpresa mamadas gay
pilladas pajeandose porno online
porno trans mamadas en la playa

js import graphQLHandler din ‘./handlers/graphql’; functia implicita de export () {this.post (‘/ path-to-graphql’, graphQLHandler); }

Optiuni de gestionare

Puteti trece optiuni atunci cand creati un handler de cerere. Optiunile au forma unui hash si pot contine urmatoarele:

{/ * `fieldsMap` este utilizat daca trebuie sa mapati un camp definit in schema dvs. GraphQL la un camp diferit pentru o inregistrare din baza de date Mirage. Acest lucru se poate intampla daca, de exemplu, migrati dintr-un backend API JSON in GraphQL si exista conflicte de nume de model. In acest exemplu, maparea este pentru o relatie; cu toate acestea, puteti mapa orice tip de camp. Valorile sirurilor vor fi folosite pentru a mapa numele campurilor din interogarea dvs. pentru a se potrivi cu cele din baza de date Mirage. Valorile metodei vor fi utilizate pentru a filtra inregistrarile si vor rula dupa orice filtrare a variabilelor si preluarea datelor conexe. Acest lucru permite filtrarea complexa a inregistrarilor care nu poate fi realizata numai cu variabile. Metodele primesc 3 argumente: 1. Inregistrarile rezolvate, daca exista. 2. Baza de date Mirage. 3. Inregistrarea mama, daca exista. * / fieldsMap: {Persoana: {// campurile sunt mapate pe tip de animale de companie: ‘ animals ‘}}, / * `mutatii` este un obiect folosit pentru a batjocori functionalitatea mutatiei la care v-ati putea astepta de la server. Fiecare metoda se mapeaza direct la o mutatie numita din schema dvs. si primeste 3 argumente: 1. Tabelul din baza de date Mirage care corespunde tipului de returnare al mutatiei. 2. Argumentele mutatiei. Acestea vor fi mapate in functie de optiunea argsMap, dupa tipul de returnare, daca este cazul. 3. Baza de date Mirage. Deocamdata, acesta este singurul mod de a bate joc de mutatii cu acest addon; cu toate acestea, vom incerca sa implementam o forma de functionalitate de mutatie implicita, daca este posibil. * / mutatii: {updatePerson: (people, args, db) => {let {id, personAttributes} = args; return [people.update (id, personAttributes)]; }}, / * argsMap este utilizat daca trebuie sa mapati argumentele definite in interogarile dvs. GraphQL la altceva decat numele campului corespunzator din inregistrarea Mirage. Valoarea pe care o specificati pe harta poate fi un sir sau o functie. Addon foloseste argumentele pentru a filtra inregistrarile de tipul dat din baza de date Mirage. Valorile sirurilor vor fi utilizate pentru a asocia numele argumentelor cu numele campurilor in cazul in care numele argumentului difera. Valorile functiei vor fi utilizate pentru a filtra inregistrarile. Functiei i se va transmite o serie de inregistrari, numele argumentului (cheia) si valoarea argumentului. * / argsMap: {Persoana: {// argumentele sunt mapate pe o baza de tip SizeSize: (records, _, pageSize) => records.slice (0, pageSize)}}, / * `scalarMocks` este utilizat daca au scalare personalizate si trebuie sa le batjocoresc pentru a returna o valoare implicita * / scalarMocks: {MyCustomScalar: () => {return ‘

Contribuind

Orice colaboratori sunt bineveniti!

Va rugam sa depuneti probleme, dupa caz. Solicitarile de functii ar fi frumoase sub forma de cazuri de utilizare. Stiind modul in care utilizati GraphQL ar trebui sa ii ajutati pe colaboratori sa faca suplimentul mai capabil.

PR-urile sunt, de asemenea, binevenite, cu conditia sa se refere la o problema sau sa adauge functionalitate pentru un anumit caz de utilizare si, in general, ar trebui sa urmeze acelasi stil de codare ca si restul suplimentului.

Consultati ghidul Contributie pentru detalii.