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.
51 lines
1.7 KiB
C#
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();
|
|
}
|