diff --git a/src/IncidentOps.Contracts/Auth/AuthResponse.cs b/src/IncidentOps.Contracts/Auth/AuthResponse.cs new file mode 100644 index 0000000..d9eb5b6 --- /dev/null +++ b/src/IncidentOps.Contracts/Auth/AuthResponse.cs @@ -0,0 +1,5 @@ +namespace IncidentOps.Contracts.Auth; + +public record AuthResponse(string AccessToken, string RefreshToken, ActiveOrgDto ActiveOrg); + +public record ActiveOrgDto(Guid Id, string Name, string Slug, string Role); diff --git a/src/IncidentOps.Contracts/Auth/LoginRequest.cs b/src/IncidentOps.Contracts/Auth/LoginRequest.cs new file mode 100644 index 0000000..1e09a8c --- /dev/null +++ b/src/IncidentOps.Contracts/Auth/LoginRequest.cs @@ -0,0 +1,3 @@ +namespace IncidentOps.Contracts.Auth; + +public record LoginRequest(string Email, string Password, Guid? OrgId = null); diff --git a/src/IncidentOps.Contracts/Auth/LogoutRequest.cs b/src/IncidentOps.Contracts/Auth/LogoutRequest.cs new file mode 100644 index 0000000..ca718e3 --- /dev/null +++ b/src/IncidentOps.Contracts/Auth/LogoutRequest.cs @@ -0,0 +1,3 @@ +namespace IncidentOps.Contracts.Auth; + +public record LogoutRequest(string RefreshToken); diff --git a/src/IncidentOps.Contracts/Auth/MeResponse.cs b/src/IncidentOps.Contracts/Auth/MeResponse.cs new file mode 100644 index 0000000..935d9b2 --- /dev/null +++ b/src/IncidentOps.Contracts/Auth/MeResponse.cs @@ -0,0 +1,3 @@ +namespace IncidentOps.Contracts.Auth; + +public record MeResponse(Guid Id, string Email, string DisplayName, ActiveOrgDto ActiveOrg); diff --git a/src/IncidentOps.Contracts/Auth/RefreshRequest.cs b/src/IncidentOps.Contracts/Auth/RefreshRequest.cs new file mode 100644 index 0000000..e125f0b --- /dev/null +++ b/src/IncidentOps.Contracts/Auth/RefreshRequest.cs @@ -0,0 +1,3 @@ +namespace IncidentOps.Contracts.Auth; + +public record RefreshRequest(string RefreshToken); diff --git a/src/IncidentOps.Contracts/Auth/RegisterRequest.cs b/src/IncidentOps.Contracts/Auth/RegisterRequest.cs new file mode 100644 index 0000000..6cced21 --- /dev/null +++ b/src/IncidentOps.Contracts/Auth/RegisterRequest.cs @@ -0,0 +1,3 @@ +namespace IncidentOps.Contracts.Auth; + +public record RegisterRequest(string Email, string Password, string DisplayName); diff --git a/src/IncidentOps.Contracts/Auth/SwitchOrgRequest.cs b/src/IncidentOps.Contracts/Auth/SwitchOrgRequest.cs new file mode 100644 index 0000000..e8b9fe9 --- /dev/null +++ b/src/IncidentOps.Contracts/Auth/SwitchOrgRequest.cs @@ -0,0 +1,3 @@ +namespace IncidentOps.Contracts.Auth; + +public record SwitchOrgRequest(string RefreshToken, Guid OrgId); diff --git a/src/IncidentOps.Contracts/IncidentOps.Contracts.csproj b/src/IncidentOps.Contracts/IncidentOps.Contracts.csproj new file mode 100644 index 0000000..b760144 --- /dev/null +++ b/src/IncidentOps.Contracts/IncidentOps.Contracts.csproj @@ -0,0 +1,9 @@ + + + + net10.0 + enable + enable + + + diff --git a/src/IncidentOps.Contracts/Incidents/CommentRequest.cs b/src/IncidentOps.Contracts/Incidents/CommentRequest.cs new file mode 100644 index 0000000..f19cc4b --- /dev/null +++ b/src/IncidentOps.Contracts/Incidents/CommentRequest.cs @@ -0,0 +1,3 @@ +namespace IncidentOps.Contracts.Incidents; + +public record CommentRequest(string Content); diff --git a/src/IncidentOps.Contracts/Incidents/CreateIncidentRequest.cs b/src/IncidentOps.Contracts/Incidents/CreateIncidentRequest.cs new file mode 100644 index 0000000..4450c83 --- /dev/null +++ b/src/IncidentOps.Contracts/Incidents/CreateIncidentRequest.cs @@ -0,0 +1,3 @@ +namespace IncidentOps.Contracts.Incidents; + +public record CreateIncidentRequest(string Title, string? Description); diff --git a/src/IncidentOps.Contracts/Incidents/IncidentDto.cs b/src/IncidentOps.Contracts/Incidents/IncidentDto.cs new file mode 100644 index 0000000..249a1de --- /dev/null +++ b/src/IncidentOps.Contracts/Incidents/IncidentDto.cs @@ -0,0 +1,17 @@ +namespace IncidentOps.Contracts.Incidents; + +public record IncidentDto( + Guid Id, + Guid ServiceId, + string ServiceName, + string Title, + string? Description, + string Status, + int Version, + Guid? AssignedToUserId, + string? AssignedToUserName, + DateTime CreatedAt, + DateTime? AcknowledgedAt, + DateTime? MitigatedAt, + DateTime? ResolvedAt +); diff --git a/src/IncidentOps.Contracts/Incidents/IncidentEventDto.cs b/src/IncidentOps.Contracts/Incidents/IncidentEventDto.cs new file mode 100644 index 0000000..a94107d --- /dev/null +++ b/src/IncidentOps.Contracts/Incidents/IncidentEventDto.cs @@ -0,0 +1,10 @@ +namespace IncidentOps.Contracts.Incidents; + +public record IncidentEventDto( + Guid Id, + string EventType, + Guid? ActorUserId, + string? ActorUserName, + string? Payload, + DateTime CreatedAt +); diff --git a/src/IncidentOps.Contracts/Incidents/IncidentListResponse.cs b/src/IncidentOps.Contracts/Incidents/IncidentListResponse.cs new file mode 100644 index 0000000..9993930 --- /dev/null +++ b/src/IncidentOps.Contracts/Incidents/IncidentListResponse.cs @@ -0,0 +1,3 @@ +namespace IncidentOps.Contracts.Incidents; + +public record IncidentListResponse(IReadOnlyList Items, string? NextCursor); diff --git a/src/IncidentOps.Contracts/Incidents/TransitionRequest.cs b/src/IncidentOps.Contracts/Incidents/TransitionRequest.cs new file mode 100644 index 0000000..e7f6b31 --- /dev/null +++ b/src/IncidentOps.Contracts/Incidents/TransitionRequest.cs @@ -0,0 +1,3 @@ +namespace IncidentOps.Contracts.Incidents; + +public record TransitionRequest(string Action, int ExpectedVersion); diff --git a/src/IncidentOps.Contracts/Orgs/CreateNotificationTargetRequest.cs b/src/IncidentOps.Contracts/Orgs/CreateNotificationTargetRequest.cs new file mode 100644 index 0000000..6107aea --- /dev/null +++ b/src/IncidentOps.Contracts/Orgs/CreateNotificationTargetRequest.cs @@ -0,0 +1,3 @@ +namespace IncidentOps.Contracts.Orgs; + +public record CreateNotificationTargetRequest(string Name, string TargetType, string Configuration, bool IsEnabled); diff --git a/src/IncidentOps.Contracts/Orgs/NotificationTargetDto.cs b/src/IncidentOps.Contracts/Orgs/NotificationTargetDto.cs new file mode 100644 index 0000000..247aab6 --- /dev/null +++ b/src/IncidentOps.Contracts/Orgs/NotificationTargetDto.cs @@ -0,0 +1,3 @@ +namespace IncidentOps.Contracts.Orgs; + +public record NotificationTargetDto(Guid Id, string Name, string TargetType, string Configuration, bool IsEnabled, DateTime CreatedAt); diff --git a/src/IncidentOps.Contracts/Orgs/OrgDto.cs b/src/IncidentOps.Contracts/Orgs/OrgDto.cs new file mode 100644 index 0000000..90f369c --- /dev/null +++ b/src/IncidentOps.Contracts/Orgs/OrgDto.cs @@ -0,0 +1,3 @@ +namespace IncidentOps.Contracts.Orgs; + +public record OrgDto(Guid Id, string Name, string Slug, string Role); diff --git a/src/IncidentOps.Contracts/Orgs/OrgMemberDto.cs b/src/IncidentOps.Contracts/Orgs/OrgMemberDto.cs new file mode 100644 index 0000000..fdc20c9 --- /dev/null +++ b/src/IncidentOps.Contracts/Orgs/OrgMemberDto.cs @@ -0,0 +1,3 @@ +namespace IncidentOps.Contracts.Orgs; + +public record OrgMemberDto(Guid Id, Guid UserId, string Email, string DisplayName, string Role, DateTime JoinedAt); diff --git a/src/IncidentOps.Contracts/Services/CreateServiceRequest.cs b/src/IncidentOps.Contracts/Services/CreateServiceRequest.cs new file mode 100644 index 0000000..a6c4174 --- /dev/null +++ b/src/IncidentOps.Contracts/Services/CreateServiceRequest.cs @@ -0,0 +1,3 @@ +namespace IncidentOps.Contracts.Services; + +public record CreateServiceRequest(string Name, string Slug, string? Description); diff --git a/src/IncidentOps.Contracts/Services/ServiceDto.cs b/src/IncidentOps.Contracts/Services/ServiceDto.cs new file mode 100644 index 0000000..b13827e --- /dev/null +++ b/src/IncidentOps.Contracts/Services/ServiceDto.cs @@ -0,0 +1,3 @@ +namespace IncidentOps.Contracts.Services; + +public record ServiceDto(Guid Id, string Name, string Slug, string? Description, DateTime CreatedAt);