aboutsummaryrefslogtreecommitdiff
path: root/src/app/api/responses.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-05-21 20:19:54 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-05-21 20:22:57 +0300
commit866aaf740e10fcfce169aaf81380ea0257fbe272 (patch)
treef815392b7c6b24a7c0de14e655bd635656383813 /src/app/api/responses.rs
parentca579c402d5668560ca13059f82c03178be18b2a (diff)
refactor: separate server client boundaries
Diffstat (limited to 'src/app/api/responses.rs')
-rw-r--r--src/app/api/responses.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/app/api/responses.rs b/src/app/api/responses.rs
new file mode 100644
index 00000000..7c871c37
--- /dev/null
+++ b/src/app/api/responses.rs
@@ -0,0 +1,19 @@
+use crate::api::schema::{ErrorBody, ErrorResponse, ResponseResult, SuccessResponse};
+
+pub(super) fn encode_success(id: String, result: ResponseResult) -> String {
+ serde_json::to_string(&SuccessResponse { id, result }).unwrap()
+}
+
+pub(super) fn encode_error(id: String, code: &str, message: impl Into<String>) -> String {
+ encode_error_body(
+ id,
+ ErrorBody {
+ code: code.into(),
+ message: message.into(),
+ },
+ )
+}
+
+pub(super) fn encode_error_body(id: String, error: ErrorBody) -> String {
+ serde_json::to_string(&ErrorResponse { id, error }).unwrap()
+}