nextcloud.api_wrappers.group   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 61
Duplicated Lines 0 %

Importance

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