Add initial project structure and configuration files for iOS and Android
This commit is contained in:
11
lib/features/auth/models/auth_credentials.dart
Normal file
11
lib/features/auth/models/auth_credentials.dart
Normal file
@@ -0,0 +1,11 @@
|
||||
class AuthCredentials {
|
||||
final String username;
|
||||
final String password;
|
||||
|
||||
AuthCredentials({required this.username, required this.password});
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
'username': username,
|
||||
'password': password,
|
||||
};
|
||||
}
|
26
lib/features/auth/models/auth_token.dart
Normal file
26
lib/features/auth/models/auth_token.dart
Normal file
@@ -0,0 +1,26 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
|
||||
class AuthToken extends Equatable {
|
||||
final String accessToken;
|
||||
final String refreshToken;
|
||||
final DateTime expiresAt;
|
||||
|
||||
const AuthToken({
|
||||
required this.accessToken,
|
||||
required this.refreshToken,
|
||||
required this.expiresAt,
|
||||
});
|
||||
|
||||
factory AuthToken.fromJson(Map<String, dynamic> json) {
|
||||
return AuthToken(
|
||||
accessToken: json['access_token'],
|
||||
refreshToken: json['refresh_token'],
|
||||
expiresAt: DateTime.parse(json['expires_at']),
|
||||
);
|
||||
}
|
||||
|
||||
bool get isExpired => DateTime.now().isAfter(expiresAt);
|
||||
|
||||
@override
|
||||
List<Object> get props => [accessToken, refreshToken, expiresAt];
|
||||
}
|
Reference in New Issue
Block a user