a
This commit is contained in:
@@ -279,68 +279,6 @@ pub struct TeamsSearchQueryDto {
|
||||
pub per_page: Option<i64>,
|
||||
}
|
||||
|
||||
impl TeamsDetailQueryDto {
|
||||
pub fn from(self) -> Self {
|
||||
self
|
||||
}
|
||||
}
|
||||
|
||||
impl TeamsListQueryDto {
|
||||
pub fn from(self) -> TeamsListItemDto {
|
||||
TeamsListItemDto {
|
||||
id: self.id.id.to_raw(),
|
||||
name: self.name,
|
||||
description: self.description,
|
||||
leader: TeamMemberDto {
|
||||
id: String::new(),
|
||||
user_id: self.leader_id.id.to_raw(),
|
||||
fullname: String::new(),
|
||||
email: None,
|
||||
avatar: None,
|
||||
role: "leader".to_string(),
|
||||
skills: None,
|
||||
joined_at: self.created_at.clone(),
|
||||
},
|
||||
is_open: self.is_open,
|
||||
current_member_count: 1,
|
||||
max_members: self.max_members,
|
||||
skills_required: self.skills_required,
|
||||
location: self.location,
|
||||
avatar: self.avatar,
|
||||
created_at: self.created_at,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn to_admin_list_dto(self) -> AdminTeamsListItemDto {
|
||||
let members = vec![];
|
||||
AdminTeamsListItemDto {
|
||||
id: self.id.id.to_raw(),
|
||||
name: self.name,
|
||||
description: self.description,
|
||||
leader: TeamMemberDto {
|
||||
id: String::new(),
|
||||
user_id: self.leader_id.id.to_raw(),
|
||||
fullname: String::new(),
|
||||
email: None,
|
||||
avatar: None,
|
||||
role: "leader".to_string(),
|
||||
skills: None,
|
||||
joined_at: self.created_at.clone(),
|
||||
},
|
||||
is_open: self.is_open,
|
||||
current_member_count: members.len() as i32 + 1,
|
||||
max_members: self.max_members,
|
||||
skills_required: self.skills_required,
|
||||
location: self.location,
|
||||
avatar: self.avatar,
|
||||
website_url: None,
|
||||
github_url: None,
|
||||
is_active: true,
|
||||
is_deleted: false,
|
||||
created_at: self.created_at,
|
||||
}
|
||||
}
|
||||
}
|
||||
#[derive(Clone, Debug, Serialize, Deserialize, ToSchema)]
|
||||
pub struct AdminTeamsListItemDto {
|
||||
pub id: String,
|
||||
@@ -381,9 +319,39 @@ pub struct AdminTeamsDetailItemDto {
|
||||
pub updated_at: String,
|
||||
}
|
||||
|
||||
impl TeamsDetailQueryDto {
|
||||
pub fn into_detail_dto(self) -> Self {
|
||||
self
|
||||
}
|
||||
}
|
||||
|
||||
impl TeamsListQueryDto {
|
||||
pub fn to_admin_list_dto(self) -> AdminTeamsListItemDto {
|
||||
let members = vec![];
|
||||
pub fn into_list_item_dto(self) -> TeamsListItemDto {
|
||||
TeamsListItemDto {
|
||||
id: self.id.id.to_raw(),
|
||||
name: self.name,
|
||||
description: self.description,
|
||||
leader: TeamMemberDto {
|
||||
id: String::new(),
|
||||
user_id: self.leader_id.id.to_raw(),
|
||||
fullname: String::new(),
|
||||
email: None,
|
||||
avatar: None,
|
||||
role: "leader".to_string(),
|
||||
skills: None,
|
||||
joined_at: self.created_at.clone(),
|
||||
},
|
||||
is_open: self.is_open,
|
||||
current_member_count: 1,
|
||||
max_members: self.max_members,
|
||||
skills_required: self.skills_required,
|
||||
location: self.location,
|
||||
avatar: self.avatar,
|
||||
created_at: self.created_at,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn into_admin_list_dto(self) -> AdminTeamsListItemDto {
|
||||
AdminTeamsListItemDto {
|
||||
id: self.id.id.to_raw(),
|
||||
name: self.name,
|
||||
@@ -399,7 +367,7 @@ impl TeamsListQueryDto {
|
||||
joined_at: self.created_at.clone(),
|
||||
},
|
||||
is_open: self.is_open,
|
||||
current_member_count: members.len() as i32 + 1,
|
||||
current_member_count: 1, // Placeholder; adjust based on actual member count
|
||||
max_members: self.max_members,
|
||||
skills_required: self.skills_required,
|
||||
location: self.location,
|
||||
@@ -414,7 +382,7 @@ impl TeamsListQueryDto {
|
||||
}
|
||||
|
||||
impl TeamsDetailQueryDto {
|
||||
pub fn to_admin_detail_dto(self, members: Vec<TeamMemberDto>) -> AdminTeamsDetailItemDto {
|
||||
pub fn into_admin_detail_dto(self, members: Vec<TeamMemberDto>) -> AdminTeamsDetailItemDto {
|
||||
AdminTeamsDetailItemDto {
|
||||
id: self.id.id.to_raw(),
|
||||
name: self.name,
|
||||
@@ -445,4 +413,3 @@ impl TeamsDetailQueryDto {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -759,6 +759,11 @@ impl TeamsServiceTrait for TeamsService {
|
||||
};
|
||||
success_list_response(response)
|
||||
}
|
||||
Err(e) => common_response(StatusCode::BAD_REQUEST, &e.to_string()),
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
fn get_admin_team_list(state: &AppState, meta: MetaRequestDto) -> Pin<Box<dyn Future<Output = Response> + Send>> {
|
||||
let state = state.to_owned();
|
||||
Box::pin(async move {
|
||||
|
||||
Reference in New Issue
Block a user