From 3437616ec13cbaac7c3b85d5fa96b803ac1adaaa Mon Sep 17 00:00:00 2001 From: "gwenael.planchon" Date: Fri, 29 Mar 2024 11:30:26 +0100 Subject: [PATCH] mettre creerinvite dans utilisateur, fix fonctions async --- science-quest/src/components/Inscription.vue | 2 +- science-quest/src/components/Login.vue | 2 +- .../src/components/jeux/creerPartie.vue | 1 - science-quest/src/data/partie.js | 13 ------- science-quest/src/data/utilisateur.js | 38 +++++++++++++++---- 5 files changed, 33 insertions(+), 23 deletions(-) diff --git a/science-quest/src/components/Inscription.vue b/science-quest/src/components/Inscription.vue index 6f42219..2bd973b 100644 --- a/science-quest/src/components/Inscription.vue +++ b/science-quest/src/components/Inscription.vue @@ -8,7 +8,7 @@ export default { return } const utilisateur=new Utilisateur(Object.fromEntries(new FormData(formajouter))) - utilisateur.register().then(response=>console.log(response)) + utilisateur.creerCompte().then(response=>console.log(response)) } } diff --git a/science-quest/src/components/Login.vue b/science-quest/src/components/Login.vue index 11f7bb8..7e302ca 100644 --- a/science-quest/src/components/Login.vue +++ b/science-quest/src/components/Login.vue @@ -9,7 +9,7 @@ export default { return } const utilisateur=new Utilisateur(Object.fromEntries(new FormData(formajouter))) - utilisateur.login().then(response=>console.log(response)) + utilisateur.connecter().then(response=>console.log(response)) } } } diff --git a/science-quest/src/components/jeux/creerPartie.vue b/science-quest/src/components/jeux/creerPartie.vue index 622910c..2ca5fbb 100644 --- a/science-quest/src/components/jeux/creerPartie.vue +++ b/science-quest/src/components/jeux/creerPartie.vue @@ -24,7 +24,6 @@ export default { partieACreer.creerPartie().then(response=>console.log(response)) //console.log(partieACreer) return - utilisateur.login().then(response=>console.log(response)) } }, mounted(){ diff --git a/science-quest/src/data/partie.js b/science-quest/src/data/partie.js index a5c81e8..90af97b 100644 --- a/science-quest/src/data/partie.js +++ b/science-quest/src/data/partie.js @@ -1,19 +1,6 @@ import { REST_API } from "@/assets/const" import { DataObject, PagedDataObject } from "./dataObject" -export class PartieInvite extends DataObject{ - constructor(parsedJSON){ - super(parsedJSON) - } - async creerInvite(){ - const response = await fetch(`${REST_API}/invite`,{ - method:"POST", - headers:{"Content-Type":"application/json"}, - body:JSON.stringify(this) - }) - return new this(await response.json()) - } -} export class Partie extends DataObject{ constructor(parsedJSON){ super(parsedJSON) diff --git a/science-quest/src/data/utilisateur.js b/science-quest/src/data/utilisateur.js index 3537155..7d9d72b 100644 --- a/science-quest/src/data/utilisateur.js +++ b/science-quest/src/data/utilisateur.js @@ -9,30 +9,54 @@ export class Utilisateur extends DataObject{ const response = await fetch(`${REST_API}/utilisateur/${id}`) return new this(await response.json()) } - async register(){ + async creerCompte(){ const response = await fetch(`${REST_API}/utilisateur`,{ method:"POST", headers:{"Content-Type":"application/json"}, body:JSON.stringify(this) }) - return new this(await response.json()) + return new this.constructor(await response.json()) } - async login(){ + async connecter(){ const response = await fetch(`${REST_API}/utilisateur/connexion`,{ method:"POST", headers:{"Content-Type":"application/json"}, body:JSON.stringify(this) }) - return new this(await response.json()) + const utilisateurConnecte=new this.constructor(await response.json()) + localStorage.setItem("utilisateurConnecte",utilisateurConnecte) + return utilisateurConnecte; + } + async creerInvite(){ + const response = await fetch(`${REST_API}/invite`,{ + method:"POST", + headers:{"Content-Type":"application/json"}, + body:JSON.stringify(this) + }) + return new this.constructor(await response.json()) + } + static async utilisateurConnecte(){ + const utilisateur=localStorage.getItem("utilisateurConnecte") + return new this(utilisateur) + } + static async utilisateurConnecteOuCreerInvite(){ + const utilisateur=localStorage.getItem("utilisateurConnecte") + if(utilisateur==null){ + const invite=new this({"pseudo":"invitetest123123"}) + return await invite.creerInvite() + } + return new this(utilisateur) } } -//TODO : JSON de reference pour le get +/* JSON de reference pour le get +{"email":"amogus@amog.us", "pseudo":"amogus", "id":"2"} +*/ -/* JSON de reference (register) +/* JSON de reference (creerCompte) {"email":"amogus@amog.us", "pseudo":"amogus", "motDePasse":"hunter2"} */ -/* JSON de reference (login) +/* JSON de reference (connecter) in : {"email":"amogus@amog.us", "motDePasse":"hunter2"} out : {"email":"amogus@amog.us", "pseudo":"amogus", "id":"2"} */ \ No newline at end of file