store: Refactoring to split calendar and addressbook

This commit is contained in:
Lennart
2024-10-28 17:44:22 +01:00
parent a44cbeb687
commit db01df5cb8
29 changed files with 40 additions and 50 deletions

View File

@@ -2,8 +2,7 @@ use crate::Error;
use actix_web::web::{Data, Path}; use actix_web::web::{Data, Path};
use actix_web::HttpResponse; use actix_web::HttpResponse;
use rustical_store::auth::User; use rustical_store::auth::User;
use rustical_store::model::Calendar; use rustical_store::{Calendar, CalendarStore};
use rustical_store::CalendarStore;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
#[derive(Deserialize, Serialize, Clone, Debug)] #[derive(Deserialize, Serialize, Clone, Debug)]

View File

@@ -16,7 +16,7 @@ use rustical_dav::{
MultistatusElement, MultistatusElement,
}, },
}; };
use rustical_store::{model::object::CalendarObject, CalendarStore}; use rustical_store::{CalendarObject, CalendarStore};
use serde::Deserialize; use serde::Deserialize;
#[derive(Deserialize, Clone, Debug)] #[derive(Deserialize, Clone, Debug)]

View File

@@ -5,7 +5,7 @@ use rustical_dav::{
resource::Resource, resource::Resource,
xml::{multistatus::PropstatWrapper, MultistatusElement}, xml::{multistatus::PropstatWrapper, MultistatusElement},
}; };
use rustical_store::{model::object::CalendarObject, CalendarStore}; use rustical_store::{CalendarObject, CalendarStore};
use serde::Deserialize; use serde::Deserialize;
use crate::{ use crate::{

View File

@@ -8,7 +8,7 @@ use rustical_dav::{
}, },
}; };
use rustical_store::{ use rustical_store::{
model::calendar::{format_synctoken, parse_synctoken}, calendar::{format_synctoken, parse_synctoken},
CalendarStore, CalendarStore,
}; };
use serde::Deserialize; use serde::Deserialize;

View File

@@ -15,8 +15,7 @@ use async_trait::async_trait;
use derive_more::derive::{From, Into}; use derive_more::derive::{From, Into};
use rustical_dav::resource::{InvalidProperty, Resource, ResourceService}; use rustical_dav::resource::{InvalidProperty, Resource, ResourceService};
use rustical_dav::xml::HrefElement; use rustical_dav::xml::HrefElement;
use rustical_store::model::Calendar; use rustical_store::{Calendar, CalendarStore};
use rustical_store::CalendarStore;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use std::str::FromStr; use std::str::FromStr;
use std::sync::Arc; use std::sync::Arc;

View File

@@ -5,8 +5,7 @@ use actix_web::web::{Data, Path};
use actix_web::HttpRequest; use actix_web::HttpRequest;
use actix_web::HttpResponse; use actix_web::HttpResponse;
use rustical_store::auth::User; use rustical_store::auth::User;
use rustical_store::model::CalendarObject; use rustical_store::{CalendarObject, CalendarStore};
use rustical_store::CalendarStore;
use tracing::instrument; use tracing::instrument;
use tracing_actix_web::RootSpan; use tracing_actix_web::RootSpan;

View File

@@ -4,8 +4,7 @@ use actix_web::{dev::ResourceMap, web::Data, HttpRequest};
use async_trait::async_trait; use async_trait::async_trait;
use derive_more::derive::{From, Into}; use derive_more::derive::{From, Into};
use rustical_dav::resource::{InvalidProperty, Resource, ResourceService}; use rustical_dav::resource::{InvalidProperty, Resource, ResourceService};
use rustical_store::model::object::CalendarObject; use rustical_store::{CalendarObject, CalendarStore};
use rustical_store::CalendarStore;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use std::sync::Arc; use std::sync::Arc;
use strum::{EnumString, VariantNames}; use strum::{EnumString, VariantNames};

View File

@@ -6,8 +6,7 @@ use actix_web::web::{Data, Path};
use actix_web::HttpRequest; use actix_web::HttpRequest;
use actix_web::HttpResponse; use actix_web::HttpResponse;
use rustical_store::auth::User; use rustical_store::auth::User;
use rustical_store::model::AddressObject; use rustical_store::{AddressObject, AddressbookStore};
use rustical_store::AddressbookStore;
use tracing::instrument; use tracing::instrument;
use tracing_actix_web::RootSpan; use tracing_actix_web::RootSpan;

View File

@@ -3,7 +3,7 @@ use actix_web::{dev::ResourceMap, web::Data, HttpRequest};
use async_trait::async_trait; use async_trait::async_trait;
use derive_more::derive::{From, Into}; use derive_more::derive::{From, Into};
use rustical_dav::resource::{InvalidProperty, Resource, ResourceService}; use rustical_dav::resource::{InvalidProperty, Resource, ResourceService};
use rustical_store::{model::AddressObject, AddressbookStore}; use rustical_store::{AddressObject, AddressbookStore};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use std::sync::Arc; use std::sync::Arc;
use strum::{EnumString, VariantNames}; use strum::{EnumString, VariantNames};

View File

@@ -1,8 +1,7 @@
use crate::Error; use crate::Error;
use actix_web::web::Path; use actix_web::web::Path;
use actix_web::{web::Data, HttpResponse}; use actix_web::{web::Data, HttpResponse};
use rustical_store::model::Addressbook; use rustical_store::{auth::User, Addressbook, AddressbookStore};
use rustical_store::{auth::User, AddressbookStore};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
#[derive(Deserialize, Serialize, Clone, Debug)] #[derive(Deserialize, Serialize, Clone, Debug)]

View File

@@ -16,7 +16,7 @@ use rustical_dav::{
MultistatusElement, MultistatusElement,
}, },
}; };
use rustical_store::{model::AddressObject, AddressbookStore}; use rustical_store::{AddressObject, AddressbookStore};
use serde::Deserialize; use serde::Deserialize;
#[derive(Deserialize, Clone, Debug)] #[derive(Deserialize, Clone, Debug)]

View File

@@ -12,7 +12,7 @@ use rustical_dav::{
}, },
}; };
use rustical_store::{ use rustical_store::{
model::addressbook::{format_synctoken, parse_synctoken}, addressbook::{format_synctoken, parse_synctoken},
AddressbookStore, AddressbookStore,
}; };
use serde::Deserialize; use serde::Deserialize;

View File

@@ -12,8 +12,7 @@ use async_trait::async_trait;
use derive_more::derive::{From, Into}; use derive_more::derive::{From, Into};
use rustical_dav::resource::{InvalidProperty, Resource, ResourceService}; use rustical_dav::resource::{InvalidProperty, Resource, ResourceService};
use rustical_dav::xml::HrefElement; use rustical_dav::xml::HrefElement;
use rustical_store::model::Addressbook; use rustical_store::{Addressbook, AddressbookStore};
use rustical_store::AddressbookStore;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use std::str::FromStr; use std::str::FromStr;
use std::sync::Arc; use std::sync::Arc;

View File

@@ -9,8 +9,7 @@ use askama::Template;
use routes::login::{route_get_login, route_post_login}; use routes::login::{route_get_login, route_post_login};
use rustical_store::{ use rustical_store::{
auth::{AuthenticationMiddleware, AuthenticationProvider, User}, auth::{AuthenticationMiddleware, AuthenticationProvider, User},
model::Calendar, Calendar, CalendarStore,
CalendarStore,
}; };
use std::sync::Arc; use std::sync::Arc;

View File

@@ -1,6 +1,5 @@
use sha2::{Digest, Sha256};
use crate::Error; use crate::Error;
use sha2::{Digest, Sha256};
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
pub struct AddressObject { pub struct AddressObject {

View File

@@ -0,0 +1,5 @@
pub mod address_object;
pub mod addressbook;
pub use address_object::*;
pub use addressbook::*;

View File

@@ -1,5 +1,5 @@
use crate::{ use crate::{
model::{AddressObject, Addressbook}, addressbook::{AddressObject, Addressbook},
Error, Error,
}; };
use async_trait::async_trait; use async_trait::async_trait;

View File

@@ -0,0 +1,11 @@
mod calendar;
mod event;
mod journal;
mod object;
mod todo;
pub use calendar::*;
pub use event::*;
pub use journal::*;
pub use object::*;
pub use todo::*;

View File

@@ -1,6 +1,5 @@
use crate::calendar::{Calendar, CalendarObject};
use crate::error::Error; use crate::error::Error;
use crate::model::object::CalendarObject;
use crate::model::Calendar;
use async_trait::async_trait; use async_trait::async_trait;
#[async_trait] #[async_trait]

View File

@@ -1,10 +1,14 @@
pub mod addressbook;
pub mod addressbook_store; pub mod addressbook_store;
pub mod calendar_store; pub mod calendar_store;
pub mod error; pub mod error;
pub mod model;
pub mod timestamp; pub mod timestamp;
pub use error::Error; pub use error::Error;
pub mod auth; pub mod auth;
pub mod calendar;
pub use addressbook_store::AddressbookStore; pub use addressbook_store::AddressbookStore;
pub use calendar_store::CalendarStore; pub use calendar_store::CalendarStore;
pub use addressbook::{AddressObject, Addressbook};
pub use calendar::{Calendar, CalendarObject};

View File

@@ -1,14 +0,0 @@
pub mod calendar;
pub mod event;
pub mod journal;
pub mod object;
pub mod todo;
pub use calendar::Calendar;
pub use object::CalendarObject;
pub mod addressbook;
pub use addressbook::Addressbook;
pub mod address_object;
pub use address_object::AddressObject;

View File

@@ -1,9 +1,6 @@
use super::{ChangeOperation, SqliteStore}; use super::{ChangeOperation, SqliteStore};
use async_trait::async_trait; use async_trait::async_trait;
use rustical_store::{ use rustical_store::{AddressObject, Addressbook, AddressbookStore};
model::{AddressObject, Addressbook},
AddressbookStore,
};
use sqlx::{Sqlite, Transaction}; use sqlx::{Sqlite, Transaction};
use tracing::instrument; use tracing::instrument;

View File

@@ -1,9 +1,6 @@
use super::{ChangeOperation, SqliteStore}; use super::{ChangeOperation, SqliteStore};
use async_trait::async_trait; use async_trait::async_trait;
use rustical_store::model::object::CalendarObject; use rustical_store::{Calendar, CalendarObject, CalendarStore, Error};
use rustical_store::model::Calendar;
use rustical_store::CalendarStore;
use rustical_store::Error;
use sqlx::Sqlite; use sqlx::Sqlite;
use sqlx::Transaction; use sqlx::Transaction;
use tracing::instrument; use tracing::instrument;