Split up models

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2025-06-04 23:55:52 +01:00
parent 455bf7b88d
commit b81a49af3d
7 changed files with 150 additions and 137 deletions

View File

@@ -11,7 +11,7 @@ use log::error;
use non_empty_string::NonEmptyString;
use serde::{Deserialize, Serialize};
use crate::{models::authelia, routes::auth, state::State};
use crate::{models::groups, routes::auth, state::State};
#[derive(Debug, Serialize)]
struct GroupResponse {
@@ -19,8 +19,8 @@ struct GroupResponse {
users: Vec<NonEmptyString>,
}
impl From<(NonEmptyString, authelia::Group)> for GroupResponse {
fn from((groupname, group): (NonEmptyString, authelia::Group)) -> Self {
impl From<(NonEmptyString, groups::Group)> for GroupResponse {
fn from((groupname, group): (NonEmptyString, groups::Group)) -> Self {
Self {
groupname,
users: group.users,
@@ -30,8 +30,8 @@ impl From<(NonEmptyString, authelia::Group)> for GroupResponse {
type GroupsResponse = HashMap<NonEmptyString, GroupResponse>;
impl From<authelia::Groups> for GroupsResponse {
fn from(groups: authelia::Groups) -> Self {
impl From<groups::Groups> for GroupsResponse {
fn from(groups: groups::Groups) -> Self {
groups
.groups
.into_iter()
@@ -74,7 +74,7 @@ pub struct GroupCreate {
users: Vec<NonEmptyString>,
}
impl From<GroupCreate> for authelia::Group {
impl From<GroupCreate> for groups::Group {
fn from(update: GroupCreate) -> Self {
Self {
users: update.users,
@@ -97,7 +97,7 @@ pub async fn create(
return Err(StatusCode::CONFLICT);
}
let group_created = authelia::Group::from(group_create);
let group_created = groups::Group::from(group_create);
for username in &group_created.users {
if !users.contains_key(username) {
@@ -125,7 +125,7 @@ pub struct GroupUpdate {
users: Vec<NonEmptyString>,
}
impl From<GroupUpdate> for authelia::Group {
impl From<GroupUpdate> for groups::Group {
fn from(update: GroupUpdate) -> Self {
Self {
users: update.users,
@@ -150,7 +150,7 @@ pub async fn update(
.unwrap_or_else(|| groupname.clone());
let group_existing = groups.get(&groupname).ok_or(StatusCode::NOT_FOUND)?;
let group_updated = authelia::Group::from(group_update);
let group_updated = groups::Group::from(group_update);
if groupname != new_groupname
&& (groupname == state.config.oauth.admin_group