aboutsummaryrefslogtreecommitdiff
path: root/server/src/request_info.rs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/request_info.rs')
-rw-r--r--server/src/request_info.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/server/src/request_info.rs b/server/src/request_info.rs
index 3468c58..0f2fd3a 100644
--- a/server/src/request_info.rs
+++ b/server/src/request_info.rs
@@ -9,7 +9,8 @@ use crate::{
auth::token_to_user,
ui::error::{MyError, MyResult},
};
-use jellycommon::jellyobject::ObjectBuffer;
+use anyhow::anyhow;
+use jellycommon::jellyobject::{Object, ObjectBuffer};
use jellyui::RenderInfo;
use rocket::{
Request, async_trait,
@@ -46,6 +47,12 @@ impl<'a> RequestInfo<'a> {
state: state.clone(),
})
}
+ pub fn require_user(&'a self) -> MyResult<Object<'a>> {
+ self.user
+ .as_ref()
+ .map(|u| u.as_object())
+ .ok_or(MyError(anyhow!("user required")))
+ }
pub fn render_info(&'a self) -> RenderInfo<'a> {
RenderInfo {
lang: self.lang,