using MealPlan.Api.Models;
namespace MealPlan.Api.Services;
///
/// Stores issued refresh tokens. Backed by an in-memory implementation because the
/// existing database schema must not be modified and no migrations may be added.
///
public interface IRefreshTokenStore
{
void Add(RefreshToken token);
RefreshToken? Get(string token);
/// Marks a token revoked. Returns the revoked token if it existed and was active.
RefreshToken? Revoke(string token);
/// Removes expired/revoked tokens to bound memory usage.
void RemoveExpired();
}