feat: normalize user ID in auth envelope and update hub manager assignment logic

This commit is contained in:
Achintha Isuru
2026-03-17 14:47:01 -04:00
parent e2d833dc58
commit a12539ba07
3 changed files with 23 additions and 8 deletions

View File

@@ -190,7 +190,20 @@ class AuthRepositoryImpl implements AuthRepositoryInterface {
envelope['business'] as Map<String, dynamic>?;
if (businessJson != null) {
final ClientSession clientSession = ClientSession.fromJson(envelope);
// The auth envelope from buildAuthEnvelope uses `user.id` but
// ClientSession.fromJson expects `user.userId` (matching the shape
// returned by loadActorContext / GET /client/session). Normalise the
// key so the session is populated correctly.
final Map<String, dynamic> normalisedEnvelope = <String, dynamic>{
...envelope,
if (userJson != null)
'user': <String, dynamic>{
...userJson,
'userId': userJson['id'] ?? userJson['userId'],
},
};
final ClientSession clientSession =
ClientSession.fromJson(normalisedEnvelope);
ClientSessionStore.instance.setSession(clientSession);
}

View File

@@ -142,11 +142,13 @@ class HubRepositoryImpl implements HubRepositoryInterface {
required String hubId,
required List<String> businessMembershipIds,
}) async {
for (final String membershipId in businessMembershipIds) {
await _apiService.post(
ClientEndpoints.hubAssignManagers(hubId),
data: <String, dynamic>{
'businessMembershipIds': businessMembershipIds,
'businessMembershipId': membershipId,
},
);
}
}
}

View File

@@ -39,7 +39,7 @@ class ClientOrderQueryRepositoryImpl
id: role['roleId'] as String? ?? role['id'] as String? ?? '',
name: role['roleName'] as String? ?? role['name'] as String? ?? '',
costPerHour:
((role['billRateCents'] as num?)?.toDouble() ?? 0) / 100.0,
((role['hourlyRateCents'] as num?)?.toDouble() ?? 0) / 100.0,
);
}).toList();
}