All checks were successful
Create Release / build (push) Successful in 4s
Backend: Add /voice/token endpoint with AccessToken + VoiceGrant for mobile VoIP, implement unhold_call() with call leg detection, wire FCM push notifications into call queue and webhook missed call handlers, add data-only FCM message support for Android background wake, and add Twilio API Key / Push Credential settings fields. Flutter app: Full softphone with Twilio Voice SDK integration, JWT auth with auto-refresh, SSE real-time queue updates, FCM push notifications, Material 3 UI with dashboard, active call screen, dialpad, and call controls (mute/speaker/hold/transfer). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
23 lines
463 B
Dart
23 lines
463 B
Dart
class User {
|
|
final int id;
|
|
final String login;
|
|
final String displayName;
|
|
final String? email;
|
|
|
|
User({
|
|
required this.id,
|
|
required this.login,
|
|
required this.displayName,
|
|
this.email,
|
|
});
|
|
|
|
factory User.fromJson(Map<String, dynamic> json) {
|
|
return User(
|
|
id: json['user_id'] as int,
|
|
login: json['user_login'] as String,
|
|
displayName: json['display_name'] as String,
|
|
email: json['email'] as String?,
|
|
);
|
|
}
|
|
}
|