feat(contracts): add API DTOs and request/response contracts
This commit is contained in:
5
src/IncidentOps.Contracts/Auth/AuthResponse.cs
Normal file
5
src/IncidentOps.Contracts/Auth/AuthResponse.cs
Normal file
@@ -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);
|
||||||
3
src/IncidentOps.Contracts/Auth/LoginRequest.cs
Normal file
3
src/IncidentOps.Contracts/Auth/LoginRequest.cs
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
namespace IncidentOps.Contracts.Auth;
|
||||||
|
|
||||||
|
public record LoginRequest(string Email, string Password, Guid? OrgId = null);
|
||||||
3
src/IncidentOps.Contracts/Auth/LogoutRequest.cs
Normal file
3
src/IncidentOps.Contracts/Auth/LogoutRequest.cs
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
namespace IncidentOps.Contracts.Auth;
|
||||||
|
|
||||||
|
public record LogoutRequest(string RefreshToken);
|
||||||
3
src/IncidentOps.Contracts/Auth/MeResponse.cs
Normal file
3
src/IncidentOps.Contracts/Auth/MeResponse.cs
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
namespace IncidentOps.Contracts.Auth;
|
||||||
|
|
||||||
|
public record MeResponse(Guid Id, string Email, string DisplayName, ActiveOrgDto ActiveOrg);
|
||||||
3
src/IncidentOps.Contracts/Auth/RefreshRequest.cs
Normal file
3
src/IncidentOps.Contracts/Auth/RefreshRequest.cs
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
namespace IncidentOps.Contracts.Auth;
|
||||||
|
|
||||||
|
public record RefreshRequest(string RefreshToken);
|
||||||
3
src/IncidentOps.Contracts/Auth/RegisterRequest.cs
Normal file
3
src/IncidentOps.Contracts/Auth/RegisterRequest.cs
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
namespace IncidentOps.Contracts.Auth;
|
||||||
|
|
||||||
|
public record RegisterRequest(string Email, string Password, string DisplayName);
|
||||||
3
src/IncidentOps.Contracts/Auth/SwitchOrgRequest.cs
Normal file
3
src/IncidentOps.Contracts/Auth/SwitchOrgRequest.cs
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
namespace IncidentOps.Contracts.Auth;
|
||||||
|
|
||||||
|
public record SwitchOrgRequest(string RefreshToken, Guid OrgId);
|
||||||
9
src/IncidentOps.Contracts/IncidentOps.Contracts.csproj
Normal file
9
src/IncidentOps.Contracts/IncidentOps.Contracts.csproj
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net10.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
3
src/IncidentOps.Contracts/Incidents/CommentRequest.cs
Normal file
3
src/IncidentOps.Contracts/Incidents/CommentRequest.cs
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
namespace IncidentOps.Contracts.Incidents;
|
||||||
|
|
||||||
|
public record CommentRequest(string Content);
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
namespace IncidentOps.Contracts.Incidents;
|
||||||
|
|
||||||
|
public record CreateIncidentRequest(string Title, string? Description);
|
||||||
17
src/IncidentOps.Contracts/Incidents/IncidentDto.cs
Normal file
17
src/IncidentOps.Contracts/Incidents/IncidentDto.cs
Normal file
@@ -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
|
||||||
|
);
|
||||||
10
src/IncidentOps.Contracts/Incidents/IncidentEventDto.cs
Normal file
10
src/IncidentOps.Contracts/Incidents/IncidentEventDto.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
namespace IncidentOps.Contracts.Incidents;
|
||||||
|
|
||||||
|
public record IncidentEventDto(
|
||||||
|
Guid Id,
|
||||||
|
string EventType,
|
||||||
|
Guid? ActorUserId,
|
||||||
|
string? ActorUserName,
|
||||||
|
string? Payload,
|
||||||
|
DateTime CreatedAt
|
||||||
|
);
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
namespace IncidentOps.Contracts.Incidents;
|
||||||
|
|
||||||
|
public record IncidentListResponse(IReadOnlyList<IncidentDto> Items, string? NextCursor);
|
||||||
3
src/IncidentOps.Contracts/Incidents/TransitionRequest.cs
Normal file
3
src/IncidentOps.Contracts/Incidents/TransitionRequest.cs
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
namespace IncidentOps.Contracts.Incidents;
|
||||||
|
|
||||||
|
public record TransitionRequest(string Action, int ExpectedVersion);
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
namespace IncidentOps.Contracts.Orgs;
|
||||||
|
|
||||||
|
public record CreateNotificationTargetRequest(string Name, string TargetType, string Configuration, bool IsEnabled);
|
||||||
3
src/IncidentOps.Contracts/Orgs/NotificationTargetDto.cs
Normal file
3
src/IncidentOps.Contracts/Orgs/NotificationTargetDto.cs
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
namespace IncidentOps.Contracts.Orgs;
|
||||||
|
|
||||||
|
public record NotificationTargetDto(Guid Id, string Name, string TargetType, string Configuration, bool IsEnabled, DateTime CreatedAt);
|
||||||
3
src/IncidentOps.Contracts/Orgs/OrgDto.cs
Normal file
3
src/IncidentOps.Contracts/Orgs/OrgDto.cs
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
namespace IncidentOps.Contracts.Orgs;
|
||||||
|
|
||||||
|
public record OrgDto(Guid Id, string Name, string Slug, string Role);
|
||||||
3
src/IncidentOps.Contracts/Orgs/OrgMemberDto.cs
Normal file
3
src/IncidentOps.Contracts/Orgs/OrgMemberDto.cs
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
namespace IncidentOps.Contracts.Orgs;
|
||||||
|
|
||||||
|
public record OrgMemberDto(Guid Id, Guid UserId, string Email, string DisplayName, string Role, DateTime JoinedAt);
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
namespace IncidentOps.Contracts.Services;
|
||||||
|
|
||||||
|
public record CreateServiceRequest(string Name, string Slug, string? Description);
|
||||||
3
src/IncidentOps.Contracts/Services/ServiceDto.cs
Normal file
3
src/IncidentOps.Contracts/Services/ServiceDto.cs
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
namespace IncidentOps.Contracts.Services;
|
||||||
|
|
||||||
|
public record ServiceDto(Guid Id, string Name, string Slug, string? Description, DateTime CreatedAt);
|
||||||
Reference in New Issue
Block a user