Files
MilkyShots/Lactose/Repositories/IJobRecordRepository.cs
REDCODE eb9f0d14d3 docs: add XML documentation to all public APIs across all projects
Achieves 100% XML doc coverage on non-trivial types with CS1591
enforcement via Directory.Build.props.

Coverage by project:
- Butter: from 6.5% to 100% (DTOs, enums, MIME types)
- Lactose: from ~28% to 100% (controllers, services, repos, jobs, models)
- MilkStream.Client: from ~29% to 100% (all frontend services)

Uses <inheritdoc /> on repository implementations (interfaces
already documented) and full <summary>/<param>/<returns> tags
elsewhere. Enums include member-level docs.
2026-07-06 18:45:21 +02:00

51 lines
1.7 KiB
C#

using Lactose.Models;
namespace Lactose.Repositories;
/// <summary>
/// Interface for job record repository operations.
/// </summary>
public interface IJobRecordRepository : IDisposable {
/// <summary>
/// Inserts a new job record.
/// </summary>
/// <param name="job">The job record to insert.</param>
void Insert(JobRecord job);
/// <summary>
/// Updates an existing job record.
/// </summary>
/// <param name="job">The job record to update.</param>
void Update(JobRecord job);
/// <summary>
/// Retrieves all job records, ordered by most recent.
/// </summary>
List<JobRecord> GetAll();
/// <summary>
/// Retrieves a page of past (completed/failed/canceled) root job records.
/// </summary>
/// <param name="page">The page number.</param>
/// <param name="pageSize">The number of records per page.</param>
/// <param name="total">The total number of past root jobs.</param>
List<JobRecord> GetPastRootJobs(int page, int pageSize, out int total);
/// <summary>
/// Retrieves child job records for a given parent job.
/// </summary>
/// <param name="parentId">The parent job ID.</param>
List<JobRecord> GetChildren(Guid parentId);
/// <summary>
/// Retrieves a job record by its ID.
/// </summary>
/// <param name="id">The job record ID.</param>
JobRecord? GetById(Guid id);
/// <summary>
/// Deletes job records that finished before the specified cutoff date.
/// </summary>
/// <param name="cutoff">The cutoff date.</param>
/// <returns>The number of deleted records.</returns>
int DeleteOldJobs(DateTime cutoff);
/// <summary>
/// Persists changes to the database.
/// </summary>
void Save();
}