From 9ff04f3bbbce7cc92768bfbd6033da81de26eb49 Mon Sep 17 00:00:00 2001
From: Lennart <18233294+lennart-k@users.noreply.github.com>
Date: Mon, 10 Feb 2025 17:06:32 +0100
Subject: [PATCH] nextcloud_login: Remove unused assets stuff
---
.../nextcloud_login/public/assets/style.css | 7 --
.../public/templates/layouts/default.html | 1 -
crates/nextcloud_login/src/assets.rs | 113 ------------------
crates/nextcloud_login/src/lib.rs | 3 -
4 files changed, 124 deletions(-)
delete mode 100644 crates/nextcloud_login/public/assets/style.css
delete mode 100644 crates/nextcloud_login/src/assets.rs
diff --git a/crates/nextcloud_login/public/assets/style.css b/crates/nextcloud_login/public/assets/style.css
deleted file mode 100644
index 2876913..0000000
--- a/crates/nextcloud_login/public/assets/style.css
+++ /dev/null
@@ -1,7 +0,0 @@
-body {
- font-family: sans-serif;
-}
-
-* {
- box-sizing: border-box;
-}
diff --git a/crates/nextcloud_login/public/templates/layouts/default.html b/crates/nextcloud_login/public/templates/layouts/default.html
index 32dd48a..c9535a9 100644
--- a/crates/nextcloud_login/public/templates/layouts/default.html
+++ b/crates/nextcloud_login/public/templates/layouts/default.html
@@ -5,7 +5,6 @@
{% block title %}RustiCal{% endblock %}
-
{% block imports %}{% endblock %}
diff --git a/crates/nextcloud_login/src/assets.rs b/crates/nextcloud_login/src/assets.rs
deleted file mode 100644
index 6e99886..0000000
--- a/crates/nextcloud_login/src/assets.rs
+++ /dev/null
@@ -1,113 +0,0 @@
-use std::marker::PhantomData;
-
-use actix_web::{
- body::BoxBody,
- dev::{
- HttpServiceFactory, ResourceDef, Service, ServiceFactory, ServiceRequest, ServiceResponse,
- },
- http::{header, Method},
- HttpResponse,
-};
-use futures_core::future::LocalBoxFuture;
-use rust_embed::RustEmbed;
-
-#[derive(RustEmbed)]
-#[folder = "public/assets"]
-pub struct Assets;
-
-pub struct EmbedService
-where
- E: 'static + RustEmbed,
-{
- _embed: PhantomData,
- prefix: String,
-}
-
-impl EmbedService
-where
- E: 'static + RustEmbed,
-{
- pub fn new(prefix: String) -> Self {
- Self {
- prefix,
- _embed: PhantomData,
- }
- }
-}
-
-impl HttpServiceFactory for EmbedService
-where
- E: 'static + RustEmbed,
-{
- fn register(self, config: &mut actix_web::dev::AppService) {
- let resource_def = if config.is_root() {
- ResourceDef::root_prefix(&self.prefix)
- } else {
- ResourceDef::prefix(&self.prefix)
- };
- config.register_service(resource_def, None, self, None);
- }
-}
-
-impl ServiceFactory for EmbedService
-where
- E: 'static + RustEmbed,
-{
- type Response = ServiceResponse;
- type Error = actix_web::Error;
- type Config = ();
- type Service = EmbedService;
- type InitError = ();
- type Future = LocalBoxFuture<'static, Result>;
-
- fn new_service(&self, _: ()) -> Self::Future {
- let prefix = self.prefix.clone();
- Box::pin(async move {
- Ok(Self {
- prefix,
- _embed: PhantomData,
- })
- })
- }
-}
-
-impl Service for EmbedService
-where
- E: 'static + RustEmbed,
-{
- type Response = ServiceResponse;
- type Error = actix_web::Error;
- type Future = LocalBoxFuture<'static, Result>;
-
- actix_web::dev::always_ready!();
-
- fn call(&self, req: ServiceRequest) -> Self::Future {
- Box::pin(async move {
- if req.method() != Method::GET && req.method() != Method::HEAD {
- return Ok(req.into_response(HttpResponse::MethodNotAllowed()));
- }
- let path = req.match_info().unprocessed().trim_start_matches('/');
-
- match E::get(path) {
- Some(file) => {
- let data = file.data;
- let hash = hex::encode(file.metadata.sha256_hash());
- let mime = mime_guess::from_path(path).first_or_octet_stream();
-
- let body = if req.method() == Method::HEAD {
- Default::default()
- } else {
- data
- };
- Ok(req.into_response(
- HttpResponse::Ok()
- .content_type(mime)
- .insert_header((header::ETAG, hash))
- .body(body),
- ))
- }
- None => Ok(req.into_response(HttpResponse::NotFound())),
- }
- })
- }
-}
diff --git a/crates/nextcloud_login/src/lib.rs b/crates/nextcloud_login/src/lib.rs
index 959b12e..fc3c89b 100644
--- a/crates/nextcloud_login/src/lib.rs
+++ b/crates/nextcloud_login/src/lib.rs
@@ -4,14 +4,12 @@ use actix_web::{
HttpRequest, HttpResponse, Responder,
};
use askama::Template;
-use assets::{Assets, EmbedService};
use chrono::{DateTime, Duration, Utc};
use rand::{distributions::Alphanumeric, Rng};
use rustical_store::auth::{AuthenticationMiddleware, AuthenticationProvider, User};
use serde::{Deserialize, Serialize};
use std::{collections::HashMap, sync::Arc};
use tokio::sync::RwLock;
-mod assets;
#[derive(Debug, Clone)]
struct NextcloudFlow {
@@ -212,7 +210,6 @@ pub fn configure_nextcloud_login(
.wrap(AuthenticationMiddleware::new(auth_provider.clone()))
.app_data(Data::from(nextcloud_flows_state))
.app_data(Data::from(auth_provider.clone()))
- .service(EmbedService::::new("/assets".to_owned()))
.service(web::resource("/index.php/login/v2").post(post_nextcloud_login))
.service(
web::resource("/login/v2/poll/{flow}")