@@ -3,7 +3,7 @@ import {Observable, ReplaySubject} from 'rxjs';
33import { get , del , set } from 'idb-keyval' ;
44
55import { AuthUser } from '../../../models/auth-user' ;
6- import { User } from '../../../models/user' ;
6+ import { User , UserInfo } from '../../../models/user' ;
77
88import { EnvironmentConfigService } from '../../core/environment/environment-config.service' ;
99
@@ -36,10 +36,7 @@ export class UserService {
3636 } else {
3737 const savedApiUserId : string = await get ( 'deckdeckgo_user_id' ) ;
3838 if ( ! savedApiUserId ) {
39- const apiUser : User = {
40- anonymous : authUser . anonymous ,
41- firebase_uid : authUser . uid
42- } ;
39+ const apiUser : UserInfo = await this . createUserInfo ( authUser ) ;
4340
4441 try {
4542 await this . query ( apiUser , authUser . token , 'POST' ) ;
@@ -71,7 +68,7 @@ export class UserService {
7168 } ) ;
7269 }
7370
74- query ( apiUser : User , token : string , method : string ) : Promise < User > {
71+ query ( apiUserInfo : UserInfo , token : string , method : string ) : Promise < User > {
7572 return new Promise < User > ( async ( resolve , reject ) => {
7673 try {
7774 const apiUrl : string = EnvironmentConfigService . getInstance ( ) . get ( 'apiUrl' ) ;
@@ -83,7 +80,7 @@ export class UserService {
8380 'Content-Type' : 'application/json' ,
8481 'Authorization' : `Bearer ${ token } `
8582 } ,
86- body : JSON . stringify ( apiUser )
83+ body : JSON . stringify ( apiUserInfo )
8784 } ) ;
8885
8986 if ( ! rawResponse || ( ! rawResponse . ok && rawResponse . status !== 409 ) ) {
@@ -163,4 +160,21 @@ export class UserService {
163160 return this . apiUserSubject . asObservable ( ) ;
164161 }
165162
163+ createUserInfo ( authUser : AuthUser ) : Promise < UserInfo > {
164+ return new Promise < UserInfo > ( ( resolve ) => {
165+ if ( ! authUser ) {
166+ resolve ( null ) ;
167+ return ;
168+ }
169+
170+ const apiUserInfo : UserInfo = {
171+ anonymous : authUser . anonymous ,
172+ firebase_uid : authUser . uid ,
173+ email : authUser . anonymous ? null : authUser . email
174+ } ;
175+
176+ resolve ( apiUserInfo ) ;
177+ } ) ;
178+ }
179+
166180}
0 commit comments