covert_types/methods/psql/
mod.rs1use std::time::Duration;
2
3use serde::{Deserialize, Serialize};
4
5use crate::psql::{ConnectionConfig, RoleCredentials};
6
7use super::SecretLeaseResponse;
8
9#[derive(Debug, Deserialize, Serialize)]
10pub struct SetConnectionParams {
11 pub connection_url: String,
12 #[serde(default = "default_as_true")]
13 pub verify_connection: bool,
14 pub max_open_connections: Option<u32>,
15}
16
17fn default_as_true() -> bool {
18 true
19}
20
21#[derive(Debug, Deserialize, Serialize)]
22pub struct SetConnectionResponse {
23 pub connection: ConnectionConfig,
24}
25
26#[derive(Debug, Deserialize, Serialize)]
27pub struct ReadConnectionResponse {
28 pub connection: Option<ConnectionConfig>,
29}
30
31#[derive(Debug, Deserialize, Serialize)]
32pub struct CreateRoleCredsParams {
33 #[serde(with = "humantime_serde")]
34 pub ttl: Option<Duration>,
35}
36
37pub type CreateRoleCredsResponse = SecretLeaseResponse<RoleCredentials>;
38
39#[derive(Debug, Deserialize, Serialize)]
40pub struct CreateRoleParams {
41 pub sql: String,
42 pub revocation_sql: String,
43}
44
45#[derive(Debug, Deserialize, Serialize)]
46pub struct CreateRoleResponse {
47 pub sql: String,
48 pub revocation_sql: String,
49}
50
51#[derive(Debug, Deserialize, Serialize)]
52pub struct RenewLeaseResponse {
53 #[serde(with = "humantime_serde")]
54 pub ttl: Duration,
55}