userlib/remote/
user_role_remote.rs

1use std::collections::HashMap;
2use common::remote::{get, post, put, services};
3use hyper::HeaderMap;
4use uuid::Uuid;
5
6use crate::dto::user_role_response::UserRoleResponse;
7
8pub fn find_by_class(id: Uuid, headers: HeaderMap) -> Result<Vec<UserRoleResponse>, String> {
9    get::<Vec<UserRoleResponse>>(
10        services::USER_API,
11        format!("/userRole/studentsForClass/{}", id),
12        headers,
13    )
14}
15
16pub fn find_students(headers: HeaderMap) -> Result<Vec<UserRoleResponse>, String> {
17    get::<Vec<UserRoleResponse>>(
18        services::USER_API,
19        "/userRole/studentsForOrg".to_string(),
20        headers,
21    )
22}
23
24pub fn find_main_roles_by_user_ids(ids: Vec<Uuid>) -> Result<HashMap<Uuid, UserRoleResponse>, String> {
25    let headers = HeaderMap::new();
26    post(
27        services::USER_API,
28        "userRole/getMainRolesByListIds".to_string(),
29        headers,
30        ids
31    )
32}
33
34pub fn find_by_id(id: Uuid, headers: HeaderMap) -> Result<UserRoleResponse, String> {
35    get::<UserRoleResponse>(
36        services::USER_API,
37        format!("/userRole/remote/{}", id),
38        headers,
39    )
40}
41
42pub fn edit_class_for_all(
43    old_class_id: Uuid,
44    new_class_id: Uuid,
45    headers: HeaderMap,
46) -> Result<Vec<UserRoleResponse>, String> {
47    put(
48        services::USER_API,
49        format!(
50            "/userRole/editSchoolClassForAll/{}/{}",
51            old_class_id, new_class_id
52        ),
53        headers,
54        "",
55    )
56}