use crate::chat_server::ChatServer;
use actix::Addr;
use background_jobs::QueueHandle;
-use lemmy_db_queries::DbPool;
-use lemmy_db_schema::source::secret::Secret;
+use lemmy_db_schema::{source::secret::Secret, DbPool};
use lemmy_utils::{settings::structs::Settings, LemmyError};
-use reqwest::Client;
+use reqwest_middleware::ClientWithMiddleware;
use serde::Serialize;
pub mod chat_server;
pub mod send;
pub struct LemmyContext {
- pub pool: DbPool,
- pub chat_server: Addr<ChatServer>,
- pub client: Client,
- pub activity_queue: QueueHandle,
- pub settings: Settings,
- pub secret: Secret,
+ pool: DbPool,
+ chat_server: Addr<ChatServer>,
+ client: ClientWithMiddleware,
+ activity_queue: QueueHandle,
+ settings: Settings,
+ secret: Secret,
}
impl LemmyContext {
pub fn create(
pool: DbPool,
chat_server: Addr<ChatServer>,
- client: Client,
+ client: ClientWithMiddleware,
activity_queue: QueueHandle,
settings: Settings,
secret: Secret,
pub fn chat_server(&self) -> &Addr<ChatServer> {
&self.chat_server
}
- pub fn client(&self) -> &Client {
+ pub fn client(&self) -> &ClientWithMiddleware {
&self.client
}
pub fn activity_queue(&self) -> &QueueHandle {
Ok(serde_json::to_string(&response)?)
}
-#[derive(EnumString, ToString, Debug, Clone)]
+#[derive(EnumString, Display, Debug, Clone)]
pub enum UserOperation {
Login,
GetCaptcha,
CreatePostLike,
LockPost,
StickyPost,
+ MarkPostAsRead,
SavePost,
CreatePostReport,
ResolvePostReport,
ListPostReports,
GetReportCount,
GetUnreadCount,
+ VerifyEmail,
FollowCommunity,
GetReplies,
GetPersonMentions,
BanFromCommunity,
AddModToCommunity,
AddAdmin,
+ GetUnreadRegistrationApplicationCount,
+ ListRegistrationApplications,
+ ApproveRegistrationApplication,
BanPerson,
+ GetBannedPersons,
Search,
ResolveObject,
MarkAllAsRead,
SaveUserSettings,
TransferCommunity,
- TransferSite,
+ LeaveAdmin,
PasswordReset,
PasswordChange,
MarkPrivateMessageAsRead,
BlockPerson,
}
-#[derive(EnumString, ToString, Debug, Clone)]
+#[derive(EnumString, Display, Debug, Clone)]
pub enum UserOperationCrud {
// Site
CreateSite,
RemovePost,
// Comment
CreateComment,
+ GetComment,
GetComments,
EditComment,
DeleteComment,