Passed
Push — main ( 8785b1...fdb7a5 )
by Alexis
01:04
created

SupportBee.CustomerGroups.update()   B

Complexity

Conditions 8

Size

Total Lines 29
Code Lines 25

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 8
eloc 25
nop 8
dl 0
loc 29
rs 7.3333
c 0
b 0
f 0

How to fix   Many Parameters   

Many Parameters

Methods with many parameters are not only hard to understand, but their parameters also often become inconsistent when you need more, or different data.

There are several approaches to avoid long parameter lists:

1
from endpoints import base
2
from endpoints.tickets import Tickets
3
from endpoints.replies import Replies
4
from endpoints.comments import Comments
5
from endpoints.teams import Teams
6
from endpoints.users import Users
7
from endpoints.customer_groups import CustomerGroups
8
from endpoints.attachments import Attachments
9
from endpoints.labels import Labels
10
from endpoints.emails import Emails
11
from endpoints.filters import Filters
12
from endpoints.snippets import Snippets
13
from endpoints.reports import Reports
14
15
# Enums
16
BasicOptions        = base.BasicOptions
17
AssignedUserOptions = base.AssignedUserOptions
18
AssignedTeamOptions = base.AssignedTeamOptions
19
SortByOptions       = base.SortByOptions
20
UserRoles           = base.UserRoles
21
DataPointType       = base.DataPointType
22
23
24
class SupportBee:
25
    def __init__(self, token, company_url):
26
        self.BASE_URL = company_url + "{url}?auth_token=" + token
27
28
    @property
29
    def tickets(self):
30
        return Tickets(self)
31
32
    @property
33
    def replies(self):
34
        return Replies(self)
35
36
    @property
37
    def comments(self):
38
        return Comments(self)
39
40
    @property
41
    def teams(self):
42
        return Teams(self)
43
44
    @property
45
    def users(self):
46
        return Users(self)
47
48
    @property
49
    def customers_groups(self):
50
        return CustomerGroups(self)
51
52
    @property
53
    def attachments(self):
54
        return Attachments(self)
55
56
    @property
57
    def labels(self):
58
        return Labels(self)
59
60
    @property
61
    def emails(self):
62
        return Emails(self)
63
64
    @property
65
    def filters(self):
66
        return Filters(self)
67
68
    @property
69
    def snippets(self):
70
        return Snippets(self)
71
72
    @property
73
    def reports(self):
74
        return Reports(self)
75