mirror of
https://github.com/lldap/lldap.git
synced 2026-07-25 17:58:44 +00:00
domain-model: move domain::model module to separate crate
This commit is contained in:
committed by
nitnelave
parent
3c0359eb8a
commit
d854ace89f
Generated
+20
@@ -2536,6 +2536,7 @@ dependencies = [
|
|||||||
"lettre",
|
"lettre",
|
||||||
"lldap_auth",
|
"lldap_auth",
|
||||||
"lldap_domain",
|
"lldap_domain",
|
||||||
|
"lldap_domain_model",
|
||||||
"lldap_validation",
|
"lldap_validation",
|
||||||
"log",
|
"log",
|
||||||
"mockall",
|
"mockall",
|
||||||
@@ -2644,6 +2645,25 @@ dependencies = [
|
|||||||
"uuid 1.11.0",
|
"uuid 1.11.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "lldap_domain_model"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"base64 0.21.7",
|
||||||
|
"bincode",
|
||||||
|
"chrono",
|
||||||
|
"derive_more 1.0.0",
|
||||||
|
"lldap_auth",
|
||||||
|
"lldap_domain",
|
||||||
|
"orion",
|
||||||
|
"pretty_assertions",
|
||||||
|
"sea-orm",
|
||||||
|
"serde",
|
||||||
|
"serde_bytes",
|
||||||
|
"thiserror",
|
||||||
|
"uuid 1.11.0",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lldap_migration_tool"
|
name = "lldap_migration_tool"
|
||||||
version = "0.4.2"
|
version = "0.4.2"
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
members = [
|
members = [
|
||||||
"crates/auth",
|
"crates/auth",
|
||||||
"crates/domain",
|
"crates/domain",
|
||||||
|
"crates/domain-model",
|
||||||
"crates/validation",
|
"crates/validation",
|
||||||
"server",
|
"server",
|
||||||
"app",
|
"app",
|
||||||
|
|||||||
@@ -0,0 +1,50 @@
|
|||||||
|
[package]
|
||||||
|
authors = ["Valentin Tolmer <valentin@tolmer.fr>"]
|
||||||
|
name = "lldap_domain_model"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[features]
|
||||||
|
test = []
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
base64 = "0.21"
|
||||||
|
bincode = "1.3"
|
||||||
|
orion = "0.17"
|
||||||
|
serde = "1"
|
||||||
|
serde_bytes = "0.11"
|
||||||
|
thiserror = "1"
|
||||||
|
|
||||||
|
[dev-dependencies]
|
||||||
|
pretty_assertions = "1"
|
||||||
|
|
||||||
|
[dependencies.chrono]
|
||||||
|
features = ["serde"]
|
||||||
|
version = "0.4"
|
||||||
|
|
||||||
|
[dependencies.derive_more]
|
||||||
|
features = ["debug", "display", "from", "from_str"]
|
||||||
|
default-features = false
|
||||||
|
version = "1"
|
||||||
|
|
||||||
|
[dependencies.lldap_auth]
|
||||||
|
path = "../auth"
|
||||||
|
features = ["opaque_server", "opaque_client", "sea_orm"]
|
||||||
|
|
||||||
|
[dependencies.lldap_domain]
|
||||||
|
path = "../domain"
|
||||||
|
|
||||||
|
[dependencies.sea-orm]
|
||||||
|
version = "0.12"
|
||||||
|
default-features = false
|
||||||
|
features = [
|
||||||
|
"macros",
|
||||||
|
"with-chrono",
|
||||||
|
"with-uuid",
|
||||||
|
"sqlx-all",
|
||||||
|
"runtime-actix-rustls",
|
||||||
|
]
|
||||||
|
|
||||||
|
[dependencies.uuid]
|
||||||
|
features = ["v1", "v3"]
|
||||||
|
version = "1"
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
pub mod error;
|
||||||
|
pub mod model;
|
||||||
+3
-3
@@ -1,4 +1,4 @@
|
|||||||
use crate::domain::error::DomainError;
|
use crate::error::DomainError;
|
||||||
use lldap_domain::{
|
use lldap_domain::{
|
||||||
schema::AttributeList,
|
schema::AttributeList,
|
||||||
types::{Attribute, AttributeName, AttributeType, AttributeValue, Cardinality, Serialized},
|
types::{Attribute, AttributeName, AttributeType, AttributeValue, Cardinality, Serialized},
|
||||||
@@ -6,7 +6,7 @@ use lldap_domain::{
|
|||||||
|
|
||||||
// Value must be a serialized attribute value of the type denoted by typ,
|
// Value must be a serialized attribute value of the type denoted by typ,
|
||||||
// and either a singleton or unbounded list, depending on is_list.
|
// and either a singleton or unbounded list, depending on is_list.
|
||||||
pub(crate) fn deserialize_attribute_value(
|
pub fn deserialize_attribute_value(
|
||||||
value: &Serialized,
|
value: &Serialized,
|
||||||
typ: AttributeType,
|
typ: AttributeType,
|
||||||
is_list: bool,
|
is_list: bool,
|
||||||
@@ -39,7 +39,7 @@ pub(crate) fn deserialize_attribute_value(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) fn deserialize_attribute(
|
pub fn deserialize_attribute(
|
||||||
name: AttributeName,
|
name: AttributeName,
|
||||||
value: &Serialized,
|
value: &Serialized,
|
||||||
schema: &AttributeList,
|
schema: &AttributeList,
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
pub mod prelude;
|
pub mod prelude;
|
||||||
|
|
||||||
pub(crate) mod deserialize;
|
pub mod deserialize;
|
||||||
pub mod groups;
|
pub mod groups;
|
||||||
pub mod jwt_refresh_storage;
|
pub mod jwt_refresh_storage;
|
||||||
pub mod jwt_storage;
|
pub mod jwt_storage;
|
||||||
@@ -91,6 +91,9 @@ path = "../crates/domain"
|
|||||||
path = "../crates/domain"
|
path = "../crates/domain"
|
||||||
features = ["test"]
|
features = ["test"]
|
||||||
|
|
||||||
|
[dependencies.lldap_domain_model]
|
||||||
|
path = "../crates/domain-model"
|
||||||
|
|
||||||
[dependencies.lldap_validation]
|
[dependencies.lldap_validation]
|
||||||
path = "../crates/validation"
|
path = "../crates/validation"
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
use crate::domain::{error::Result, model::UserColumn};
|
|
||||||
use async_trait::async_trait;
|
use async_trait::async_trait;
|
||||||
use lldap_domain::{
|
use lldap_domain::{
|
||||||
requests::{
|
requests::{
|
||||||
@@ -11,6 +10,7 @@ use lldap_domain::{
|
|||||||
User, UserAndGroups, UserId, Uuid,
|
User, UserAndGroups, UserId, Uuid,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
use lldap_domain_model::{error::Result, model::UserColumn};
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::collections::HashSet;
|
use std::collections::HashSet;
|
||||||
|
|
||||||
|
|||||||
@@ -16,12 +16,12 @@ use crate::domain::{
|
|||||||
LdapInfo, UserFieldType,
|
LdapInfo, UserFieldType,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
model::UserColumn,
|
|
||||||
schema::PublicSchema,
|
schema::PublicSchema,
|
||||||
};
|
};
|
||||||
use lldap_domain::types::{
|
use lldap_domain::types::{
|
||||||
AttributeName, AttributeType, GroupDetails, LdapObjectClass, User, UserAndGroups, UserId,
|
AttributeName, AttributeType, GroupDetails, LdapObjectClass, User, UserAndGroups, UserId,
|
||||||
};
|
};
|
||||||
|
use lldap_domain_model::model::UserColumn;
|
||||||
|
|
||||||
pub fn get_user_attribute(
|
pub fn get_user_attribute(
|
||||||
user: &User,
|
user: &User,
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ use tracing::{debug, instrument, warn};
|
|||||||
use crate::domain::{
|
use crate::domain::{
|
||||||
handler::SubStringFilter,
|
handler::SubStringFilter,
|
||||||
ldap::error::{LdapError, LdapResult},
|
ldap::error::{LdapError, LdapResult},
|
||||||
model::UserColumn,
|
|
||||||
schema::PublicSchema,
|
schema::PublicSchema,
|
||||||
};
|
};
|
||||||
use lldap_domain::types::{
|
use lldap_domain::types::{
|
||||||
@@ -29,6 +28,7 @@ impl From<LdapSubstringFilter> for SubStringFilter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
use lldap_domain_model::model::UserColumn;
|
||||||
|
|
||||||
fn make_dn_pair<I>(mut iter: I) -> LdapResult<(String, String)>
|
fn make_dn_pair<I>(mut iter: I) -> LdapResult<(String, String)>
|
||||||
where
|
where
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
pub mod deserialize;
|
pub mod deserialize;
|
||||||
pub mod error;
|
|
||||||
pub mod handler;
|
pub mod handler;
|
||||||
pub mod ldap;
|
pub mod ldap;
|
||||||
pub mod model;
|
|
||||||
pub mod opaque_handler;
|
pub mod opaque_handler;
|
||||||
pub mod schema;
|
pub mod schema;
|
||||||
pub mod sql_backend_handler;
|
pub mod sql_backend_handler;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
use crate::domain::error::Result;
|
|
||||||
use async_trait::async_trait;
|
use async_trait::async_trait;
|
||||||
use lldap_domain::types::UserId;
|
use lldap_domain::types::UserId;
|
||||||
|
use lldap_domain_model::error::Result;
|
||||||
|
|
||||||
pub use lldap_auth::{login, registration};
|
pub use lldap_auth::{login, registration};
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
use crate::{
|
use crate::{
|
||||||
domain::{
|
domain::{
|
||||||
error::{DomainError, Result},
|
|
||||||
handler::{GroupBackendHandler, GroupListerBackendHandler, GroupRequestFilter},
|
handler::{GroupBackendHandler, GroupListerBackendHandler, GroupRequestFilter},
|
||||||
model::{self, deserialize, GroupColumn, MembershipColumn},
|
|
||||||
sql_backend_handler::SqlBackendHandler,
|
sql_backend_handler::SqlBackendHandler,
|
||||||
},
|
},
|
||||||
infra::access_control::UserReadableBackendHandler,
|
infra::access_control::UserReadableBackendHandler,
|
||||||
@@ -12,6 +10,10 @@ use lldap_domain::{
|
|||||||
requests::{CreateGroupRequest, UpdateGroupRequest},
|
requests::{CreateGroupRequest, UpdateGroupRequest},
|
||||||
types::{AttributeName, Group, GroupDetails, GroupId, Serialized, Uuid},
|
types::{AttributeName, Group, GroupDetails, GroupId, Serialized, Uuid},
|
||||||
};
|
};
|
||||||
|
use lldap_domain_model::{
|
||||||
|
error::{DomainError, Result},
|
||||||
|
model::{self, deserialize, GroupColumn, MembershipColumn},
|
||||||
|
};
|
||||||
use sea_orm::{
|
use sea_orm::{
|
||||||
sea_query::{Alias, Cond, Expr, Func, IntoCondition, OnConflict, SimpleExpr},
|
sea_query::{Alias, Cond, Expr, Func, IntoCondition, OnConflict, SimpleExpr},
|
||||||
ActiveModelTrait, ColumnTrait, DatabaseTransaction, EntityTrait, QueryFilter, QueryOrder,
|
ActiveModelTrait, ColumnTrait, DatabaseTransaction, EntityTrait, QueryFilter, QueryOrder,
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
use super::{
|
use super::{
|
||||||
error::{DomainError, Result},
|
|
||||||
handler::{BindRequest, LoginHandler},
|
handler::{BindRequest, LoginHandler},
|
||||||
model::{self, UserColumn},
|
|
||||||
opaque_handler::{login, registration, OpaqueHandler},
|
opaque_handler::{login, registration, OpaqueHandler},
|
||||||
sql_backend_handler::SqlBackendHandler,
|
sql_backend_handler::SqlBackendHandler,
|
||||||
};
|
};
|
||||||
@@ -9,6 +7,10 @@ use async_trait::async_trait;
|
|||||||
use base64::Engine;
|
use base64::Engine;
|
||||||
use lldap_auth::opaque;
|
use lldap_auth::opaque;
|
||||||
use lldap_domain::types::UserId;
|
use lldap_domain::types::UserId;
|
||||||
|
use lldap_domain_model::{
|
||||||
|
error::{DomainError, Result},
|
||||||
|
model::{self, UserColumn},
|
||||||
|
};
|
||||||
use sea_orm::{ActiveModelTrait, ActiveValue, EntityTrait, QuerySelect};
|
use sea_orm::{ActiveModelTrait, ActiveValue, EntityTrait, QuerySelect};
|
||||||
use secstr::SecUtf8;
|
use secstr::SecUtf8;
|
||||||
use tracing::{debug, info, instrument, warn};
|
use tracing::{debug, info, instrument, warn};
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
use crate::domain::{
|
use crate::domain::{
|
||||||
error::{DomainError, Result},
|
|
||||||
handler::{ReadSchemaBackendHandler, SchemaBackendHandler},
|
handler::{ReadSchemaBackendHandler, SchemaBackendHandler},
|
||||||
model,
|
|
||||||
sql_backend_handler::SqlBackendHandler,
|
sql_backend_handler::SqlBackendHandler,
|
||||||
};
|
};
|
||||||
use async_trait::async_trait;
|
use async_trait::async_trait;
|
||||||
@@ -10,6 +8,10 @@ use lldap_domain::{
|
|||||||
schema::{AttributeList, AttributeSchema, Schema},
|
schema::{AttributeList, AttributeSchema, Schema},
|
||||||
types::{AttributeName, LdapObjectClass},
|
types::{AttributeName, LdapObjectClass},
|
||||||
};
|
};
|
||||||
|
use lldap_domain_model::{
|
||||||
|
error::{DomainError, Result},
|
||||||
|
model,
|
||||||
|
};
|
||||||
use sea_orm::{
|
use sea_orm::{
|
||||||
ActiveModelTrait, DatabaseTransaction, EntityTrait, QueryOrder, Set, TransactionTrait,
|
ActiveModelTrait, DatabaseTransaction, EntityTrait, QueryOrder, Set, TransactionTrait,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
use crate::domain::{
|
use crate::domain::{
|
||||||
error::{DomainError, Result},
|
|
||||||
handler::{
|
handler::{
|
||||||
ReadSchemaBackendHandler, UserBackendHandler, UserListerBackendHandler, UserRequestFilter,
|
ReadSchemaBackendHandler, UserBackendHandler, UserListerBackendHandler, UserRequestFilter,
|
||||||
},
|
},
|
||||||
model::{self, deserialize, GroupColumn, UserColumn},
|
|
||||||
sql_backend_handler::SqlBackendHandler,
|
sql_backend_handler::SqlBackendHandler,
|
||||||
};
|
};
|
||||||
use async_trait::async_trait;
|
use async_trait::async_trait;
|
||||||
@@ -11,6 +9,10 @@ use lldap_domain::{
|
|||||||
requests::{CreateUserRequest, UpdateUserRequest},
|
requests::{CreateUserRequest, UpdateUserRequest},
|
||||||
types::{AttributeName, GroupDetails, GroupId, Serialized, User, UserAndGroups, UserId, Uuid},
|
types::{AttributeName, GroupDetails, GroupId, Serialized, User, UserAndGroups, UserId, Uuid},
|
||||||
};
|
};
|
||||||
|
use lldap_domain_model::{
|
||||||
|
error::{DomainError, Result},
|
||||||
|
model::{self, deserialize, GroupColumn, UserColumn},
|
||||||
|
};
|
||||||
use sea_orm::{
|
use sea_orm::{
|
||||||
sea_query::{
|
sea_query::{
|
||||||
query::OnConflict, Alias, Cond, Expr, Func, IntoColumnRef, IntoCondition, SimpleExpr,
|
query::OnConflict, Alias, Cond, Expr, Func, IntoColumnRef, IntoCondition, SimpleExpr,
|
||||||
@@ -414,10 +416,9 @@ impl UserBackendHandler for SqlBackendHandler {
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
use crate::domain::{
|
use crate::domain::{handler::SubStringFilter, sql_backend_handler::tests::*};
|
||||||
handler::SubStringFilter, model::UserColumn, sql_backend_handler::tests::*,
|
|
||||||
};
|
|
||||||
use lldap_domain::types::{Attribute, JpegPhoto};
|
use lldap_domain::types::{Attribute, JpegPhoto};
|
||||||
|
use lldap_domain_model::model::UserColumn;
|
||||||
use pretty_assertions::{assert_eq, assert_ne};
|
use pretty_assertions::{assert_eq, assert_ne};
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ use async_trait::async_trait;
|
|||||||
use tracing::info;
|
use tracing::info;
|
||||||
|
|
||||||
use crate::domain::{
|
use crate::domain::{
|
||||||
error::Result,
|
|
||||||
handler::{
|
handler::{
|
||||||
BackendHandler, GroupBackendHandler, GroupListerBackendHandler, GroupRequestFilter,
|
BackendHandler, GroupBackendHandler, GroupListerBackendHandler, GroupRequestFilter,
|
||||||
ReadSchemaBackendHandler, SchemaBackendHandler, UserBackendHandler,
|
ReadSchemaBackendHandler, SchemaBackendHandler, UserBackendHandler,
|
||||||
@@ -23,6 +22,7 @@ use lldap_domain::{
|
|||||||
UserAndGroups, UserId,
|
UserAndGroups, UserId,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
use lldap_domain_model::error::Result;
|
||||||
|
|
||||||
#[derive(Clone, Copy, PartialEq, Eq, Debug)]
|
#[derive(Clone, Copy, PartialEq, Eq, Debug)]
|
||||||
pub enum Permission {
|
pub enum Permission {
|
||||||
|
|||||||
@@ -23,12 +23,11 @@ use tracing::{debug, info, instrument, warn};
|
|||||||
|
|
||||||
use lldap_auth::{login, password_reset, registration, JWTClaims};
|
use lldap_auth::{login, password_reset, registration, JWTClaims};
|
||||||
use lldap_domain::types::{GroupDetails, GroupName, UserId};
|
use lldap_domain::types::{GroupDetails, GroupName, UserId};
|
||||||
|
use lldap_domain_model::{error::DomainError, model::UserColumn};
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
domain::{
|
domain::{
|
||||||
error::DomainError,
|
|
||||||
handler::{BackendHandler, BindRequest, LoginHandler, UserRequestFilter},
|
handler::{BackendHandler, BindRequest, LoginHandler, UserRequestFilter},
|
||||||
model::UserColumn,
|
|
||||||
opaque_handler::OpaqueHandler,
|
opaque_handler::OpaqueHandler,
|
||||||
},
|
},
|
||||||
infra::{
|
infra::{
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
use crate::domain::{
|
use crate::domain::sql_tables::DbConnection;
|
||||||
model::{self, JwtRefreshStorageColumn, JwtStorageColumn, PasswordResetTokensColumn},
|
|
||||||
sql_tables::DbConnection,
|
|
||||||
};
|
|
||||||
use actix::prelude::{Actor, AsyncContext, Context};
|
use actix::prelude::{Actor, AsyncContext, Context};
|
||||||
use cron::Schedule;
|
use cron::Schedule;
|
||||||
|
use lldap_domain_model::model::{
|
||||||
|
self, JwtRefreshStorageColumn, JwtStorageColumn, PasswordResetTokensColumn,
|
||||||
|
};
|
||||||
use sea_orm::{ColumnTrait, EntityTrait, QueryFilter};
|
use sea_orm::{ColumnTrait, EntityTrait, QueryFilter};
|
||||||
use std::{str::FromStr, time::Duration};
|
use std::{str::FromStr, time::Duration};
|
||||||
use tracing::{error, info, instrument};
|
use tracing::{error, info, instrument};
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ use crate::{
|
|||||||
deserialize::deserialize_attribute_value,
|
deserialize::deserialize_attribute_value,
|
||||||
handler::{BackendHandler, ReadSchemaBackendHandler},
|
handler::{BackendHandler, ReadSchemaBackendHandler},
|
||||||
ldap::utils::{map_user_field, UserFieldType},
|
ldap::utils::{map_user_field, UserFieldType},
|
||||||
model::UserColumn,
|
|
||||||
schema::PublicSchema,
|
schema::PublicSchema,
|
||||||
},
|
},
|
||||||
infra::{
|
infra::{
|
||||||
@@ -19,6 +18,7 @@ use juniper::{graphql_object, FieldResult, GraphQLInputObject};
|
|||||||
use lldap_domain::types::{
|
use lldap_domain::types::{
|
||||||
AttributeType, Cardinality, GroupDetails, GroupId, LdapObjectClass, UserId,
|
AttributeType, Cardinality, GroupDetails, GroupId, LdapObjectClass, UserId,
|
||||||
};
|
};
|
||||||
|
use lldap_domain_model::model::UserColumn;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use tracing::{debug, debug_span, Instrument, Span};
|
use tracing::{debug, debug_span, Instrument, Span};
|
||||||
|
|
||||||
|
|||||||
@@ -926,16 +926,18 @@ mod tests {
|
|||||||
use super::*;
|
use super::*;
|
||||||
use crate::{
|
use crate::{
|
||||||
domain::handler::*,
|
domain::handler::*,
|
||||||
domain::model::UserColumn,
|
|
||||||
infra::test_utils::{setup_default_schema, MockTestBackendHandler},
|
infra::test_utils::{setup_default_schema, MockTestBackendHandler},
|
||||||
};
|
};
|
||||||
use chrono::TimeZone;
|
use chrono::TimeZone;
|
||||||
use ldap3_proto::proto::{
|
use ldap3_proto::proto::{
|
||||||
LdapDerefAliases, LdapSearchScope, LdapSubstringFilter, LdapWhoamiRequest,
|
LdapDerefAliases, LdapSearchScope, LdapSubstringFilter, LdapWhoamiRequest,
|
||||||
};
|
};
|
||||||
use lldap_domain::schema::{AttributeList, AttributeSchema, Schema};
|
use lldap_domain::{
|
||||||
use lldap_domain::types::*;
|
schema::{AttributeList, AttributeSchema, Schema},
|
||||||
use lldap_domain::uuid;
|
types::*,
|
||||||
|
uuid,
|
||||||
|
};
|
||||||
|
use lldap_domain_model::model::UserColumn;
|
||||||
use mockall::predicate::eq;
|
use mockall::predicate::eq;
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use std::collections::HashSet;
|
use std::collections::HashSet;
|
||||||
@@ -1854,7 +1856,7 @@ mod tests {
|
|||||||
]))))
|
]))))
|
||||||
.times(1)
|
.times(1)
|
||||||
.return_once(|_| {
|
.return_once(|_| {
|
||||||
Err(crate::domain::error::DomainError::InternalError(
|
Err(lldap_domain_model::error::DomainError::InternalError(
|
||||||
"Error getting groups".to_string(),
|
"Error getting groups".to_string(),
|
||||||
))
|
))
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
use super::tcp_backend_handler::TcpBackendHandler;
|
use super::tcp_backend_handler::TcpBackendHandler;
|
||||||
use crate::domain::{
|
use crate::domain::sql_backend_handler::SqlBackendHandler;
|
||||||
error::*,
|
|
||||||
model::{self, JwtRefreshStorageColumn, JwtStorageColumn, PasswordResetTokensColumn},
|
|
||||||
sql_backend_handler::SqlBackendHandler,
|
|
||||||
};
|
|
||||||
use async_trait::async_trait;
|
use async_trait::async_trait;
|
||||||
use chrono::NaiveDateTime;
|
use chrono::NaiveDateTime;
|
||||||
use lldap_domain::types::UserId;
|
use lldap_domain::types::UserId;
|
||||||
|
use lldap_domain_model::{
|
||||||
|
error::*,
|
||||||
|
model::{self, JwtRefreshStorageColumn, JwtStorageColumn, PasswordResetTokensColumn},
|
||||||
|
};
|
||||||
use sea_orm::{
|
use sea_orm::{
|
||||||
sea_query::{Cond, Expr},
|
sea_query::{Cond, Expr},
|
||||||
ActiveModelTrait, ColumnTrait, EntityTrait, IntoActiveModel, QueryFilter, QuerySelect,
|
ActiveModelTrait, ColumnTrait, EntityTrait, IntoActiveModel, QueryFilter, QuerySelect,
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ use async_trait::async_trait;
|
|||||||
use chrono::NaiveDateTime;
|
use chrono::NaiveDateTime;
|
||||||
use std::collections::HashSet;
|
use std::collections::HashSet;
|
||||||
|
|
||||||
use crate::domain::error::Result;
|
|
||||||
use lldap_domain::types::UserId;
|
use lldap_domain::types::UserId;
|
||||||
|
use lldap_domain_model::error::Result;
|
||||||
|
|
||||||
#[async_trait]
|
#[async_trait]
|
||||||
pub trait TcpBackendHandler: Sync {
|
pub trait TcpBackendHandler: Sync {
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
use crate::{
|
use crate::{
|
||||||
domain::{
|
domain::{
|
||||||
error::DomainError,
|
|
||||||
handler::{BackendHandler, LoginHandler},
|
handler::{BackendHandler, LoginHandler},
|
||||||
opaque_handler::OpaqueHandler,
|
opaque_handler::OpaqueHandler,
|
||||||
},
|
},
|
||||||
@@ -19,6 +18,7 @@ use actix_service::map_config;
|
|||||||
use actix_web::{dev::AppConfig, guard, web, App, HttpResponse, Responder};
|
use actix_web::{dev::AppConfig, guard, web, App, HttpResponse, Responder};
|
||||||
use anyhow::{Context, Result};
|
use anyhow::{Context, Result};
|
||||||
use hmac::Hmac;
|
use hmac::Hmac;
|
||||||
|
use lldap_domain_model::error::DomainError;
|
||||||
use sha2::Sha512;
|
use sha2::Sha512;
|
||||||
use std::collections::HashSet;
|
use std::collections::HashSet;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
use crate::domain::{error::Result, handler::*, opaque_handler::*};
|
use crate::domain::{handler::*, opaque_handler::*};
|
||||||
use lldap_domain::{
|
use lldap_domain::{
|
||||||
requests::{
|
requests::{
|
||||||
CreateAttributeRequest, CreateGroupRequest, CreateUserRequest, UpdateGroupRequest,
|
CreateAttributeRequest, CreateGroupRequest, CreateUserRequest, UpdateGroupRequest,
|
||||||
@@ -7,6 +7,7 @@ use lldap_domain::{
|
|||||||
schema::{AttributeList, AttributeSchema, Schema},
|
schema::{AttributeList, AttributeSchema, Schema},
|
||||||
types::*,
|
types::*,
|
||||||
};
|
};
|
||||||
|
use lldap_domain_model::error::Result;
|
||||||
|
|
||||||
use async_trait::async_trait;
|
use async_trait::async_trait;
|
||||||
use std::collections::HashSet;
|
use std::collections::HashSet;
|
||||||
|
|||||||
Reference in New Issue
Block a user