(
session: ResolvedAuthSession,
lease: IssuedRuntimeLease | null,
options: ResolveLeaseOptions = {},
)
| 7 | } from './leases.js' |
| 8 | |
| 9 | function buildContinuityState( |
| 10 | session: ResolvedAuthSession, |
| 11 | lease: IssuedRuntimeLease | null, |
| 12 | options: ResolveLeaseOptions = {}, |
| 13 | ): ContinuityStatusView['continuityState'] { |
| 14 | if (!lease) { |
| 15 | return session.principalKind === 'none' ? 'unavailable' : 'degraded' |
| 16 | } |
| 17 | |
| 18 | switch (lease.state) { |
| 19 | case 'usable': |
| 20 | return needsLeaseRenewal(lease, options.nowMs) ? 'renewing' : 'healthy' |
| 21 | case 'renewing': |
| 22 | case 'grace_period': |
| 23 | return 'renewing' |
| 24 | case 'reauth_required': |
| 25 | return 'reauth_required' |
| 26 | case 'degraded': |
| 27 | case 'revoked': |
| 28 | case 'expired': |
| 29 | return 'degraded' |
| 30 | } |
| 31 | } |
| 32 | |
| 33 | function buildLeaseRenewalState( |
| 34 | lease: IssuedRuntimeLease | null, |
no test coverage detected