Skip to content

Commit 52639dd

Browse files
committed
Add core EF Core entities and configurations
1 parent 349ebd3 commit 52639dd

36 files changed

+682
-0
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
namespace ServiceControl.Persistence.Sql.Core.Entities;
2+
3+
using System;
4+
5+
public class ArchiveOperationEntity
6+
{
7+
public Guid Id { get; set; }
8+
public string RequestId { get; set; } = null!;
9+
public string GroupName { get; set; } = null!;
10+
public int ArchiveType { get; set; } // ArchiveType enum as int
11+
public int ArchiveState { get; set; } // ArchiveState enum as int
12+
public int TotalNumberOfMessages { get; set; }
13+
public int NumberOfMessagesArchived { get; set; }
14+
public int NumberOfBatches { get; set; }
15+
public int CurrentBatch { get; set; }
16+
public DateTime Started { get; set; }
17+
public DateTime? Last { get; set; }
18+
public DateTime? CompletionTime { get; set; }
19+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
namespace ServiceControl.Persistence.Sql.Core.Entities;
2+
3+
public class CustomCheckEntity
4+
{
5+
public Guid Id { get; set; }
6+
public string CustomCheckId { get; set; } = null!;
7+
public string? Category { get; set; }
8+
public int Status { get; set; } // 0 = Pass, 1 = Fail
9+
public DateTime ReportedAt { get; set; }
10+
public string? FailureReason { get; set; }
11+
public string EndpointName { get; set; } = null!;
12+
public Guid HostId { get; set; }
13+
public string Host { get; set; } = null!;
14+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
namespace ServiceControl.Persistence.Sql.Core.Entities;
2+
3+
public class EndpointSettingsEntity
4+
{
5+
public required string Name { get; set; }
6+
public bool TrackInstances { get; set; }
7+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
namespace ServiceControl.Persistence.Sql.Core.Entities;
2+
3+
using System;
4+
5+
public class EventLogItemEntity
6+
{
7+
public Guid Id { get; set; }
8+
public required string Description { get; set; }
9+
public int Severity { get; set; }
10+
public DateTime RaisedAt { get; set; }
11+
public string? RelatedTo { get; set; } // Stored as JSON array
12+
public string? Category { get; set; }
13+
public string? EventType { get; set; }
14+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
namespace ServiceControl.Persistence.Sql.Core.Entities;
2+
3+
using System;
4+
5+
public class ExternalIntegrationDispatchRequestEntity
6+
{
7+
public long Id { get; set; }
8+
public string DispatchContextJson { get; set; } = null!;
9+
public DateTime CreatedAt { get; set; }
10+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
namespace ServiceControl.Persistence.Sql.Core.Entities;
2+
3+
using System;
4+
5+
public class FailedErrorImportEntity
6+
{
7+
public Guid Id { get; set; }
8+
public string MessageJson { get; set; } = null!; // FailedTransportMessage as JSON
9+
public string? ExceptionInfo { get; set; }
10+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
namespace ServiceControl.Persistence.Sql.Core.Entities;
2+
3+
using System;
4+
using ServiceControl.MessageFailures;
5+
6+
public class FailedMessageEntity
7+
{
8+
public Guid Id { get; set; }
9+
public string UniqueMessageId { get; set; } = null!;
10+
public FailedMessageStatus Status { get; set; }
11+
12+
// JSON columns for complex nested data
13+
public string ProcessingAttemptsJson { get; set; } = null!;
14+
public string FailureGroupsJson { get; set; } = null!;
15+
16+
// Denormalized fields from FailureGroups for efficient filtering
17+
// PrimaryFailureGroupId is the first group ID from FailureGroupsJson array
18+
public string? PrimaryFailureGroupId { get; set; }
19+
20+
// Denormalized fields from the last processing attempt for efficient querying
21+
public string? MessageId { get; set; }
22+
public string? MessageType { get; set; }
23+
public DateTime? TimeSent { get; set; }
24+
public string? SendingEndpointName { get; set; }
25+
public string? ReceivingEndpointName { get; set; }
26+
public string? ExceptionType { get; set; }
27+
public string? ExceptionMessage { get; set; }
28+
public string? QueueAddress { get; set; }
29+
public int? NumberOfProcessingAttempts { get; set; }
30+
public DateTime? LastProcessedAt { get; set; }
31+
public string? ConversationId { get; set; }
32+
33+
// Performance metrics for sorting and filtering
34+
public TimeSpan? CriticalTime { get; set; }
35+
public TimeSpan? ProcessingTime { get; set; }
36+
public TimeSpan? DeliveryTime { get; set; }
37+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
namespace ServiceControl.Persistence.Sql.Core.Entities;
2+
3+
using System;
4+
5+
public class FailedMessageRetryEntity
6+
{
7+
public Guid Id { get; set; }
8+
public string FailedMessageId { get; set; } = null!;
9+
public string? RetryBatchId { get; set; }
10+
public int StageAttempts { get; set; }
11+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
namespace ServiceControl.Persistence.Sql.Core.Entities;
2+
3+
using System;
4+
5+
public class GroupCommentEntity
6+
{
7+
public Guid Id { get; set; }
8+
public string GroupId { get; set; } = null!;
9+
public string Comment { get; set; } = null!;
10+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
namespace ServiceControl.Persistence.Sql.Core.Entities;
2+
3+
public class KnownEndpointEntity
4+
{
5+
public Guid Id { get; set; }
6+
public string EndpointName { get; set; } = null!;
7+
public Guid HostId { get; set; }
8+
public string Host { get; set; } = null!;
9+
public string HostDisplayName { get; set; } = null!;
10+
public bool Monitored { get; set; }
11+
}

0 commit comments

Comments
 (0)