From ed25baf5f15ddf7800e098c73773217c8d502f62 Mon Sep 17 00:00:00 2001 From: Isidoris2 Date: Fri, 6 Jan 2023 17:00:19 +0100 Subject: [PATCH] init medias folder --- .gitignore | 1 - docker-compose.yml | 4 +- k-9_url | 26 - medias/DB/bd | 0 medias/Podcast/podcast | 0 medias/Romans/romans | 0 medias/Series/Class/class | 0 medias/Series/DrWho Classic/drwhoclassic | 0 medias/Series/DrWho/drwho | 0 medias/Series/K-9/k9 | 0 .../sarahjaneadventures | 0 medias/Series/Torchwood/torchwood | 0 .../2022-07-20-084320_create_users/up.sql | 4 +- src/main.rs | 76 +-- src/media_controller.rs | 33 + src/models.rs | 564 +----------------- src/schema.rs | 50 +- src/util.rs | 6 +- static/img/google.svg | 1 + static/img/logo.png | Bin 0 -> 144356 bytes templates/base.html.twig | 2 - .../forms/user/change_password.html.twig | 16 +- templates/forms/user/forgotpassword.html.twig | 8 +- templates/forms/user/login.html.twig | 51 +- templates/forms/user/register.html.twig | 83 +-- .../forms/user/register_google.html.twig | 20 +- templates/header.html.twig | 97 +-- templates/includecss.html.twig | 8 +- templates/index.html.twig | 2 - templates/medias.html.twig | 19 + templates/user/profile.html.twig | 51 +- 31 files changed, 216 insertions(+), 906 deletions(-) delete mode 100644 k-9_url create mode 100644 medias/DB/bd create mode 100644 medias/Podcast/podcast create mode 100644 medias/Romans/romans create mode 100644 medias/Series/Class/class create mode 100644 medias/Series/DrWho Classic/drwhoclassic create mode 100644 medias/Series/DrWho/drwho create mode 100644 medias/Series/K-9/k9 create mode 100644 medias/Series/The Sarah Jane Adventures/sarahjaneadventures create mode 100644 medias/Series/Torchwood/torchwood create mode 100644 src/media_controller.rs create mode 100644 static/img/google.svg create mode 100644 static/img/logo.png create mode 100644 templates/medias.html.twig diff --git a/.gitignore b/.gitignore index 629123e..615644c 100644 --- a/.gitignore +++ b/.gitignore @@ -9,7 +9,6 @@ Cargo.lock # These are backup files generated by rustfmt **/*.rs.bk -/medias persistence-db tmp/* static/sourcefiles/ diff --git a/docker-compose.yml b/docker-compose.yml index 1f7a1ce..ef77727 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,8 +14,8 @@ services: - MODE_INSTALL=DEV # DEV, PROD - RUST_BACKTRACE=1 - TMPDIR=/usr/src/myapp/tmp - - GOOGLE_CLIENT_ID=723424966880-015kn0qncavlgbj4j3k1ggs3arn7tdkd.apps.googleusercontent.com - - GOOGLE_CLIENT_SECRET=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 + - GOOGLE_CLIENT_ID=1041713159432-vad6qp7ce7p9iid9qjdiopi7n6ajvmtv.apps.googleusercontent.com + - GOOGLE_CLIENT_SECRET=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 depends_on: - dr_who_website-db labels: diff --git a/k-9_url b/k-9_url deleted file mode 100644 index cef9b64..0000000 --- a/k-9_url +++ /dev/null @@ -1,26 +0,0 @@ -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e1-regeneration/54d111ea69702d0707150800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e2-liberation/54d1122969702d04c9700800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e3-the-korven/54d1124369702d04ca100800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e4-the-bounty-hunter/54d1127e69702d04c9740800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e5-sirens-of-ceres/54d1129669702d07071c0800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e6-fear-itself/54d113a069702d04c9830800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e7-the-fall-of-the-house-of-gryffen/54d1142f69702d04c98b0800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e8-jaws-of-orthrus/54d1144169702d07072f0800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e9-dream-eaters/54d1145769702d04c98d0800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e10-curse-of-anubis/54d1146969702d04c9910800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e11-oroborus/54d1147c69702d04ca2c0800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e12-alien-avatar/54d1148e69702d04ca2f0800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e13-aeolian/54d114ac69702d0707380800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e14-the-last-oak-tree/54d114c069702d04ca390800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e15-black-hunger/54d114e769702d04c99a0800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e16-the-cambridge-spy/54d1151269702d04ca3e0800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e17-lost-library-of-ukko/54d1152469702d04c99f0800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e18-mutant-copper/54d1153769702d0707420800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e19-the-custodians/54d1154969702d04c9a40800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e20-taphony-and-the-time-loop/54d1155c69702d04ca450800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e21-robot-gladiators/54d1157069702d0707460800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e22-mind-snap/54d1158469702d0707490800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e23-angel-of-the-north/54d115a669702d07074c0800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e24-the-last-precinct/54d115bb69702d04c9ac0800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e25-hound-of-the-korven/54d115cf69702d04ca4a0800 -youtube-dl https://www.shoutfactorytv.com/k-9/k-9-s1-e26-the-eclipse-of-the-korven/54d115e969702d04c9ae0800 \ No newline at end of file diff --git a/medias/DB/bd b/medias/DB/bd new file mode 100644 index 0000000..e69de29 diff --git a/medias/Podcast/podcast b/medias/Podcast/podcast new file mode 100644 index 0000000..e69de29 diff --git a/medias/Romans/romans b/medias/Romans/romans new file mode 100644 index 0000000..e69de29 diff --git a/medias/Series/Class/class b/medias/Series/Class/class new file mode 100644 index 0000000..e69de29 diff --git a/medias/Series/DrWho Classic/drwhoclassic b/medias/Series/DrWho Classic/drwhoclassic new file mode 100644 index 0000000..e69de29 diff --git a/medias/Series/DrWho/drwho b/medias/Series/DrWho/drwho new file mode 100644 index 0000000..e69de29 diff --git a/medias/Series/K-9/k9 b/medias/Series/K-9/k9 new file mode 100644 index 0000000..e69de29 diff --git a/medias/Series/The Sarah Jane Adventures/sarahjaneadventures b/medias/Series/The Sarah Jane Adventures/sarahjaneadventures new file mode 100644 index 0000000..e69de29 diff --git a/medias/Series/Torchwood/torchwood b/medias/Series/Torchwood/torchwood new file mode 100644 index 0000000..e69de29 diff --git a/migrations/2022-07-20-084320_create_users/up.sql b/migrations/2022-07-20-084320_create_users/up.sql index cf93438..5d35af8 100644 --- a/migrations/2022-07-20-084320_create_users/up.sql +++ b/migrations/2022-07-20-084320_create_users/up.sql @@ -7,7 +7,5 @@ create table users( email VARCHAR(255) NOT NULL DEFAULT '', google VARCHAR(255) NOT NULL DEFAULT '', email_valid VARCHAR(255) NOT NULL DEFAULT '', - data VARCHAR(255) NOT NULL DEFAULT '' + data TEXT NOT NULL DEFAULT '' ); - -insert into users(username, password, salt) values ('adminkey', '', ''); diff --git a/src/main.rs b/src/main.rs index 00bba0f..f7dc479 100644 --- a/src/main.rs +++ b/src/main.rs @@ -25,7 +25,7 @@ use diesel::prelude::*; pub mod schema; use schema::users; pub mod models; -use models::{User, Project, Entity}; +use models::{User}; use walkdir::{DirEntry, WalkDir}; @@ -44,48 +44,6 @@ use uuid::Uuid; use std::fs::File; use std::io::{self, prelude::*, BufReader}; -struct Ws {} - -impl Actor for Ws { - type Context = ws::WebsocketContext; - - fn started(&mut self, ctx: &mut Self::Context) {} -} - -/// Handler for ws::Message message -impl StreamHandler> for Ws { - fn handle(&mut self, msg: Result, ctx: &mut Self::Context) { - match msg { - Ok(ws::Message::Ping(msg)) => { - println!("msg: {:?}", msg); - ctx.pong(&msg) - } - Ok(ws::Message::Text(text)) => { - // println!("text: {:?}", text); - // ctx.text(text); - let str = &text.to_string(); - if str == &"Coucou le serveur !".to_string() { - // println!("text: {:?}", str); - // println!("user: {:?}", User::find(1).unwrap()); - return ctx.text(text); - } - ctx.text(text) - } - Ok(ws::Message::Binary(bin)) => { - println!("bin: {:?}", bin); - ctx.binary(bin) - } - _ => (), - } - } -} - -#[get("/ws")] -async fn websocket(req: HttpRequest, stream: web::Payload) -> impl Responder { - let resp = ws::start(Ws {}, &req, stream); - // println!("{:#?}", &ws); - resp -} #[get("/")] async fn index(tmpl: Data, id: Identity) -> impl Responder { @@ -95,19 +53,30 @@ async fn index(tmpl: Data, id: Identity) -> impl Responder { let user_session = result_user.unwrap(); context.insert("user", &user_session); } - let projects = Project::find_by_public(true).unwrap(); - let mut projects_json = Vec::::new(); - for project in projects { - projects_json.push(project.to_json()); - } - context.insert("projects_json",&projects_json); response::template(tmpl, "index.html.twig", &context) } -#[get("/home")] -async fn home(tmpl: Data, id: Identity) -> impl Responder { + +#[derive(Debug, Deserialize)] +pub struct ParamsMedias { + q: String, +} + +#[get("/medias")] +async fn medias(req: HttpRequest, tmpl: Data, id: Identity) -> impl Responder { let mut context = Context::new(); - response::template(tmpl, "home.html.twig", &context) + let result_user = get_user_session(&id); + if !result_user.is_err() { + let user_session = result_user.unwrap(); + context.insert("user", &user_session); + } + let params_result = web::Query::::from_query(req.query_string()); + if params_result.is_err() { + return response::redirect("/"); + } + let params = params_result.unwrap(); + context.insert("path", ¶ms.q); + response::template(tmpl, "medias.html.twig", &context) } async fn not_found(req: HttpRequest, tmpl: Data, id: Identity) -> impl Responder { @@ -130,6 +99,7 @@ async fn main() -> std::io::Result<()> { )) .wrap(middleware::Logger::default()) .service(index) + .service(medias) .service(user_controller::login) .service(user_controller::post_login) .service(user_controller::post_auth) @@ -148,8 +118,6 @@ async fn main() -> std::io::Result<()> { .service(user_controller::profile_post) .service(user_controller::delete) .service(user_controller::user_deleted) - .service(websocket) - .service(home) .service(Files::new("/static", folder_static)) .default_service(web::route().to(not_found)) }) diff --git a/src/media_controller.rs b/src/media_controller.rs new file mode 100644 index 0000000..59aaa59 --- /dev/null +++ b/src/media_controller.rs @@ -0,0 +1,33 @@ +#![allow(unused)] +use actix_files::{Files, NamedFile}; +use actix_form_data::{Error, Field}; +use actix_identity::Identity; +use actix_identity::{CookieIdentityPolicy, IdentityService}; +use actix_multipart::Multipart; +use actix_web::{ + cookie::Cookie, get, http, middleware, post, web, web::Data, web::Form, web::Path as Pathweb, + App, HttpRequest, HttpResponse, HttpServer, Responder, +}; + +use lettre::transport::smtp::commands::Mail; +use serde::{Deserialize, Serialize}; +use std::collections::HashMap; +use std::fmt::format; +use std::{fs::*, string}; +use std::path::*; +use std::sync::mpsc::Sender; +use tera::{Context, Tera}; + +use super::models::User; +use diesel::prelude::*; + +use walkdir::{DirEntry, WalkDir}; +use serde_json::{json, Serializer, Value}; + +use super::response; +use super::util::*; + +use futures_util::TryStreamExt as _; +use std::io::Write; +use tempfile::tempfile; +use uuid::Uuid; diff --git a/src/models.rs b/src/models.rs index 9c060f9..dd32cc9 100644 --- a/src/models.rs +++ b/src/models.rs @@ -23,6 +23,7 @@ pub struct User { pub email: String, pub google: String, pub email_valid: String, + pub data: String } impl User { @@ -63,6 +64,7 @@ impl User { users::dsl::email_valid.eq(uuid), users::dsl::email.eq(email), users::dsl::google.eq("".to_string()), + users::dsl::data.eq("{}".to_string()), )) .get_result(&db()); if !result.is_err() { @@ -84,7 +86,7 @@ impl User { } pub fn find_all() -> Result, String> { - let result = users::dsl::users.get_results::(&db()); + let result = users::dsl::users.get_results::(&db()); if !result.is_err() { let users = result.unwrap(); return Ok(users); @@ -196,36 +198,9 @@ impl User { self.salt = sha256::digest(y.to_string()) } - pub fn get_projects(&self) -> Result, String> { - let result = projects::dsl::projects - .filter(projects::dsl::creator_id.eq(&self.id)) - .get_results::(&db()); - if !result.is_err() { - let projects = result.unwrap(); - return Ok(projects); - } - Err(format!("Project {} not fetched", self.id)) - } - - pub fn get_project_accesss(&self) -> Result, String> { - let result = project_accesss::dsl::project_accesss - .filter(project_accesss::dsl::user_id.eq(&self.id)) - .get_results::(&db()); - if !result.is_err() { - let project_accesss = result.unwrap(); - return Ok(project_accesss); - } - Err(format!("ProjectAccesss {} not fetched", self.id)) - } - pub fn delete(self) -> Result { let id = self.id.clone(); let name = self.username.clone(); - let result_projects = self.get_projects(); - let projects = result_projects.unwrap(); - for project in projects { - project.delete(); - } let filter_user = users::dsl::users.filter(users::dsl::id.eq(&id)); let result_del_user = diesel::delete(filter_user) .returning(users::dsl::username) @@ -238,539 +213,6 @@ impl User { pub fn to_json(self) -> Value { let mut user_value = json!(self); - let project_accesss = self.get_project_accesss().unwrap(); - let mut project_accesss_json = Vec::new(); - for project_access in project_accesss { - project_accesss_json.push(project_access.to_json()); - } - user_value["project_accesss"] = json!(project_accesss_json); - user_value["projects"] = json!(self.get_projects().unwrap()); user_value } } - -#[derive(Debug, Queryable, Identifiable, Insertable, serde::Serialize)] -pub struct Project { - pub id: i32, - pub creator_id: i32, - pub uuid: String, - pub name: String, - pub password: String, - pub time_limit: SystemTime, - pub premium: i32, - pub is_public: bool, - pub image: String, - pub origin_filename: String, - pub description: String, - pub data: String, -} -impl Project { - const FREE: i32 = 0; - const PAID: i32 = 1; - - pub fn create( - name: String, - origin_filename: String, - password: String, - user: &User, - ) -> Result { - let result = diesel::insert_into(projects::table) - .values(( - projects::dsl::origin_filename.eq(origin_filename), - projects::dsl::creator_id.eq(user.id), - projects::dsl::uuid.eq(Uuid::new_v4().to_string()), - projects::dsl::name.eq(name), - projects::dsl::password.eq(password), - projects::dsl::time_limit - .eq(SystemTime::now() + Duration::new(60 * 60 * 24 * 5, 0)), // calcul pour 5 jour en seconde - projects::dsl::premium.eq(Project::FREE), - projects::dsl::is_public.eq(true), - projects::dsl::description.eq("".to_string()), - projects::dsl::data.eq("{}".to_string()), - )) - .get_result(&db()); - if !result.is_err() { - let project = result.unwrap(); - return Ok(project); - } - Err(format!("Project not created")) - } - - pub fn find(id: i32) -> Result { - let result = projects::dsl::projects - .filter(projects::dsl::id.eq(id)) - .get_result::(&db()); - if !result.is_err() { - let project = result.unwrap(); - return Ok(project); - } - Err(format!("User {} not found", id)) - } - - pub fn find_by_uuid(uuid: &str) -> Result { - let result = projects::dsl::projects - .filter(projects::dsl::uuid.eq(&uuid)) - .get_result::(&db()); - if !result.is_err() { - let project = result.unwrap(); - return Ok(project); - } - Err(format!("Project {} not find", &uuid)) - } - - pub fn find_by_public(is_public: bool) -> Result, String> { - let result = projects::dsl::projects - .filter(projects::dsl::is_public.eq(&is_public)) - .get_results::(&db()); - if !result.is_err() { - let projects = result.unwrap(); - return Ok(projects); - } - Err(format!("User {} not found", &is_public)) - } - - pub fn update(self) -> Result { - let filter = projects::dsl::projects.filter(projects::dsl::id.eq(self.id)); - let result = diesel::update(filter) - .set(( - projects::dsl::image.eq(self.image), - projects::dsl::origin_filename.eq(self.origin_filename), - projects::dsl::creator_id.eq(self.creator_id), - projects::dsl::uuid.eq(self.uuid), - projects::dsl::name.eq(self.name), - projects::dsl::password.eq(self.password), - projects::dsl::time_limit.eq(self.time_limit), - projects::dsl::premium.eq(self.premium), - projects::dsl::is_public.eq(self.is_public), - projects::dsl::data.eq(self.data), - projects::dsl::description.eq(self.description), - )) - .get_result::(&db()); - if !result.is_err() { - let project = result.unwrap(); - return Ok(project); - } - Err(format!("Project {} not update", self.id)) - } - - pub fn get_entitys(&self) -> Result, String> { - let result = entitys::dsl::entitys - .filter(entitys::dsl::project_id.eq(&self.id)) - .get_results::(&db()); - if !result.is_err() { - let entitys = result.unwrap(); - return Ok(entitys); - } - Err(format!("Project entitys {} not fetched", self.id)) - } - - pub fn get_creator(&self) -> Result { - User::find(self.creator_id) - } - - pub fn get_project_accesss(&self) -> Result, String> { - let result = project_accesss::dsl::project_accesss - .filter(project_accesss::dsl::project_id.eq(&self.id)) - .get_results::(&db()); - if !result.is_err() { - let project_accesss = result.unwrap(); - return Ok(project_accesss); - } - Err(format!("ProjectAccesss {} not fetched", self.id)) - } - - pub fn delete(self) -> Result { - let result_file = std::fs::remove_dir_all(Path::new("medias").join(self.uuid)); - let filter_entity = entitys::dsl::entitys.filter(entitys::dsl::project_id.eq(&self.id)); - let result_del_entity = diesel::delete(filter_entity) - .returning(entitys::dsl::name) - .get_results::(&db()); - if result_del_entity.is_err() { - return Err(format!("Project delete could not remove entity in db()")); - } - let filter_project = projects::dsl::projects.filter(projects::dsl::id.eq(&self.id)); - let result_del_project = diesel::delete(filter_project) - .returning(projects::dsl::name) - .get_result::(&db()); - if result_del_project.is_err() { - return Err(format!("Project delete could not remove project in db()")); - } - return Ok("Project was deleted".to_string()); - } - - pub fn get_logs(&self) -> String { - let path = Path::new("./medias") - .join(self.uuid.clone()) - .join("cmd_logs.txt"); - if path.exists() { - return String::from_utf8_lossy(&std::fs::read(&path).unwrap()).to_string(); - } - "".to_string() - } - - const CONVERTION: i32 = 0; - const COMPLETE: i32 = 1; - const CRASHED: i32 = 2; - - pub fn get_status(&self) -> i32 { - let path = Path::new("./medias") - .join(self.uuid.clone()) - .join("cmd_logs.txt"); - if path.exists() { - let metadata = std::fs::metadata(path).unwrap(); - let modified_time = metadata.modified().unwrap().elapsed().unwrap().as_secs(); - // println!("{} > 10", modified_time); - if modified_time > 300 { - return Project::CRASHED; - } - return Project::CONVERTION; - } - Project::COMPLETE - } - - pub const ACCESSREAD: i32 = 0; - pub const ACCESSWRITE: i32 = 1; - - pub fn test_access(&self, result_user: &Result, access_type: i32) -> bool { - if access_type == Project::ACCESSREAD && self.is_public { - return true; - } - else if access_type == Project::ACCESSREAD && !result_user.is_err() { - let user = result_user.as_ref().unwrap(); - if user.id == self.creator_id { - return true; - } - let result_pa = ProjectAccess::find(user.id,self.id); - if(!result_pa.is_err()){ - let pa = result_pa.unwrap(); - if(pa.access_type == Project::ACCESSREAD || pa.access_type == Project::ACCESSWRITE){ - return true; - } - } - } - else if access_type == Project::ACCESSWRITE && !result_user.is_err() { - let user = result_user.as_ref().unwrap(); - if user.id == self.creator_id { - return true; - } - let result_pa = ProjectAccess::find(user.id,self.id); - if(!result_pa.is_err()){ - let pa = result_pa.unwrap(); - if(pa.access_type == Project::ACCESSWRITE){ - return true; - } - } - } - return false; - } - - pub fn to_json(&self) -> Value { - let mut project_value = json!(self); - project_value["entitys"] = json!(self.get_entitys().unwrap()); - project_value["creator"] = json!(self.get_creator().unwrap()); - project_value["cmd_logs"] = json!(self.get_logs()); - project_value["status"] = json!(self.get_status()); - project_value["data"] = self.get_data(); - let project_accesss = self.get_project_accesss().unwrap(); - let mut project_accesss_json = Vec::new(); - for project_access in project_accesss { - project_accesss_json.push(project_access.to_json()); - } - project_value["project_accesss"] = json!(project_accesss_json); - project_value - } - - pub fn duplicate(&self) -> Result { - let user = User::find(self.creator_id)?; - let mut project = Project::create(self.name.clone()+"_copy", self.origin_filename.clone(), self.password.clone(), &user)?; - project.description = self.description.clone(); - project.is_public = self.is_public.clone(); - project = project.update().unwrap(); - let copy_result = copy_dir_all(Path::new("./medias").join(self.uuid.clone()), Path::new("./medias").join(project.uuid.clone())); - if copy_result.is_err() { - return Err(format!("You cannot copy {} in {}",self.uuid,project.uuid)); - } - copy_result.unwrap(); - let entitys = self.get_entitys()?; - for e in entitys { - let entity = e.duplicate(&project); - } - return Ok(project); - } - - pub fn set_data(&mut self, object: &Value) { - self.data = object.to_string(); - } - - pub fn get_data(&self) -> Value { - serde_json::from_str(self.data.as_str()).unwrap() - } -} - -#[derive(Debug, Queryable, Identifiable, Insertable, serde::Serialize)] -pub struct Entity { - pub id: i32, - pub project_id: i32, - pub name: String, - pub type_entity: i32, - pub data: String, - pub parent_id: Option, -} -impl Entity { - pub const POTREE: i32 = 0; - pub const MODELE: i32 = 1; - pub const IMAGE360: i32 = 2; - pub const POTREEITEM: i32 = 3; - pub const GROUP: i32 = 3; - - pub fn create(name: String, type_entity: i32, project: &Project) -> Result { - let result = diesel::insert_into(entitys::table) - .values(( - entitys::dsl::project_id.eq(project.id), - entitys::dsl::name.eq(name), - entitys::dsl::type_entity.eq(type_entity), - entitys::dsl::data.eq(json!({}).to_string()), - entitys::dsl::parent_id.eq(None::), - )) - .get_result(&db()); - if !result.is_err() { - let entity = result.unwrap(); - return Ok(entity); - } - Err(format!("Entity not created")) - } - - pub fn duplicate(&self , project: &Project) -> Result { - let result = diesel::insert_into(entitys::table) - .values(( - entitys::dsl::project_id.eq(project.id), - entitys::dsl::name.eq(self.name.clone()), - entitys::dsl::type_entity.eq(self.type_entity), - entitys::dsl::data.eq(self.data.clone()), - entitys::dsl::parent_id.eq(None::), - )) - .get_result(&db()); - if !result.is_err() { - let entity = result.unwrap(); - return Ok(entity); - } - Err(format!("Entity not created")) - } - - pub fn find(id: i32) -> Result { - let result = entitys::dsl::entitys - .filter(entitys::dsl::id.eq(id)) - .get_result::(&db()); - if !result.is_err() { - let entity = result.unwrap(); - return Ok(entity); - } - Err(format!("User {} not found", id)) - } - - pub fn update(self) -> Result { - let filter = entitys::dsl::entitys.filter(entitys::dsl::id.eq(self.id)); - let result = diesel::update(filter) - .set(( - entitys::dsl::project_id.eq(self.project_id), - entitys::dsl::name.eq(self.name), - entitys::dsl::type_entity.eq(self.type_entity), - entitys::dsl::data.eq(self.data), - entitys::dsl::parent_id.eq(self.parent_id), - )) - .get_result::(&db()); - if !result.is_err() { - let entity = result.unwrap(); - return Ok(entity); - } - Err(format!("Project {} not update", self.id)) - } - - pub fn set_data(&mut self, object: &Value) { - self.data = object.to_string(); - } - - pub fn get_data(&self) -> Value { - serde_json::from_str(self.data.as_str()).unwrap() - } - - pub fn get_project(&self) -> Result { - let result = projects::dsl::projects - .filter(projects::dsl::id.eq(self.project_id)) - .get_result::(&db()); - if !result.is_err() { - let project = result.unwrap(); - return Ok(project); - } - Err(format!("User {} not found", self.project_id)) - } - - pub fn find_by_name_and_project(name: String, project_id: i32) -> Vec { - let result = entitys::dsl::entitys - .filter(entitys::dsl::name.eq(&name)) - .filter(entitys::dsl::project_id.eq(&project_id)) - .get_results::(&db()); - if !result.is_err() { - let entitys = result.unwrap(); - return entitys; - } - Vec::::new() - } - - pub fn delete(self) -> Result { - let id = self.id.clone(); - let name = self.name.clone(); - let result_project = self.get_project(); - if result_project.is_err() { - return Err(format!("Entity delete could not find project")); - } - let project = result_project.unwrap(); - let entity_with_same_file = Entity::find_by_name_and_project(self.name, self.project_id); - - if self.type_entity != Entity::POTREEITEM && entity_with_same_file.len() <= 1 { - let entity_path = Path::new("medias").join(project.uuid).join(&name); - if entity_path.exists() && entity_path.is_dir() { - let result_file = std::fs::remove_dir_all(entity_path); - if result_file.is_err() { - return Err(format!("Entity delete could not remove folder")); - } - } else if entity_path.exists() { - let result_file = std::fs::remove_file(entity_path); - if result_file.is_err() { - return Err(format!("Entity delete could not remove file")); - } - } - } - - let filter_entity = entitys::dsl::entitys.filter(entitys::dsl::id.eq(&id)); - let result_del_entity = diesel::delete(filter_entity) - .returning(entitys::dsl::name) - .get_result::(&db()); - if result_del_entity.is_err() { - return Err(format!("Entity delete could not remove project in db()")); - } - return Ok("Entity was deleted".to_string()); - } -} - -#[derive(Debug, Queryable, Identifiable, Insertable, serde::Serialize)] -pub struct ProjectAccess { - pub id: i32, - pub user_id: i32, - pub project_id: i32, - pub access_type: i32, -} -impl ProjectAccess { - - pub fn create( - user: &User, - project: &Project, - access: i32, - ) -> Result { - let project_access_result = ProjectAccess::find(user.id, project.id); - if !project_access_result.is_err(){ - let mut project_access = project_access_result.unwrap(); - project_access.access_type = access; - project_access = project_access.update().unwrap(); - return Ok(project_access); - } - if ProjectAccess::find(user.id, project.id).is_err() { - let result = diesel::insert_into(project_accesss::table) - .values(( - project_accesss::dsl::user_id.eq(user.id), - project_accesss::dsl::project_id.eq(project.id), - project_accesss::dsl::access_type.eq(access), - )) - .get_result(&db()); - let pa_project = project_accesss::dsl::project_accesss - .filter(project_accesss::dsl::project_id.eq(project.id)) - .get_results::(&db()) - .unwrap(); - if !result.is_err() { - let project_access = result.unwrap(); - return Ok(project_access); - } - } - Err(format!("Project_Access not created")) - } - - pub fn get_user(&self) -> Result { - let result = users::dsl::users - .filter(users::dsl::id.eq(&self.user_id)) - .get_result::(&db()); - if !result.is_err() { - let user = result.unwrap(); - return Ok(user); - } - Err(format!("User {} not found", self.user_id)) - } - - pub fn get_project(&self) -> Result { - let result = projects::dsl::projects - .filter(projects::dsl::id.eq(&self.project_id)) - .get_result::(&db()); - if !result.is_err() { - let project = result.unwrap(); - return Ok(project); - } - Err(format!("Project {} not found", self.project_id)) - } - - pub fn find(user_id: i32, project_id: i32) -> Result { - let result = project_accesss::dsl::project_accesss - .filter(project_accesss::dsl::user_id.eq(user_id)) - .filter(project_accesss::dsl::project_id.eq(project_id)) - .get_result::(&db()); - if !result.is_err() { - let project_access = result.unwrap(); - return Ok(project_access); - } - Err(format!("Project Access with project_id{} and user_id{} not found", project_id, user_id)) - } - - pub fn find_id(id: i32) -> Result { - let result = project_accesss::dsl::project_accesss - .filter(project_accesss::dsl::id.eq(id)) - .get_result::(&db()); - if !result.is_err() { - let project_access = result.unwrap(); - return Ok(project_access); - } - Err(format!("ProjectAccess {} not found", id)) - } - - pub fn update(self) -> Result { - let filter = project_accesss::dsl::project_accesss.filter(project_accesss::dsl::id.eq(self.id)); - let result = diesel::update(filter) - .set(( - project_accesss::dsl::user_id.eq(self.user_id), - project_accesss::dsl::project_id.eq(self.project_id), - project_accesss::dsl::access_type.eq(self.access_type), - )) - .get_result::(&db()); - if !result.is_err() { - let project_access = result.unwrap(); - return Ok(project_access); - } - Err(format!("ProjectAccess {} not update", self.id)) - } - - pub fn delete(self) -> Result { - let id = self.id.clone(); - let filter_pa = project_accesss::dsl::project_accesss.filter(project_accesss::dsl::id.eq(&id)); - let result_del_pa = diesel::delete(filter_pa) - .returning(project_accesss::dsl::id) - .get_result::(&db()); - if result_del_pa.is_err() { - return Err(format!("ProjectAccess cannot be deleted in db()")); - } - return Ok("ProjectAccess was deleted".to_string()); - } - - pub fn to_json(self) -> Value { - let mut project_access_value = json!(self); - project_access_value["user"] = json!(self.get_user().unwrap()); - project_access_value["project"] = json!(self.get_project().unwrap()); - project_access_value - } -} \ No newline at end of file diff --git a/src/schema.rs b/src/schema.rs index f5d7268..def4285 100644 --- a/src/schema.rs +++ b/src/schema.rs @@ -1,42 +1,5 @@ // @generated automatically by Diesel CLI. -diesel::table! { - entitys (id) { - id -> Int4, - project_id -> Int4, - name -> Varchar, - type_entity -> Int4, - data -> Text, - parent_id -> Nullable, - } -} - -diesel::table! { - project_accesss (id) { - id -> Int4, - user_id -> Int4, - project_id -> Int4, - access_type -> Int4, - } -} - -diesel::table! { - projects (id) { - id -> Int4, - creator_id -> Int4, - uuid -> Varchar, - name -> Varchar, - password -> Varchar, - time_limit -> Timestamp, - premium -> Int4, - is_public -> Bool, - image -> Varchar, - origin_filename -> Varchar, - description -> Text, - data -> Text, - } -} - diesel::table! { users (id) { id -> Int4, @@ -47,17 +10,6 @@ diesel::table! { email -> Varchar, google -> Varchar, email_valid -> Varchar, + data -> Text, } } - -diesel::joinable!(entitys -> projects (project_id)); -diesel::joinable!(project_accesss -> projects (project_id)); -diesel::joinable!(project_accesss -> users (user_id)); -diesel::joinable!(projects -> users (creator_id)); - -diesel::allow_tables_to_appear_in_same_query!( - entitys, - project_accesss, - projects, - users, -); diff --git a/src/util.rs b/src/util.rs index 919f5c5..b727fdd 100644 --- a/src/util.rs +++ b/src/util.rs @@ -375,7 +375,7 @@ pub fn envoye_un_mail(tmpl: &Data, template_name: &'static str, context: & let body = tmpl.render(template_name, context).unwrap(); let email = Message::builder() - .from("Site DrWhy ".parse().unwrap()) + .from("Site DrWhy ".parse().unwrap()) .to(format!("<{}>", email_adress).parse().unwrap()) .subject(subject) .multipart(MultiPart::alternative_plain_html( @@ -385,8 +385,8 @@ pub fn envoye_un_mail(tmpl: &Data, template_name: &'static str, context: & let sender = SmtpTransport::starttls_relay("ssl0.ovh.net").unwrap() .credentials(Credentials::new( - "noreply@imaplan.fr".to_string(), - "24rueduMoulin".to_string(), + "contact@sorlinv.fr".to_string(), + "Wqaxszcde123".to_string(), )) // .authentication(vec![Mechanism::Plain]) .pool_config(PoolConfig::new().max_size(20)) diff --git a/static/img/google.svg b/static/img/google.svg new file mode 100644 index 0000000..088288f --- /dev/null +++ b/static/img/google.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/img/logo.png b/static/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7820e8abaac81ff2fb3208c9259828a15b8b5d70 GIT binary patch literal 144356 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 literal 0 HcmV?d00001 diff --git a/templates/base.html.twig b/templates/base.html.twig index 677d379..635b4d7 100755 --- a/templates/base.html.twig +++ b/templates/base.html.twig @@ -2,7 +2,6 @@ {% block title %}{% endblock title %} - DrWhy - {% block head %} {% include 'includecss.html.twig' %} {% endblock head %} @@ -10,6 +9,5 @@ {% block body %}{% endblock body %} {% block footer %}{% include 'includescript.html.twig' %}{% endblock footer %} - diff --git a/templates/forms/user/change_password.html.twig b/templates/forms/user/change_password.html.twig index d9fdbe6..96c3490 100644 --- a/templates/forms/user/change_password.html.twig +++ b/templates/forms/user/change_password.html.twig @@ -1,16 +1,12 @@

- {# Error message #} - {% if message_error is defined %}
{{ message_error }}
{% endif %} - {# Password #} -
- + {% if message_error is defined %}
{{ message_error }}
{% endif %} +
+
- {# Password again #} -
- +
+
- {# Submit button #} - + \ No newline at end of file diff --git a/templates/forms/user/forgotpassword.html.twig b/templates/forms/user/forgotpassword.html.twig index e2afcda..52cf03a 100644 --- a/templates/forms/user/forgotpassword.html.twig +++ b/templates/forms/user/forgotpassword.html.twig @@ -1,13 +1,9 @@
- {# Email #} -
- +
+
- {# Submit button #} - {# Forgot password #}
Se connecter
- {# Register #} Créer un compte diff --git a/templates/forms/user/login.html.twig b/templates/forms/user/login.html.twig index 16813fc..179663b 100644 --- a/templates/forms/user/login.html.twig +++ b/templates/forms/user/login.html.twig @@ -1,43 +1,20 @@
- {% if message_login is defined %}
{{ message_login }}
{% endif %} - {# Email #} -
- + {% if message_login is defined %}
{{ message_login }}
{% endif %} +
+
- {# Password #} -
- +
+
- {# Error message #} - {# Submit button #} - - {# Forgot password #} - Mot de passe oublié ?
- {# Register #} - Créer un compte - {# Divider #} -
- {# Third party #} -

Ou

- {# Google #} +
-
- - {# GitHub #} - - + data-client_id="1041713159432-vad6qp7ce7p9iid9qjdiopi7n6ajvmtv.apps.googleusercontent.com" + data-login_uri="/auth" + data-auto_prompt="false" + >
+ + Mot de passe oublié ?
+ Créer un compte + \ No newline at end of file diff --git a/templates/forms/user/register.html.twig b/templates/forms/user/register.html.twig index 8f5ac29..6fa1bd0 100644 --- a/templates/forms/user/register.html.twig +++ b/templates/forms/user/register.html.twig @@ -1,78 +1,37 @@
{# Error message #} - {% if message_register is defined %}
{{ message_register }}
{% endif %} + {% if message_register is defined %}
{{ message_register }}
{% endif %} {# UserName #} -
- +
+
- {# Email #} -
- +
+
- {# Password #} -
- +
+
- {# Password again #} -
- +
+
- {# Image #} -
-