예제 #1
0
func (session *Session) DestroySession() models.ListError {
	var errr []string

	sessionModel := models.Session{}
	sessionModel.Token = session.Token
	if sessionModel.DestroySession() == false {
		utils.AddStringInArray(&errr, "Une erreur à eu lieu, la session n'a pas été supprimé.")
	}
	return models.RenderErrorList(errr)
}
예제 #2
0
//cette fonction creer une nouvelle session.
func (session *Session) CreateSession(emailOrLogin, password, ipAddr string) models.ListError {

	//initialisation du tableau d'erreur
	var errr []string
	//initialisation de notre structure user
	userModel := models.User{}

	//initialisation des variables dans la structure user avec celle qui ont été envoyé via la method post
	userModel.Login = helpers.NormalizeString(emailOrLogin)
	userModel.Email = userModel.Login
	userModel.Password = []byte(password)

	//if l'identifiant envoyé exist (cette identifiant peut etre un email ou login)
	if userModel.IsUserEmailExist() || userModel.IsUserLoginExist() {

		//si l'identifiant match avec le password associé
		if userModel.IsLoginOrEmailMatchWithPassword() {

			//on initialise une structure session du MODEL
			sessionModel := models.Session{}
			//on recuperer l'id de l'utilisateur et on le met dans session
			sessionModel.UserId = userModel.GetUserByLoginOrEmail()

			//si l'utilisateur est verifié
			if userModel.IsUserIsVerified() == true {
				//creation d'un nouveau token qui sera renvoyé en response json et egalement ajouté a la base de donnée
				session.Token = sessionModel.CreateSession(ipAddr)
			} else {
				helpers.AddStringInArray(&errr, "Votre compte n'est pas verifié, vous avez certainement reçu un email de comfirmation, verifiez dans vos spams ou demandez à en recevoir un nouveau.")
			}
		} else {
			helpers.AddStringInArray(&errr, "Le mot de passe ne correspond pas à celui du compte.")
		}
	} else {
		helpers.AddStringInArray(&errr, "Il n'existe aucun compte lié a cette identifiant")
	}
	//si la variable de la structure Session n'est pas vide (Si il est rentré dans la condition qui check que l'utilisateur est bien verifié)
	if session.Token != "" {
		session.Status = "OK"
	}
	return models.RenderErrorList(errr)
}