2024-03-05 13:18:57 +01:00
|
|
|
import { restGet, restPost } from './restConsumer.js'
|
|
|
|
|
|
|
|
export async function login(user, pass, exp){
|
2024-03-09 16:22:38 +01:00
|
|
|
return restPost("/login", {identifier: user, password: pass, expirationDate: exp});
|
2024-03-05 14:58:56 +01:00
|
|
|
}
|
|
|
|
|
2024-03-15 14:46:39 +01:00
|
|
|
/**
|
|
|
|
* Register a user (tokenless)
|
|
|
|
*
|
|
|
|
* @param firstname
|
|
|
|
* @param lastname
|
|
|
|
* @param birthdate
|
|
|
|
* @param password
|
|
|
|
* @param mail
|
|
|
|
* @param address
|
|
|
|
* @param country
|
|
|
|
* @param cursus
|
|
|
|
* @param imageId id of the image in database returned when uploaded
|
|
|
|
*/
|
|
|
|
export async function register(firstname, lastname, birthDate, password, email, address, country, cursus, imageId){
|
|
|
|
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 firstname
|
|
|
|
* @param lastname
|
|
|
|
* @param birthdate
|
|
|
|
* @param password
|
|
|
|
* @param mail
|
|
|
|
* @param address
|
|
|
|
* @param country
|
|
|
|
* @param imageId id of the image in database returned when uploaded
|
|
|
|
*
|
|
|
|
* 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, role, imageId){
|
|
|
|
return restPost("/user", {
|
|
|
|
firstname: firstname,
|
|
|
|
lastname: lastname,
|
|
|
|
birthDate: birthDate,
|
|
|
|
password: password,
|
|
|
|
email: email,
|
|
|
|
address: address,
|
|
|
|
country: country,
|
|
|
|
});
|
2024-03-05 13:18:57 +01:00
|
|
|
}
|
2024-03-06 14:08:39 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* get informations on a specific user.
|
|
|
|
* Leaving the id empty will return the user's value based on his token
|
|
|
|
* if the user is not authenticated. then an empty array should be returned
|
|
|
|
*/
|
|
|
|
export async function getUser(id){
|
|
|
|
const endpoint = "/user" + id != null ? "/" + id : "";
|
|
|
|
return restGet(endpoint);
|
|
|
|
}
|
|
|
|
|
2024-03-13 09:54:56 +01:00
|
|
|
/**
|
|
|
|
* Alterable datas of user.
|
|
|
|
* usage by secretary
|
|
|
|
*
|
|
|
|
* @param id regno of the user
|
|
|
|
* @param data data to change
|
|
|
|
*
|
|
|
|
* - lastName
|
|
|
|
* - firstName
|
|
|
|
* - birthDate
|
|
|
|
* - role
|
|
|
|
* - email
|
|
|
|
* - photo
|
|
|
|
* - Adress
|
|
|
|
*/
|
|
|
|
export async function alterUser(id, data){
|
|
|
|
return restPatch("/user/" + id, data);
|
|
|
|
}
|
|
|
|
|
2024-03-06 14:08:39 +01:00
|
|
|
/**
|
|
|
|
* Reserved for secretary roles. Allow to list all user on the plateform
|
|
|
|
*/
|
|
|
|
export async function getAllUsers(){
|
|
|
|
return restGet("/users");
|
|
|
|
}
|
|
|
|
|
2024-03-13 09:54:56 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Get informations about yourself
|
|
|
|
* - RegNo
|
|
|
|
* - FirstName / LastName
|
|
|
|
* - email
|
|
|
|
* - adressId (?)
|
|
|
|
* - birthDate
|
|
|
|
* - role
|
|
|
|
*/
|
|
|
|
export async function getSelf(){
|
|
|
|
return restGet("/user");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Alterable datas are
|
|
|
|
* - email
|
|
|
|
* - photo
|
|
|
|
* - Adress
|
|
|
|
* - Password
|
|
|
|
*/
|
|
|
|
export async function alterSelf(data){
|
|
|
|
return restPatch("/user", data);
|
|
|
|
}
|