rain_sdk/models/
subtenants.rs

1//! Models for subtenant endpoints
2
3use serde::{Deserialize, Serialize};
4use serde_json::Value;
5use uuid::Uuid;
6
7/// Application completion link
8#[derive(Debug, Clone, Serialize, Deserialize)]
9#[serde(rename_all = "camelCase")]
10pub struct ApplicationCompletionLink {
11    pub url: String,
12    pub params: Value,
13}
14
15/// Subtenant information
16#[derive(Debug, Clone, Serialize, Deserialize)]
17#[serde(rename_all = "camelCase")]
18pub struct Subtenant {
19    pub id: Uuid,
20    pub name: String,
21    #[serde(skip_serializing_if = "Option::is_none")]
22    pub application_completion_link: Option<ApplicationCompletionLink>,
23}
24
25/// Request to create a subtenant
26#[derive(Debug, Clone, Serialize, Deserialize)]
27#[serde(rename_all = "camelCase")]
28pub struct CreateSubtenantRequest {
29    #[serde(skip_serializing_if = "Option::is_none")]
30    pub name: Option<String>,
31}
32
33/// Request to update a subtenant
34#[derive(Debug, Clone, Serialize, Deserialize)]
35#[serde(rename_all = "camelCase")]
36pub struct UpdateSubtenantRequest {
37    #[serde(skip_serializing_if = "Option::is_none")]
38    pub name: Option<String>,
39}
40
41/// Response type for list of subtenants
42pub type ListSubtenantsResponse = Vec<Subtenant>;