nexus/lib/models/gomuks_config.dart
2026-09-22 09:53:00 -04:00

55 lines
1.8 KiB
Dart

import "package:freezed_annotation/freezed_annotation.dart";
part "gomuks_config.freezed.dart";
part "gomuks_config.g.dart";
@Freezed(toJson: false, fromJson: false)
@JsonSerializable()
class const GomuksConfig({
final MatrixConfig? matrix,
final PushConfig? push,
final MediaConfig? media,
}) with _$GomuksConfig {
Map<String, Object?> toJson() => _$GomuksConfigToJson(this);
factory GomuksConfig.fromJson(Map<String, Object?> json) =>
_$GomuksConfigFromJson(json);
}
@Freezed(toJson: false, fromJson: false)
@JsonSerializable()
class const MatrixConfig({
@JsonKey(name: "disable_http2") final bool disableHttp2 = false,
@JsonKey(name: "set_presence") final String? setPresence,
@JsonKey(name: "initial_device_display_name")
required final String initialDeviceDisplayName,
}) with _$MatrixConfig {
Map<String, Object?> toJson() => _$MatrixConfigToJson(this);
factory MatrixConfig.fromJson(Map<String, Object?> json) =>
_$MatrixConfigFromJson(json);
}
@Freezed(toJson: false, fromJson: false)
@JsonSerializable()
class const PushConfig({
@JsonKey(name: "fcm_gateway") required final String fcmGateway,
@JsonKey(name: "vapid_private_key") required final String vapidPrivateKey,
@JsonKey(name: "vapid_public_key") required final String vapidPublicKey,
}) with _$PushConfig {
Map<String, Object?> toJson() => _$PushConfigToJson(this);
factory PushConfig.fromJson(Map<String, Object?> json) =>
_$PushConfigFromJson(json);
}
@Freezed(toJson: false, fromJson: false)
@JsonSerializable()
class const MediaConfig({
@JsonKey(name: "thumbnail_size") required final int thumbnailSize,
}) with _$MediaConfig {
Map<String, Object?> toJson() => _$MediaConfigToJson(this);
factory MediaConfig.fromJson(Map<String, Object?> json) =>
_$MediaConfigFromJson(json);
}