git-touch-android-ios-app/lib/models/account.dart

38 lines
875 B
Dart
Raw Normal View History

import 'package:json_annotation/json_annotation.dart';
import 'package:meta/meta.dart';
part 'account.g.dart';
@JsonSerializable()
class AccountModel {
String platform;
String domain;
2019-09-26 16:14:14 +02:00
String token;
String login;
2019-09-26 16:14:14 +02:00
String avatarUrl;
2019-09-26 16:40:53 +02:00
equals(AccountModel a) {
final uri = Uri.parse(domain);
final uriA = Uri.parse(a.domain);
// Treat domains as the same if they have the same hosts and ports
return a.platform == platform &&
a.login == login &&
uri.host == uriA.host &&
uri.port == uriA.port;
}
AccountModel({
2019-09-26 16:14:14 +02:00
@required this.platform,
@required this.domain,
@required this.token,
2019-09-26 16:14:14 +02:00
@required this.login,
@required this.avatarUrl,
});
factory AccountModel.fromJson(Map<String, dynamic> json) =>
_$AccountModelFromJson(json);
Map<String, dynamic> toJson() => _$AccountModelToJson(this);
}