17 lines
865 B
C#
17 lines
865 B
C#
using System;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using TwitchArchive.Core.Persistence.Models;
|
|
|
|
namespace TwitchArchive.Core.Persistence
|
|
{
|
|
public interface ISessionRepository
|
|
{
|
|
Task<StreamSession> CreateSessionAsync(string username, string streamId, DateTime startedAt, CancellationToken ct = default);
|
|
Task EndSessionAsync(long sessionId, DateTime endedAt, string status, CancellationToken ct = default);
|
|
Task<ArchiveJob> CreateJobAsync(long sessionId, string jobType, DateTime startedAt, CancellationToken ct = default);
|
|
Task UpdateJobAsync(ArchiveJob job, CancellationToken ct = default);
|
|
Task<List<StreamSession>> GetRecentSessionsAsync(int max = 50, CancellationToken ct = default);
|
|
Task<List<ArchiveJob>> GetJobsForSessionAsync(long sessionId, CancellationToken ct = default);
|
|
}
|
|
}
|