import 'package:freezed_annotation/freezed_annotation.dart'; part 'session_model.freezed.dart'; part 'session_model.g.dart'; @freezed class Session with _$Session { const factory Session({ required int id, @JsonKey(name: 'user_id') int? userId, @JsonKey(name: 'session_token') String? sessionToken, @JsonKey(name: 'device_name') required String deviceName, @JsonKey(name: 'ip_address') required String ipAddress, @JsonKey(name: 'app_name') String? appName, @JsonKey(name: 'app_version') String? appVersion, String? platform, @JsonKey(name: 'created_at') required DateTime createdAt, @JsonKey(name: 'last_active') required DateTime lastActive, @JsonKey(name: 'is_current') required bool isCurrent, }) = _Session; factory Session.fromJson(Map json) => _$SessionFromJson(json); }