mettre creerinvite dans utilisateur, fix fonctions async

front
Gwenael PLANCHON 1 year ago
parent d1d8677b5a
commit 3437616ec1

@ -8,7 +8,7 @@ export default {
return return
} }
const utilisateur=new Utilisateur(Object.fromEntries(new FormData(formajouter))) const utilisateur=new Utilisateur(Object.fromEntries(new FormData(formajouter)))
utilisateur.register().then(response=>console.log(response)) utilisateur.creerCompte().then(response=>console.log(response))
} }
} }

@ -9,7 +9,7 @@ export default {
return return
} }
const utilisateur=new Utilisateur(Object.fromEntries(new FormData(formajouter))) const utilisateur=new Utilisateur(Object.fromEntries(new FormData(formajouter)))
utilisateur.login().then(response=>console.log(response)) utilisateur.connecter().then(response=>console.log(response))
} }
} }
} }

@ -24,7 +24,6 @@ export default {
partieACreer.creerPartie().then(response=>console.log(response)) partieACreer.creerPartie().then(response=>console.log(response))
//console.log(partieACreer) //console.log(partieACreer)
return return
utilisateur.login().then(response=>console.log(response))
} }
}, },
mounted(){ mounted(){

@ -1,19 +1,6 @@
import { REST_API } from "@/assets/const" import { REST_API } from "@/assets/const"
import { DataObject, PagedDataObject } from "./dataObject" 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{ export class Partie extends DataObject{
constructor(parsedJSON){ constructor(parsedJSON){
super(parsedJSON) super(parsedJSON)

@ -9,30 +9,54 @@ export class Utilisateur extends DataObject{
const response = await fetch(`${REST_API}/utilisateur/${id}`) const response = await fetch(`${REST_API}/utilisateur/${id}`)
return new this(await response.json()) return new this(await response.json())
} }
async register(){ async creerCompte(){
const response = await fetch(`${REST_API}/utilisateur`,{ const response = await fetch(`${REST_API}/utilisateur`,{
method:"POST", method:"POST",
headers:{"Content-Type":"application/json"}, headers:{"Content-Type":"application/json"},
body:JSON.stringify(this) 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`,{ const response = await fetch(`${REST_API}/utilisateur/connexion`,{
method:"POST", method:"POST",
headers:{"Content-Type":"application/json"}, headers:{"Content-Type":"application/json"},
body:JSON.stringify(this) 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"} {"email":"amogus@amog.us", "pseudo":"amogus", "motDePasse":"hunter2"}
*/ */
/* JSON de reference (login) /* JSON de reference (connecter)
in : {"email":"amogus@amog.us", "motDePasse":"hunter2"} in : {"email":"amogus@amog.us", "motDePasse":"hunter2"}
out : {"email":"amogus@amog.us", "pseudo":"amogus", "id":"2"} out : {"email":"amogus@amog.us", "pseudo":"amogus", "id":"2"}
*/ */
Loading…
Cancel
Save