summaryrefslogtreecommitdiff
path: root/makima/src/db/models.rs
diff options
context:
space:
mode:
Diffstat (limited to 'makima/src/db/models.rs')
-rw-r--r--makima/src/db/models.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/makima/src/db/models.rs b/makima/src/db/models.rs
index 97657dc..c03b4ac 100644
--- a/makima/src/db/models.rs
+++ b/makima/src/db/models.rs
@@ -3050,4 +3050,31 @@ pub struct DirectiveOrderGroupListResponse {
pub total: i64,
}
+/// User setting record from the database (key-value per owner).
+#[derive(Debug, Clone, FromRow, Serialize, Deserialize, ToSchema)]
+#[serde(rename_all = "camelCase")]
+pub struct UserSetting {
+ pub id: Uuid,
+ pub owner_id: Uuid,
+ pub key: String,
+ pub value: serde_json::Value,
+ pub created_at: DateTime<Utc>,
+ pub updated_at: DateTime<Utc>,
+}
+
+/// Request body for upserting a user setting.
+#[derive(Debug, Deserialize, ToSchema)]
+#[serde(rename_all = "camelCase")]
+pub struct UpsertUserSettingRequest {
+ pub key: String,
+ pub value: serde_json::Value,
+}
+
+/// Response containing a list of user settings.
+#[derive(Debug, Serialize, ToSchema)]
+#[serde(rename_all = "camelCase")]
+pub struct UserSettingsResponse {
+ pub settings: Vec<UserSetting>,
+}
+