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