mirror of
https://github.com/Sea-Haven-Industries/shoc-backend.git
synced 2026-09-30 13:03:12 +00:00
53 lines
2 KiB
C#
53 lines
2 KiB
C#
namespace SeaHaven.Services.Interfaces
|
|
{
|
|
public interface IProcurementWorkOrderClient
|
|
{
|
|
Task<ProcurementPage<ProcurementWorkOrder>> GetWorkOrdersAsync(
|
|
string? cursor,
|
|
int limit,
|
|
CancellationToken cancellationToken);
|
|
|
|
Task<ProcurementPage<ProcurementWorkOrderComment>> GetCommentsAsync(
|
|
string workOrderId,
|
|
string? cursor,
|
|
int limit,
|
|
CancellationToken cancellationToken);
|
|
}
|
|
|
|
public sealed record ProcurementPage<T>(
|
|
IReadOnlyList<T> Items,
|
|
string? NextCursor);
|
|
|
|
public sealed record ProcurementWorkOrder
|
|
{
|
|
public required string WorkOrderId { get; init; }
|
|
public string? WoStatus { get; init; }
|
|
public string? Description { get; init; }
|
|
public string? Customer { get; init; }
|
|
public string? SiteCode { get; init; }
|
|
public string? Building { get; init; }
|
|
public string? Address { get; init; }
|
|
public string? Severity { get; init; }
|
|
public string? Priority { get; init; }
|
|
public string? AssignedTo { get; init; }
|
|
public DateTimeOffset? DateReported { get; init; }
|
|
public DateTimeOffset? ScheduledStart { get; init; }
|
|
public DateTimeOffset? DueDate { get; init; }
|
|
public string? RecordType { get; init; }
|
|
public DateTimeOffset? CreatedAt { get; init; }
|
|
public DateTimeOffset? UpdatedAt { get; init; }
|
|
public string? SourceEmailS3Key { get; init; }
|
|
}
|
|
|
|
public sealed record ProcurementWorkOrderComment
|
|
{
|
|
public required string WorkOrderId { get; init; }
|
|
public required string CommentId { get; init; }
|
|
public string? RecordType { get; init; }
|
|
public string? Commenter { get; init; }
|
|
public string? Text { get; init; }
|
|
public DateTimeOffset? CreatedAt { get; init; }
|
|
public DateTimeOffset? IngestedAt { get; init; }
|
|
public string? SourceEmailS3Key { get; init; }
|
|
}
|
|
}
|