99 lines
2.5 KiB
Dart
99 lines
2.5 KiB
Dart
import 'package:json_annotation/json_annotation.dart';
|
|
|
|
/// Created by Haoyi on 6/3/21
|
|
|
|
part 'user.g.dart';
|
|
|
|
@JsonSerializable()
|
|
class SaasUser {
|
|
@JsonKey(name: 'uid', defaultValue: "")
|
|
final String uid;
|
|
|
|
@JsonKey(name: 'token', defaultValue: "")
|
|
final String token;
|
|
|
|
@JsonKey(name: 'firebaseToken', defaultValue: "")
|
|
final String firebaseToken;
|
|
|
|
@JsonKey(name: 'createdAtTimestamp', defaultValue: 0)
|
|
final int createAtTimestamp;
|
|
|
|
// bool get isAnonymous => (type == null) || (type == LOGIN_WITH_ANONYMOUS);
|
|
|
|
bool get isValid =>
|
|
(uid != "") && (token.isNotEmpty == true) && (firebaseToken.isNotEmpty == true);
|
|
|
|
SaasUser(
|
|
{required this.uid,
|
|
required this.token,
|
|
required this.firebaseToken,
|
|
this.createAtTimestamp = 0});
|
|
|
|
factory SaasUser.fromJson(Map<String, dynamic> json) => _$SaasUserFromJson(json);
|
|
|
|
Map<String, dynamic> toJson() => _$SaasUserToJson(this);
|
|
|
|
SaasUser copyWith({String? firebaseToken, String? token}) {
|
|
return SaasUser(
|
|
uid: uid, token: token ?? this.token, firebaseToken: firebaseToken ?? this.firebaseToken);
|
|
}
|
|
|
|
bool isSame(SaasUser? user) {
|
|
return uid == user?.uid &&
|
|
token == user?.token &&
|
|
firebaseToken == user?.firebaseToken &&
|
|
createAtTimestamp == user?.createAtTimestamp;
|
|
}
|
|
|
|
@override
|
|
String toString() {
|
|
return 'SaasUser{uid: $uid, token: $token, firebaseToken: $firebaseToken, createAtTimestamp: $createAtTimestamp}';
|
|
}
|
|
}
|
|
|
|
// 匿名登录请求数据
|
|
@JsonSerializable()
|
|
class AnonymousLoginReqBody {
|
|
@JsonKey(name: 'secret', defaultValue: "")
|
|
final String secret;
|
|
|
|
AnonymousLoginReqBody({required this.secret});
|
|
|
|
// @override
|
|
// String toString() {
|
|
// return "{secret: '$secret'}";
|
|
// }
|
|
|
|
factory AnonymousLoginReqBody.fromJson(Map<String, dynamic> json) =>
|
|
_$AnonymousLoginReqBodyFromJson(json);
|
|
|
|
Map<String, dynamic> toJson() => _$AnonymousLoginReqBodyToJson(this);
|
|
}
|
|
|
|
@JsonSerializable()
|
|
class FirebaseTokenData {
|
|
@JsonKey(name: 'uid', defaultValue: "")
|
|
final String uid;
|
|
|
|
@JsonKey(name: 'firebaseToken', defaultValue: "")
|
|
final String firebaseToken;
|
|
|
|
FirebaseTokenData({required this.uid, required this.firebaseToken});
|
|
|
|
factory FirebaseTokenData.fromJson(Map<String, dynamic> json) =>
|
|
_$FirebaseTokenDataFromJson(json);
|
|
|
|
Map<String, dynamic> toJson() => _$FirebaseTokenDataToJson(this);
|
|
|
|
@override
|
|
String toString() {
|
|
return 'FirebaseTokenData{uid: $uid, firebaseToken: $firebaseToken}';
|
|
}
|
|
}
|
|
|
|
|
|
class UserAttr {
|
|
static const real = 0;
|
|
static const tester = 10;
|
|
static const machine = 100;
|
|
} |