Browse Source

Get an us User for the local user

master
Dan 2 years ago
parent
commit
7c1a5c0173
  1. 43
      packages/bridge-ui/src/app/services/users.service.ts

43
packages/bridge-ui/src/app/services/users.service.ts

@ -16,7 +16,8 @@ export class UsersService {
isAuthenticated = false; isAuthenticated = false;
permissions: string[] = []; permissions: string[] = [];
localUser: any | null | undefined = null; localAuth0User: any | null | undefined = null;
localUser: User | null | undefined = null;
additionalInfo : any = null; additionalInfo : any = null;
constructor( constructor(
@ -37,8 +38,8 @@ export class UsersService {
if(!this.isAuthenticated) { return } if(!this.isAuthenticated) { return }
this.authService.user$.subscribe(data => { this.authService.user$.subscribe(data => {
this.localUser = data; this.localAuth0User = data;
console.log(this.localUser); console.log(this.localAuth0User);
this.reportLogin(); this.reportLogin();
}) })
@ -56,8 +57,11 @@ export class UsersService {
getUserdetails(id: string) { getUserdetails(id: string) {
let promise = new Promise<User|undefined>((resolve, reject) => { let promise = new Promise<User|undefined>((resolve, reject) => {
let _id = id;
this.httpClient.get(this.serverEndpointService.getCurrentEndpoint()+"users/"+"auth0|"+id).subscribe(data => { if(!_id.startsWith("auth0|")) {
_id = "auth0|" + _id;
}
this.httpClient.get(this.serverEndpointService.getCurrentEndpoint()+"users/"+_id).subscribe(data => {
let user = plainToClass(User, data, { excludeExtraneousValues: true, enableCircularCheck: true }); let user = plainToClass(User, data, { excludeExtraneousValues: true, enableCircularCheck: true });
let val = user instanceof User ? user : user[0] let val = user instanceof User ? user : user[0]
resolve(val); resolve(val);
@ -67,47 +71,48 @@ export class UsersService {
} }
updateUserDetails(nickname: string, realname: string) { updateUserDetails(nickname: string, realname: string) {
let id = this.localUser.sub; let id = this.localAuth0User.sub;
return this.httpClient.post(this.serverEndpointService.getCurrentEndpoint()+"users/"+id+"/update", {id, nickname, realname}); return this.httpClient.post(this.serverEndpointService.getCurrentEndpoint()+"users/"+id+"/update", {id, nickname, realname});
} }
reportLogin() { async reportLogin() {
if(!this.localUser) { return } if(!this.localAuth0User) { return }
let id = this.localUser.sub; let id = this.localAuth0User.sub;
let nickname = this.localUser.nickname; let nickname = this.localAuth0User.nickname;
let picture = this.localUser.picture; let picture = this.localAuth0User.picture;
let time = Date.now(); let time = Date.now();
this.httpClient.post(this.serverEndpointService.getCurrentEndpoint()+"users/login", {id, nickname, picture, time}).subscribe(); await this.httpClient.post(this.serverEndpointService.getCurrentEndpoint()+"users/login", {id, nickname, picture, time}).subscribe();
this.getUserdetails(id).subscribe( data => { this.localUser = data;} )
} }
getUserName() : string { getUserName() : string {
if(!this.isAuthenticated || !this.localUser) {return ""} if(!this.isAuthenticated || !this.localUser) {return ""}
return this.localUser.nickname || ""; return this.localUser.getUserName()
} }
getUserId() : string { getUserId() : string {
if(!this.isAuthenticated || !this.localUser) {return ""} if(!this.isAuthenticated || !this.localUser) {return ""}
return this.localUser.sub?.replace("auth0|", "") || ""; return this.localUser.getUserId();
} }
getUserPicture() : string { getUserPicture() : string {
if(!this.isAuthenticated || !this.localUser) {return ""} if(!this.isAuthenticated || !this.localUser) {return ""}
return this.localUser.picture || ""; return this.localUser.getUserPicture();
} }
getUserEmail() : string { getUserEmail() : string {
if(!this.isAuthenticated || !this.localUser) {return ""} if(!this.isAuthenticated || !this.localUser) {return ""}
return this.localUser.email || ""; return this.localUser.getUserEmail();
} }
getUserRealName() : string { getUserRealName() : string {
if(!this.isAuthenticated || !this.localUser || !this.additionalInfo) {return "??? ???"} if(!this.isAuthenticated || !this.localUser ) {return "??? ???"}
return "??? ???"; return this.localUser.getUserRealName();
} }
canCreateSeasons() : boolean { canCreateSeasons() : boolean {
@ -127,7 +132,7 @@ export class UsersService {
} }
isLocalUser(id: string) { isLocalUser(id: string) {
if(!this.isAuthenticated || !this.localUser) {return false} if(!this.isAuthenticated || !this.localAuth0User) {return false}
let other = id.replace("auth0|", "") let other = id.replace("auth0|", "")
return this.getUserId() == other; return this.getUserId() == other;

Loading…
Cancel
Save