@@ -58,11 +58,10 @@ export class Session {
58
58
} ) ,
59
59
) ;
60
60
61
- const sessionData = {
62
- onlineAccessInfo : {
63
- associated_user : { } ,
64
- } ,
65
- } as SessionParams ;
61
+ const sessionData = { } as SessionParams ;
62
+ const onlineAccessInfo = {
63
+ associated_user : { } ,
64
+ } as OnlineAccessInfo ;
66
65
Object . entries ( obj ) . forEach ( ( [ key , value ] ) => {
67
66
switch ( key ) {
68
67
case 'isOnline' :
@@ -81,59 +80,56 @@ export class Session {
81
80
sessionData [ key ] = value ? new Date ( Number ( value ) ) : undefined ;
82
81
break ;
83
82
case 'onlineAccessInfo' :
84
- sessionData . onlineAccessInfo ! . associated_user . id = Number ( value ) ;
83
+ onlineAccessInfo . associated_user . id = Number ( value ) ;
85
84
break ;
86
85
case 'userId' :
87
86
if ( returnUserData ) {
88
- sessionData . onlineAccessInfo ! . associated_user . id = Number ( value ) ;
87
+ onlineAccessInfo . associated_user . id = Number ( value ) ;
89
88
break ;
90
89
}
91
90
case 'firstName' :
92
91
if ( returnUserData ) {
93
- sessionData . onlineAccessInfo ! . associated_user . first_name =
94
- String ( value ) ;
92
+ onlineAccessInfo . associated_user . first_name = String ( value ) ;
95
93
break ;
96
94
}
97
95
case 'lastName' :
98
96
if ( returnUserData ) {
99
- sessionData . onlineAccessInfo ! . associated_user . last_name =
100
- String ( value ) ;
97
+ onlineAccessInfo . associated_user . last_name = String ( value ) ;
101
98
break ;
102
99
}
103
100
case 'email' :
104
101
if ( returnUserData ) {
105
- sessionData . onlineAccessInfo ! . associated_user . email = String ( value ) ;
102
+ onlineAccessInfo . associated_user . email = String ( value ) ;
106
103
break ;
107
104
}
108
105
case 'accountOwner' :
109
106
if ( returnUserData ) {
110
- sessionData . onlineAccessInfo ! . associated_user . account_owner =
111
- Boolean ( value ) ;
107
+ onlineAccessInfo . associated_user . account_owner = Boolean ( value ) ;
112
108
break ;
113
109
}
114
110
case 'locale' :
115
111
if ( returnUserData ) {
116
- sessionData . onlineAccessInfo ! . associated_user . locale =
117
- String ( value ) ;
112
+ onlineAccessInfo . associated_user . locale = String ( value ) ;
118
113
break ;
119
114
}
120
115
case 'collaborator' :
121
116
if ( returnUserData ) {
122
- sessionData . onlineAccessInfo ! . associated_user . collaborator =
123
- Boolean ( value ) ;
117
+ onlineAccessInfo . associated_user . collaborator = Boolean ( value ) ;
124
118
break ;
125
119
}
126
120
case 'emailVerified' :
127
121
if ( returnUserData ) {
128
- sessionData . onlineAccessInfo ! . associated_user . email_verified =
129
- Boolean ( value ) ;
122
+ onlineAccessInfo . associated_user . email_verified = Boolean ( value ) ;
130
123
break ;
131
124
}
132
125
// Return any user keys as passed in
133
126
default :
134
127
sessionData [ key ] = value ;
135
128
}
136
129
} ) ;
130
+ if ( sessionData . isOnline ) {
131
+ sessionData . onlineAccessInfo = onlineAccessInfo ;
132
+ }
137
133
const session = new Session ( sessionData ) ;
138
134
return session ;
139
135
}
0 commit comments