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 permissions; /// 리프레시 토큰이 유효한지 여부를 단순 판단한다. bool get hasRefreshToken => refreshToken.isNotEmpty; }