< Summary

Information
Class: Elsa.UserTasks.Persistence.EFCore.Contracts.UserTaskPersistenceQuery
Assembly: Elsa.UserTasks.Persistence.EFCore
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.UserTasks.Persistence.EFCore/Contracts/IUserTaskPersistenceAdapter.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 7
Coverable lines: 7
Total lines: 34
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_TenantId()100%210%
get_Statuses()100%210%
get_AssigneeProvider()100%210%
get_AssigneeType()100%210%
get_AssigneeId()100%210%
get_Search()100%210%
get_Limit()100%210%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.UserTasks.Persistence.EFCore/Contracts/IUserTaskPersistenceAdapter.cs

#LineLine coverage
 1namespace Elsa.UserTasks.Persistence.EFCore.Contracts;
 2
 3/// <summary>
 4/// Low-level record adapter used by migration/reconciliation infrastructure. The public aggregate
 5/// repository is implemented by the same EF repository below.
 6/// </summary>
 7public interface IUserTaskPersistenceAdapter
 8{
 9    Task<UserTaskRecord?> GetAsync(string tenantId, string taskId, CancellationToken cancellationToken = default);
 10
 11    Task<IReadOnlyCollection<UserTaskRecord>> QueryAsync(
 12        UserTaskPersistenceQuery query,
 13        CancellationToken cancellationToken = default);
 14
 15    Task<bool> TryAddProjectionAsync(
 16        UserTaskRecord task,
 17        CancellationToken cancellationToken = default);
 18
 19    Task<bool> TrySaveAsync(
 20        UserTaskRecord task,
 21        int expectedRevision,
 22        CancellationToken cancellationToken = default);
 23}
 24
 25public sealed class UserTaskPersistenceQuery
 26{
 027    public string TenantId { get; init; } = default!;
 028    public IReadOnlyCollection<Elsa.UserTasks.Models.UserTaskStatus> Statuses { get; init; } = [];
 029    public string? AssigneeProvider { get; init; }
 030    public string? AssigneeType { get; init; }
 031    public string? AssigneeId { get; init; }
 032    public string? Search { get; init; }
 033    public int? Limit { get; init; }
 34}