Register API and form optimization [depend: backend /register] #93
@ -5,23 +5,16 @@
|
||||
const loginPage= ref(true)
|
||||
const page = ref(0)
|
||||
|
||||
const emailID=ref("")
|
||||
const passwordIN=ref("")
|
||||
|
||||
|
||||
const submitValue= ref(i18n("login.guest.submit"))
|
||||
const surname=ref("")
|
||||
const firstname=ref("")
|
||||
const passwordOUT=ref("")
|
||||
const password=ref("")
|
||||
const passwordConfirm=ref("")
|
||||
const birthday=ref("")
|
||||
const emailOUT=ref("")
|
||||
const email=ref("")
|
||||
const address=ref("")
|
||||
const country=ref("")
|
||||
const cursus=ref("")
|
||||
const loginInfos = [{_emailID:emailID},{_passwordIN:passwordIN}]
|
||||
const registerInfos= [{_surname:surname},{_firstname:firstname},{_birthday:birthday},{_passwordOUT:passwordOUT},
|
||||
{_passwordConfirm:passwordConfirm},{_emailOUT:emailOUT},{_address:address},{_country:country},{_cursus:cursus}]
|
||||
|
||||
</script>
|
||||
|
||||
@ -31,17 +24,17 @@
|
||||
<div class='loginBox'>
|
||||
|
||||
<div v-if="loginPage">
|
||||
<form @submit.prevent="login(emailID, passwordIN)"class="form">
|
||||
<form @submit.prevent="login(email, password)"class="form">
|
||||
<h1 style="color:rgb(239,60,168); font-family: sans-serif;">
|
||||
{{i18n("login.guest.signin")}}
|
||||
</h1>
|
||||
<div class="inputBox">
|
||||
<p>ID / {{i18n("login.guest.email")}}</p>
|
||||
<input type="text" v-model="emailID">
|
||||
<input type="text" v-model="email">
|
||||
</div>
|
||||
<div class="inputBox">
|
||||
<p>{{i18n("login.guest.password")}}</p>
|
||||
<input type="password" v-model="passwordIN">
|
||||
<input type="password" v-model="password">
|
||||
</div>
|
||||
<div class="register">
|
||||
<a @click="loginPage=!loginPage">{{i18n("login.guest.register")}}</a>
|
||||
@ -53,7 +46,7 @@
|
||||
</div>
|
||||
|
||||
<div v-else>
|
||||
<form @submit.prevent="register(surname,firstname,emailOUT)" class="form">
|
||||
<form @submit.prevent="register(firstname, surname, birthday, password, mail, address, country, cursus)" class="form">
|
||||
<h1 style="color:rgb(239,60,168); font-family: sans-serif; text-align:center;">
|
||||
{{i18n("login.guest.welcome")}}
|
||||
</h1>
|
||||
@ -72,11 +65,12 @@
|
||||
</div>
|
||||
<div class="inputBox">
|
||||
<p>{{i18n("login.guest.password")}}</p>
|
||||
<input type="password" v-model="passwordOUT">
|
||||
<input type="password" v-model="password">
|
||||
</div>
|
||||
<div class="inputBox">
|
||||
<p>{{i18n("login.guest.confirm")}} {{i18n("login.guest.password")}}</p>
|
||||
<input type="password" v-model="passwordConfirm">
|
||||
<!-- TODO: Verify password is same as passwordConfirm -->
|
||||
</div>
|
||||
|
||||
<div class="switchpage">
|
||||
@ -90,7 +84,7 @@
|
||||
<div v-else>
|
||||
<div class="inputBox">
|
||||
<p>{{i18n("login.guest.email")}}</p>
|
||||
<input type="mail" v-model="emailOUT">
|
||||
<input type="mail" v-model="email">
|
||||
</div>
|
||||
<div class="inputBox">
|
||||
<p>{{i18n("login.guest.address")}}</p>
|
||||
|
@ -4,8 +4,61 @@ export async function login(user, pass, exp){
|
||||
return restPost("/login", {identifier: user, password: pass, expirationDate: exp});
|
||||
}
|
||||
|
||||
export async function register(user, pass, mail){
|
||||
return restPost("/user", {name: user, password: pass, mail: mail});
|
||||
/**
|
||||
* Register a user (tokenless)
|
||||
*
|
||||
* @param data object containing info about the user
|
||||
*
|
||||
* - firstname
|
||||
* - lastname
|
||||
* - birthdate
|
||||
* - password
|
||||
* - mail
|
||||
* - address
|
||||
* - country
|
||||
* - cursus
|
||||
*/
|
||||
export async function register(firstname, lastname, birthDate, password, email, address, country, cursus){
|
||||
Maxime marked this conversation as resolved
|
||||
return restPost("/register", {
|
||||
firstname: firstname,
|
||||
lastname: lastname,
|
||||
birthDate: birthDate,
|
||||
password: password,
|
||||
email: email,
|
||||
address: address,
|
||||
country: country,
|
||||
cursus: cursus
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Register a user (by secretary)
|
||||
*
|
||||
* @param data object containing info about the user
|
||||
*
|
||||
* - firstname
|
||||
* - lastname
|
||||
* - birthdate
|
||||
* - password
|
||||
* - mail
|
||||
* - address
|
||||
* - country
|
||||
* - cursus
|
||||
*
|
||||
* PS: the password is not is not required as it is generated by the backend and sent to the user
|
||||
* by mail. it's up to the user to change it if he cares about security
|
||||
*/
|
||||
export async function createUser(firstname, lastname, birthDate, email, address, country, cursus, role){
|
||||
Maxime
commented
pas necessairement de cursus, surtout dans le cadre où le secrétariat postent les teachers (surtout que les users on pas de cursus) pas necessairement de cursus, surtout dans le cadre où le secrétariat postent les teachers
(surtout que les users on pas de cursus)
|
||||
return restPost("/user", {
|
||||
Maxime
commented
same that
https://git.herisson.ovh/PGL/Clyde/pulls/93/files#issuecomment-1637
|
||||
firstname: firstname,
|
||||
lastname: lastname,
|
||||
birthDate: birthDate,
|
||||
password: password,
|
||||
email: email,
|
||||
address: address,
|
||||
country: country,
|
||||
cursus:cursus
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user
ProfilePictureUrl pas présent ?
car de mémoire tu postais l'image directe je te retournais l'URL comme ça tu la postais
c'est parce que j'avais fait ça avant qu'on parle des pp 👉👈
@Maxime Le problème c'est que si tu me retourne l'url tu vas pas pouvoir le lier à la db
faudrait du coup me retourner l'id que je te retourne. Ce qui n'est pas ouf non plus mais bon. en vrai autant ne pas trop se casser la tête