import { Injectable } from '@angular/core'; import { HttpWrapperService } from './http-wrapper.service'; import { ApiResult } from '../resources/utility_models/api_result'; import { LoginSuccessResult, UserRegistration } from 'tournee.businesslogic'; @Injectable() export class AuthenticationService { constructor(private http: HttpWrapperService) {} login(primary_email, password) { return this.http.insecurePut>('/authentication', { primary_email : primary_email, password : password }); }; register(data: UserRegistration) { return this.http.insecurePost>('/authentication/user', data); } logout() { return this.http.secureDelete>('/authentication'); }; validateNickname(nickname: string) { return this.http.insecureGet>('/authentication/validatenickname/' + nickname); } trigger_forgotten_password(primary_email: string) { return this.http.insecurePut('/authentication/forgottenpassword', { primary_email : primary_email }); } validate_forgotten_password(reset_code: string) { return this.http.insecureGet>('/authentication/forgottenpassword/' + reset_code); } reset_password(reset_code: string, password: string, password_confirm: string) { return this.http.insecurePut('/authentication/forgottenpassword/' + reset_code, { password : password, password_confirm : password_confirm }); } }