summaryrefslogtreecommitdiffstats
path: root/server/src/api/post.rs
diff options
context:
space:
mode:
authorDessalines <tyhou13@gmx.com>2020-01-12 10:31:51 -0500
committerDessalines <tyhou13@gmx.com>2020-01-12 10:31:51 -0500
commitdff8b947bb779d27d4b5953fe1f34166ac5c4104 (patch)
tree2cad663e4ef1689ae741cbce995be42095a8c500 /server/src/api/post.rs
parent677d716ae6b21ecb0569d661c1d76520dade1643 (diff)
Trying to add r2d2 connection pooling to websockets.
Diffstat (limited to 'server/src/api/post.rs')
-rw-r--r--server/src/api/post.rs20
1 files changed, 7 insertions, 13 deletions
diff --git a/server/src/api/post.rs b/server/src/api/post.rs
index 5bc31def..b0fcdd0c 100644
--- a/server/src/api/post.rs
+++ b/server/src/api/post.rs
@@ -1,4 +1,5 @@
use super::*;
+use diesel::PgConnection;
use std::str::FromStr;
#[derive(Serialize, Deserialize)]
@@ -87,9 +88,8 @@ pub struct SavePost {
}
impl Perform<PostResponse> for Oper<CreatePost> {
- fn perform(&self) -> Result<PostResponse, Error> {
+ fn perform(&self, conn: &PgConnection) -> Result<PostResponse, Error> {
let data: &CreatePost = &self.data;
- let conn = establish_connection();
let claims = match Claims::decode(&data.auth) {
Ok(claims) => claims.claims,
@@ -158,9 +158,8 @@ impl Perform<PostResponse> for Oper<CreatePost> {
}
impl Perform<GetPostResponse> for Oper<GetPost> {
- fn perform(&self) -> Result<GetPostResponse, Error> {
+ fn perform(&self, conn: &PgConnection) -> Result<GetPostResponse, Error> {
let data: &GetPost = &self.data;
- let conn = establish_connection();
let user_id: Option<i32> = match &data.auth {
Some(auth) => match Claims::decode(&auth) {
@@ -207,9 +206,8 @@ impl Perform<GetPostResponse> for Oper<GetPost> {
}
impl Perform<GetPostsResponse> for Oper<GetPosts> {
- fn perform(&self) -> Result<GetPostsResponse, Error> {
+ fn perform(&self, conn: &PgConnection) -> Result<GetPostsResponse, Error> {
let data: &GetPosts = &self.data;
- let conn = establish_connection();
let user_claims: Option<Claims> = match &data.auth {
Some(auth) => match Claims::decode(&auth) {
@@ -254,9 +252,8 @@ impl Perform<GetPostsResponse> for Oper<GetPosts> {
}
impl Perform<CreatePostLikeResponse> for Oper<CreatePostLike> {
- fn perform(&self) -> Result<CreatePostLikeResponse, Error> {
+ fn perform(&self, conn: &PgConnection) -> Result<CreatePostLikeResponse, Error> {
let data: &CreatePostLike = &self.data;
- let conn = establish_connection();
let claims = match Claims::decode(&data.auth) {
Ok(claims) => claims.claims,
@@ -316,14 +313,12 @@ impl Perform<CreatePostLikeResponse> for Oper<CreatePostLike> {
}
impl Perform<PostResponse> for Oper<EditPost> {
- fn perform(&self) -> Result<PostResponse, Error> {
+ fn perform(&self, conn: &PgConnection) -> Result<PostResponse, Error> {
let data: &EditPost = &self.data;
if has_slurs(&data.name) || (data.body.is_some() && has_slurs(&data.body.to_owned().unwrap())) {
return Err(APIError::err(&self.op, "no_slurs").into());
}
- let conn = establish_connection();
-
let claims = match Claims::decode(&data.auth) {
Ok(claims) => claims.claims,
Err(_e) => return Err(APIError::err(&self.op, "not_logged_in").into()),
@@ -412,9 +407,8 @@ impl Perform<PostResponse> for Oper<EditPost> {
}
impl Perform<PostResponse> for Oper<SavePost> {
- fn perform(&self) -> Result<PostResponse, Error> {
+ fn perform(&self, conn: &PgConnection) -> Result<PostResponse, Error> {
let data: &SavePost = &self.data;
- let conn = establish_connection();
let claims = match Claims::decode(&data.auth) {
Ok(claims) => claims.claims,