journallib/sync_remote/
subgroup_remote.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
use common::model::status_message::StatusMessage;
use common::remote::{delete, get, post, put, services};
use hyper::HeaderMap;
use uuid::Uuid;

use crate::dto::subgroup_request::SubgroupRequest;
use crate::dto::subgroup_response::SubgroupResponse;

pub fn add_user_to_subgroups(
    subgroups: Vec<Uuid>,
    student: Uuid,
    headers: HeaderMap,
) -> Result<Vec<SubgroupResponse>, String> {
    post::<_, Vec<SubgroupResponse>>(
        services::JOURNAL_API,
        String::from(format!("{}{}", "/subgroup/addUserToSubgroups/", student)),
        headers,
        subgroups,
    )
}

pub fn transfer_student(
    subgroups: Vec<Uuid>,
    student: Uuid,
    old_school_class: Uuid,
    headers: HeaderMap,
) -> Result<Vec<SubgroupResponse>, String> {
    post::<_, Vec<SubgroupResponse>>(
        services::JOURNAL_API,
        String::from(format!(
            "{}/{}/{}",
            "/subgroup/transferStudent", student, old_school_class
        )),
        headers,
        subgroups,
    )
}

pub fn get_subgroups_for_my_org(headers: HeaderMap) -> Result<Vec<SubgroupResponse>, String> {
    get::<Vec<SubgroupResponse>>(
        services::JOURNAL_API,
        format!("/subgroup"),
        headers,
    )
}

pub fn set_schedule(
    schedule_id: Uuid,
    subgroup_id: Uuid,
    headers: HeaderMap,
) -> Result<SubgroupResponse, String> {
    put::<_, SubgroupResponse>(
        services::JOURNAL_API,
        format!(
            "{}/{}/{}",
            "/subgroup/setSchedule", schedule_id, subgroup_id
        ),
        headers,
        "",
    )
}

pub fn create_subgroup(
    sbgrp: SubgroupRequest,
    headers: HeaderMap,
) -> Result<Vec<SubgroupResponse>, String> {
    post::<_, Vec<SubgroupResponse>>(
        services::JOURNAL_API,
        String::from(format!("{}", "/subgroup")),
        headers,
        sbgrp,
    )
}

pub fn delete_subgroup(subgroup: Uuid, headers: HeaderMap) -> Result<StatusMessage, String> {
    delete::<StatusMessage>(
        services::JOURNAL_API,
        format!("{}{}", "/subgroup/", subgroup),
        headers,
    )
}

pub fn public_get_subgroup_by_list_id(
    uuids: Vec<Uuid>,
    headers: HeaderMap,
) -> Result<Vec<SubgroupResponse>, String> {
    post::<_, Vec<SubgroupResponse>>(
        services::JOURNAL_API,
        String::from(format!("{}", "/publicSubgroup")),
        headers,
        uuids,
    )
}