// SPDX-FileCopyrightText: 2026 Progmasoft // SPDX-License-Identifier: AGPL-3.0-or-later WITH AdditionRef-Progmasoft-Patent-Grant-1.1 namespace Progmasoft.Progmaweb.Api.Accounts; internal interface IAccountStore { ValueTask CreateAsync(AccountRecord account, CancellationToken cancellationToken); ValueTask FindByEmailAsync(string normalizedEmail, CancellationToken cancellationToken); ValueTask FindByGoogleSubjectAsync(string googleSubject, CancellationToken cancellationToken); ValueTask FindByIdAsync(Guid id, CancellationToken cancellationToken); ValueTask StoreSessionAsync(SessionRecord session, CancellationToken cancellationToken); ValueTask FindSessionAsync(byte[] tokenDigest, CancellationToken cancellationToken); ValueTask RevokeSessionAsync(byte[] tokenDigest, CancellationToken cancellationToken); }