결재 API 계약 보완 및 테스트 정리
This commit is contained in:
31
lib/features/auth/domain/entities/auth_session.dart
Normal file
31
lib/features/auth/domain/entities/auth_session.dart
Normal file
@@ -0,0 +1,31 @@
|
||||
import 'auth_permission.dart';
|
||||
import 'authenticated_user.dart';
|
||||
|
||||
/// 로그인 또는 토큰 갱신 결과를 표현하는 세션 모델.
|
||||
class AuthSession {
|
||||
const AuthSession({
|
||||
required this.accessToken,
|
||||
required this.refreshToken,
|
||||
required this.expiresAt,
|
||||
required this.user,
|
||||
this.permissions = const [],
|
||||
});
|
||||
|
||||
/// API 인증에 사용되는 액세스 토큰.
|
||||
final String accessToken;
|
||||
|
||||
/// 토큰 갱신에 사용되는 리프레시 토큰.
|
||||
final String refreshToken;
|
||||
|
||||
/// 액세스 토큰 만료 시각.
|
||||
final DateTime? expiresAt;
|
||||
|
||||
/// 로그인한 사용자 정보.
|
||||
final AuthenticatedUser user;
|
||||
|
||||
/// 사용자에게 할당된 권한 목록.
|
||||
final List<AuthPermission> permissions;
|
||||
|
||||
/// 리프레시 토큰이 유효한지 여부를 단순 판단한다.
|
||||
bool get hasRefreshToken => refreshToken.isNotEmpty;
|
||||
}
|
||||
Reference in New Issue
Block a user