graphql-crud-sveltekit
v0.0.9
Published
fonction crud utilisant graphql, créer un client graphql et vous fournis des fonctions crud déja préparées, package utiliser pour graphcms
Downloads
7
Maintainers
Readme
crud sveltekit
ce package est à utiliser avec graphcms
IMPORTANT : il existe une " vulnerabilities "
sur le package node-fetch qui est contenu
dans le package cross-fetch utiliser par graphql-request
ceci ne concerne pas notre package, car nous n'utilisons pas
ce coté de graphql-request, la redirection, la creation de cookies
ou autre ne sont pas utiliser ici, et ne le sera jamais
le package sera mis à jour régulèrement, un correctif est en cours
donc cette " vulnerabilities " à terme disparaitra
fonctionnement / utilisation
- creation du client graphql
const client = WooGraphqlCrud('myUrlEndPoint');
- creation d'un nouveau client graphql depuis un client existant
si vous avez besoin de creer vos propres fonction de requetes
basé sur le memeendPoint
car peut-etre que celle fournis par la fonction WooGraphqlCrud
ne vous convienne pas, alors creer un nouveau client
comme le montre le code ci-dessous
// 1er client
const client = WooGraphqlCrud('myUrlEndPoint');
// nouveau client creer avec le premier
const client2 = client.client();
/*
...
// creer votre nouvelle request comme bon vous semble
// comme un client graphql basic
client2.request()
...
*/
- utilisation d'une fonction
// creation client
const client = WooGraphqlCrud('myUrlEndPoint');
// utilisation
const res = await client1.create<typeOfReturn, typeOfData>(myData, myQuery);
console.log(res);
/*
output ...
le model creer
...
*/
- fonctions mise à disposition par la fonction WooGraphqlCrud
je rappelle que ce package est utiliser pour travailler
avec graphcms donc toute les fonctions sont implementées dans ce sens
toutes les fonctions utiliseasync / await
et elles peuvent toutes être typer
client: () => GraphQLClient;
creation d'une nouvelle instance graphql avec le meme endPoint
fournis à l'instance utiliser pour la création de la nouvelle.publish: <T>(id: string, query: string) => Promise<T>;
passe en mode " publié " le model ciblé avec son idcreate: <T, I>(data: I, query: string) => Promise<T>;
creation d'un modelgetOne: <T>(where: string, query: string) => Promise<T>;
recuperation d'un model ciblé avec une proprieter de votre choixdeleteOne: <T>(where: string, query: string) => Promise<T>;
suppression d'un model ciblé avec une proprieter de votre choixgetAll: <T>(query: string) => Promise<T[]>;
recuperation de tous les models ciblé avec votre requestsetheader: (token: string) => void;
ajoute authorization au headers du graphqlClient
request graphql avec un cas d'utilisation
graphql-crud-sveltekit utilise des mots clés pour réduire les efforts des développeurs
chaque crud possède un mot clé pour les arguments
un exemple sera mieux qu'un grand discours
- request graphql
// utilisation du mot " new " pour le crud " create "
export const ReqCreatePerson = gql`
mutation createPerson($new: PersonCreateInput!) {
createPerson(data: $new) {
id
}
}
`;
Voila vous n'avez plus rien à vous souciez
donner cette request à la fonction
create
de ce package
et il fera le travaille pour vous
- mot clé par CRUD
- create => $new
- publish => $id
- getOne => $where
- delete => $where
- getAll => pas d'argument
mise à jour
ce package à pour but de réduire la dificulté de la mise en place des requetes graphql
les arguments de requetes peuvent devenir un probleme entre developpeur si les noms
d'argument diffère il peut y avoir des erreurs
avec ce package il suffis d'utiliser les mots clef fournis pour nommée vos arguments
et il y aura plus d'erreur possible.
apporter vos idées, forker le projet et apporter votre contribution
le crud update est en cours de développement