Files
tiku-backend.net/Tiku.Application/Learning/LearningAccessV2Models.cs
xiong 3f5957d744
Some checks failed
ci / release-gate (push) Has been cancelled
feat(content): establish v2 learning delivery foundation
2026-08-06 09:52:18 +08:00

44 lines
1.2 KiB
C#

namespace Tiku.Application.Learning;
public sealed record EffectiveLearningAccessSnapshot(
Guid TenantId,
Guid UserId,
Guid BusinessLineId,
Guid PrimaryProfileVersionId,
IReadOnlySet<Guid> AlternateProfileVersionIds,
IReadOnlySet<Guid> ContentReleaseIds,
IReadOnlySet<Guid> AudienceSegmentIds,
IReadOnlySet<Guid> ManifestVersionIds,
long GrantVersion,
long ContentVersion,
long StrongRevocationVersion,
DateTimeOffset ValidUntil,
DateTimeOffset CompiledAt);
public interface IEffectiveLearningAccessService
{
Task<EffectiveLearningAccessSnapshot> GetSnapshotAsync(
LearningActor actor,
Guid businessLineId,
CancellationToken cancellationToken = default);
Task InvalidateAsync(
Guid tenantId,
Guid userId,
Guid businessLineId,
CancellationToken cancellationToken = default);
}
public interface ILearningStrongRevocationService
{
Task EnsureVersionAsync(
LearningActor actor,
long expectedVersion,
CancellationToken cancellationToken = default);
Task InvalidateAsync(
Guid tenantId,
Guid userId,
CancellationToken cancellationToken = default);
}