@@ -198,25 +198,48 @@ export const User = (signal?: AbortSignal) => {
198
198
199
199
getSamUserCombinedState : async ( ) : Promise < SamUserCombinedStateResponse > => {
200
200
const res = await fetchSam ( 'api/users/v2/self/combinedState' , _ . mergeAll ( [ authOpts ( ) , { signal } ] ) ) ;
201
- const response = await res . json ( ) ;
202
- if ( response . terraUserAttributes !== undefined ) {
203
- response . terraUserAttributes = response . attributes . map ( ( attributes ) => {
204
- const { userId : _ , ...rest } = attributes ;
205
- return rest ;
206
- } ) ;
207
- }
208
-
209
- response . samUser . createdAt = response . samUser . createdAt ? new Date ( response . samUser . createdAt ) : undefined ;
210
- response . samUser . registeredAt = response . samUser . registeredAt
211
- ? new Date ( response . samUser . registeredAt )
212
- : undefined ;
213
- response . samUser . updatedAt = response . samUser . updatedAt ? new Date ( response . samUser . updatedAt ) : undefined ;
201
+ const responseJson = await res . json ( ) ;
202
+ const samUser = {
203
+ id : responseJson . samUser . id ,
204
+ googleSubjectId : responseJson . samUser . googleSubjectId ,
205
+ email : responseJson . samUser . email ,
206
+ azureB2CId : responseJson . samUser . azureB2CId ,
207
+ allowed : responseJson . samUser . allowed ,
208
+ createdAt : responseJson . samUser . createdAt ? new Date ( json . createdAt ) : undefined ,
209
+ registeredAt : responseJson . samUser . registeredAt ? new Date ( json . registeredAt ) : undefined ,
210
+ updatedAt : responseJson . samUser . updatedAt ? new Date ( json . updatedAt ) : undefined ,
211
+ } as SamUserResponse ;
212
+
213
+ const terraUserAllowances = {
214
+ allowed : responseJson . allowances . allowed ,
215
+ details : {
216
+ enabled : responseJson . allowances . details . enabled ,
217
+ termsOfService : responseJson . allowances . details . termsOfService ,
218
+ } as SamUserAllowancesDetails ,
219
+ } as SamUserAllowances ;
220
+
221
+ const terraUserAttributes = { marketingConsent : responseJson . attributes . marketingConsent } as SamUserAttributes ;
222
+
223
+ const termsOfService = {
224
+ latestAcceptedVersion : responseJson . termsOfServiceDetails . latestAcceptedVersion ,
225
+ acceptedOn : responseJson . termsOfServiceDetails . acceptedOn
226
+ ? new Date ( responseJson . termsOfServiceDetails . acceptedOn )
227
+ : undefined ,
228
+ permitsSystemUsage : responseJson . termsOfServiceDetails . permitsSystemUsage ,
229
+ isCurrentVersion : responseJson . termsOfServiceDetails . isCurrentVersion ,
230
+ } as SamUserTermsOfServiceDetails ;
231
+
232
+ const enterpriseFeatures = responseJson . additionalDetails . enterpriseFeatures
233
+ ? responseJson . additionalDetails . enterpriseFeatures . resources . map ( ( resource ) => resource . resourceId )
234
+ : [ ] ;
214
235
215
- response . enterpriseFeatures = response . additionalDetails . enterpriseFeatures . resources . map (
216
- ( resource ) => resource . resourceId
217
- ) ;
218
-
219
- return response ;
236
+ return {
237
+ samUser,
238
+ terraUserAllowances,
239
+ terraUserAttributes,
240
+ termsOfService,
241
+ enterpriseFeatures,
242
+ } as SamUserCombinedStateResponse ;
220
243
} ,
221
244
222
245
registerWithProfile : async (
0 commit comments