@@ -584,7 +584,7 @@ public IActionResult GetTenantSecurityAudit([FromQuery] int maxCount = 100)
584584// ── REST API Request/Response DTOs ──
585585
586586/// <summary>Query request parameters.</summary>
587- public sealed class QueryRequest
587+ public sealed record QueryRequest
588588{
589589 /// <summary>SQL query text.</summary>
590590 public required string Sql { get ; init ; }
@@ -600,7 +600,7 @@ public sealed class QueryRequest
600600}
601601
602602/// <summary>Query response data.</summary>
603- public sealed class QueryResponse
603+ public sealed record QueryResponse
604604{
605605 /// <summary>Column information.</summary>
606606 public required ColumnInfo [ ] Columns { get ; init ; }
@@ -616,7 +616,7 @@ public sealed class QueryResponse
616616}
617617
618618/// <summary>Column information.</summary>
619- public sealed class ColumnInfo
619+ public sealed record ColumnInfo
620620{
621621 /// <summary>Column name.</summary>
622622 public required string Name { get ; init ; }
@@ -629,7 +629,7 @@ public sealed class ColumnInfo
629629}
630630
631631/// <summary>Execute request parameters.</summary>
632- public sealed class ExecuteRequest
632+ public sealed record ExecuteRequest
633633{
634634 /// <summary>SQL statement text.</summary>
635635 public required string Sql { get ; init ; }
@@ -645,7 +645,7 @@ public sealed class ExecuteRequest
645645}
646646
647647/// <summary>Execute response data.</summary>
648- public sealed class ExecuteResponse
648+ public sealed record ExecuteResponse
649649{
650650 /// <summary>Number of rows affected.</summary>
651651 public required int RowsAffected { get ; init ; }
@@ -655,7 +655,7 @@ public sealed class ExecuteResponse
655655}
656656
657657/// <summary>Batch request parameters.</summary>
658- public sealed class BatchRequest
658+ public sealed record BatchRequest
659659{
660660 /// <summary>SQL statements to execute.</summary>
661661 public required string [ ] Statements { get ; init ; }
@@ -668,7 +668,7 @@ public sealed class BatchRequest
668668}
669669
670670/// <summary>Batch response data.</summary>
671- public sealed class BatchResponse
671+ public sealed record BatchResponse
672672{
673673 /// <summary>Number of statements executed.</summary>
674674 public required int StatementsExecuted { get ; init ; }
@@ -681,7 +681,7 @@ public sealed class BatchResponse
681681}
682682
683683/// <summary>Schema response data.</summary>
684- public sealed class SchemaResponse
684+ public sealed record SchemaResponse
685685{
686686 /// <summary>Database name.</summary>
687687 public required string Database { get ; init ; }
@@ -694,7 +694,7 @@ public sealed class SchemaResponse
694694}
695695
696696/// <summary>Table information.</summary>
697- public sealed class RestTableInfo
697+ public sealed record RestTableInfo
698698{
699699 /// <summary>Table name.</summary>
700700 public required string Name { get ; init ; }
@@ -707,14 +707,14 @@ public sealed class RestTableInfo
707707}
708708
709709/// <summary>Database list response.</summary>
710- public sealed class DatabaseListResponse
710+ public sealed record DatabaseListResponse
711711{
712712 /// <summary>All hosted databases.</summary>
713713 public required DatabaseInfo [ ] Databases { get ; init ; }
714714}
715715
716716/// <summary>Database information.</summary>
717- public sealed class DatabaseInfo
717+ public sealed record DatabaseInfo
718718{
719719 /// <summary>Database name.</summary>
720720 public required string Name { get ; init ; }
@@ -727,7 +727,7 @@ public sealed class DatabaseInfo
727727}
728728
729729/// <summary>Health response data.</summary>
730- public sealed class HealthResponse
730+ public sealed record HealthResponse
731731{
732732 /// <summary>Health status.</summary>
733733 public required string Status { get ; init ; }
@@ -764,7 +764,7 @@ public sealed class HealthResponse
764764}
765765
766766/// <summary>Metrics response data.</summary>
767- public sealed class MetricsResponse
767+ public sealed record MetricsResponse
768768{
769769 /// <summary>Response timestamp.</summary>
770770 public required DateTimeOffset Timestamp { get ; init ; }
@@ -828,7 +828,7 @@ public sealed class MetricsResponse
828828}
829829
830830/// <summary>Database metrics.</summary>
831- public sealed class DatabaseMetrics
831+ public sealed record DatabaseMetrics
832832{
833833 /// <summary>Database name.</summary>
834834 public required string Name { get ; init ; }
@@ -841,7 +841,7 @@ public sealed class DatabaseMetrics
841841}
842842
843843/// <summary>Error response data.</summary>
844- public sealed class ErrorResponse
844+ public sealed record ErrorResponse
845845{
846846 /// <summary>Error message.</summary>
847847 public required string Error { get ; init ; }
@@ -854,7 +854,7 @@ public sealed class ErrorResponse
854854}
855855
856856/// <summary>Login request parameters.</summary>
857- public sealed class LoginRequest
857+ public sealed record LoginRequest
858858{
859859 /// <summary>Username.</summary>
860860 public required string Username { get ; init ; }
@@ -864,7 +864,7 @@ public sealed class LoginRequest
864864}
865865
866866/// <summary>Login response with JWT token.</summary>
867- public sealed class LoginResponse
867+ public sealed record LoginResponse
868868{
869869 /// <summary>JWT bearer token.</summary>
870870 public required string Token { get ; init ; }
@@ -877,7 +877,7 @@ public sealed class LoginResponse
877877}
878878
879879/// <summary>Tenant access audit response payload.</summary>
880- public sealed class TenantAccessAuditResponse
880+ public sealed record TenantAccessAuditResponse
881881{
882882 /// <summary>Total retained audit events in memory.</summary>
883883 public required int TotalRetained { get ; init ; }
@@ -893,7 +893,7 @@ public sealed class TenantAccessAuditResponse
893893}
894894
895895/// <summary>Single tenant access audit item.</summary>
896- public sealed class TenantAccessAuditItem
896+ public sealed record TenantAccessAuditItem
897897{
898898 /// <summary>Event timestamp in UTC.</summary>
899899 public required DateTime TimestampUtc { get ; init ; }
@@ -924,7 +924,7 @@ public sealed class TenantAccessAuditItem
924924}
925925
926926/// <summary>Tenant security audit response payload.</summary>
927- public sealed class TenantSecurityAuditResponse
927+ public sealed record TenantSecurityAuditResponse
928928{
929929 /// <summary>Total retained audit events in memory.</summary>
930930 public required int TotalRetained { get ; init ; }
@@ -937,7 +937,7 @@ public sealed class TenantSecurityAuditResponse
937937}
938938
939939/// <summary>Single tenant security audit item.</summary>
940- public sealed class TenantSecurityAuditItem
940+ public sealed record TenantSecurityAuditItem
941941{
942942 /// <summary>Event timestamp in UTC.</summary>
943943 public required DateTime TimestampUtc { get ; init ; }
0 commit comments