Files
momo/lib/models/configs.dart
quantulr ac65c1dec0 init
2023-02-06 23:45:56 +08:00

55 lines
1.6 KiB
Dart

import 'package:json_annotation/json_annotation.dart';
/// This allows the `User` class to access private members in
/// the generated file. The value for this is *.g.dart, where
/// the star denotes the source file name.
part 'configs.g.dart';
/// An annotation for the code generator to know that this class needs the
/// JSON serialization logic to be generated.
@JsonSerializable()
class Configs {
Configs(
this.port,
this.socksPort,
this.tproxyPort,
this.redirPort,
this.mixedPort,
this.authentication,
this.allowLan,
this.bindAddress,
this.mode,
this.logLevel,
this.ipv6);
int port;
@JsonKey(name: 'socks-port')
int socksPort;
@JsonKey(name: 'redir-port')
int redirPort;
@JsonKey(name: 'tproxy-port')
int tproxyPort;
@JsonKey(name: 'mixed-port')
int mixedPort;
List authentication;
@JsonKey(name: 'allow-lan')
bool allowLan;
@JsonKey(name: 'bind-address')
String bindAddress;
String mode;
@JsonKey(name: 'log-level')
String logLevel;
bool ipv6;
/// A necessary factory constructor for creating a new Configs instance
/// from a map. Pass the map to the generated `_$ConfigsFromJson()` constructor.
/// The constructor is named after the source class, in this case, Configs.
factory Configs.fromJson(Map<String, dynamic> json) =>
_$ConfigsFromJson(json);
/// `toJson` is the convention for a class to declare support for serialization
/// to JSON. The implementation simply calls the private, generated
/// helper method `_$ConfigsToJson`.
Map<String, dynamic> toJson() => _$ConfigsToJson(this);
}