Completed
Push — master ( a9b8b6...971575 )
by Matěj
12s
created

nextcloud.api_wrappers.group   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 60
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 5
eloc 20
dl 0
loc 60
rs 10
c 0
b 0
f 0

5 Methods

Rating   Name   Duplication   Size   Complexity  
A Group.get_groups() 0 15 1
A Group.add_group() 0 9 1
A Group.get_subadmins() 0 8 1
A Group.delete_group() 0 8 1
A Group.get_group() 0 8 1
1
from nextcloud.base import WithRequester
2
3
4
class Group(WithRequester):
5
    API_URL = "/ocs/v1.php/cloud/groups"
6
    SUCCESS_CODE = 100
7
8
    def get_groups(self, search=None, limit=None, offset=None):
9
        """
10
        Retrieve a list of groups from the Nextcloud server
11
12
        :param search: string, optional search string
13
        :param limit: int, optional limit value
14
        :param offset: int, optional offset value
15
        :return:
16
        """
17
        params = {
18
            'search': search,
19
            'limit': limit,
20
            'offset': offset
21
        }
22
        return self.requester.get(params=params)
23
24
    def add_group(self, gid):
25
        """
26
        Add a new group
27
28
        :param gid: str, group name
29
        :return:
30
        """
31
        msg = {"groupid": gid}
32
        return self.requester.post("", msg)
33
34
    def get_group(self, gid):
35
        """
36
        Retrieve a list of group members
37
38
        :param gid: str, group name
39
        :return:
40
        """
41
        return self.requester.get("{gid}".format(gid=gid))
42
43
    def get_subadmins(self, gid):
44
        """
45
        List subadmins of the group
46
47
        :param gid: str, group name
48
        :return:
49
        """
50
        return self.requester.get("{gid}/subadmins".format(gid=gid))
51
52
    def delete_group(self, gid):
53
        """
54
        Remove a group
55
56
        :param gid: str, group name
57
        :return:
58
        """
59
        return self.requester.delete("{gid}".format(gid=gid))
60