Skip to content

Commit bc7a148

Browse files
authored
Feat: Added Multi-Message Support (#381)
* feat: Added Multi-Message Support Feature * feat: Added Multi-Message Support Feature
1 parent 45f4d70 commit bc7a148

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
-- Associate legacy messages with vaults to support multiple messages per vault
2+
3+
ALTER TABLE legacy_messages
4+
ADD COLUMN IF NOT EXISTS vault_id BIGINT;
5+
6+
CREATE INDEX IF NOT EXISTS idx_legacy_messages_vault
7+
ON legacy_messages(vault_id, created_at DESC);

backend/src/app.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,10 @@ pub async fn create_app(db: PgPool, config: Config) -> Result<Router, ApiError>
132132
"/api/messages/legacy",
133133
post(create_legacy_message).get(list_legacy_messages),
134134
)
135+
.route(
136+
"/api/messages/legacy/vault/:vault_id",
137+
get(list_vault_legacy_messages),
138+
)
135139
.route("/api/admin/messages/keys", get(list_message_keys))
136140
.route("/api/admin/messages/keys/rotate", post(rotate_message_key))
137141
.route(
@@ -579,6 +583,18 @@ async fn list_legacy_messages(
579583
))
580584
}
581585

586+
async fn list_vault_legacy_messages(
587+
State(state): State<Arc<AppState>>,
588+
Path(vault_id): Path<i64>,
589+
AuthenticatedUser(user): AuthenticatedUser,
590+
) -> Result<Json<Value>, ApiError> {
591+
let messages =
592+
MessageEncryptionService::list_vault_messages(&state.db, user.user_id, vault_id).await?;
593+
Ok(Json(
594+
json!({ "status": "success", "data": messages, "count": messages.len() }),
595+
))
596+
}
597+
582598
async fn list_message_keys(
583599
State(state): State<Arc<AppState>>,
584600
AuthenticatedAdmin(_admin): AuthenticatedAdmin,

0 commit comments

Comments
 (0)