Files
live_recorder/src/PostgresService.WebApi/Models.cs
T

73 lines
1.7 KiB
C#

namespace PostgresService.WebApi;
public sealed record LoginRequest(string Username, string Password);
public sealed record EnrollRequest(
string AppId,
string DisplayName,
IReadOnlyList<string>? RequestedExtensions);
public sealed record PostgresClientCredential(
string Host,
int Port,
string Database,
string Username,
string Password,
string SslMode,
string ServiceVersion);
public sealed record CreateDatabaseRequest(string Name, string? Owner);
public sealed record CreateRoleRequest(string Name, string Password);
public sealed record QueryRequest(string Database, string Sql);
public sealed record BackupRequest(string Database);
public sealed record RestoreRequest(
string BackupFileName,
string TargetDatabase,
bool Overwrite,
string Confirmation);
public sealed record ManagedClient(
string AppId,
string DisplayName,
string DatabaseName,
string RoleName,
string[] Extensions,
string Status,
DateTimeOffset CreatedAt,
DateTimeOffset UpdatedAt);
public sealed record DatabaseSummary(
string Name,
string Owner,
long SizeBytes,
int ActiveConnections,
bool IsManaged);
public sealed record RoleSummary(
string Name,
bool CanLogin,
int ConnectionLimit,
bool IsManaged);
public sealed record SessionSummary(
int ProcessId,
string Database,
string Username,
string State,
string? Query,
DateTimeOffset? QueryStartedAt);
public sealed record BackupSummary(
string FileName,
string Database,
long SizeBytes,
DateTimeOffset CreatedAt,
string Sha256);
public sealed record QueryResult(
string[] Columns,
IReadOnlyList<object?[]> Rows,
int RowCount,
bool Truncated,
long ElapsedMilliseconds);