halo_msp_api 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,88 @@
1
+ # frozen_string_literal: true
2
+
3
+ module HaloMspApi
4
+ module Resources
5
+ class Reports < Base
6
+ # GET /Report - List of Reports
7
+ def list(params = {})
8
+ list_resource("Report", params)
9
+ end
10
+
11
+ # GET /Report/{id} - Get a specific Report
12
+ def get(id, params = {})
13
+ get_resource("Report", id, params)
14
+ end
15
+
16
+ # POST /Report - Create a new Report
17
+ def create(data)
18
+ create_resource("Report", data)
19
+ end
20
+
21
+ # PUT /Report/{id} - Update a Report
22
+ def update(id, data)
23
+ update_resource("Report", id, data)
24
+ end
25
+
26
+ # DELETE /Report/{id} - Delete a Report
27
+ def delete(id)
28
+ delete_resource("Report", id)
29
+ end
30
+
31
+ # GET /Report/Bookmark - Get Report bookmarks
32
+ def bookmarks(params = {})
33
+ get(resource_path("Report", nil, "Bookmark"), params)
34
+ end
35
+
36
+ # POST /Report/Bookmark - Create Report bookmark
37
+ def create_bookmark(data)
38
+ post(resource_path("Report", nil, "Bookmark"), data)
39
+ end
40
+
41
+ # POST /Report/createpdf - Create Report PDF
42
+ def create_pdf(data)
43
+ post(resource_path("Report", nil, "createpdf"), data)
44
+ end
45
+
46
+ # POST /Report/print - Print Report
47
+ def print(data)
48
+ post(resource_path("Report", nil, "print"), data)
49
+ end
50
+
51
+ # GET /ReportData/{publishedid} - Get Report data
52
+ def data(published_id, params = {})
53
+ get("/ReportData/#{published_id}", params)
54
+ end
55
+
56
+ # Report Repository methods
57
+ # GET /ReportRepository - List Report repositories
58
+ def repositories(params = {})
59
+ get("/ReportRepository", params)
60
+ end
61
+
62
+ # GET /ReportRepository/{id} - Get specific Report repository
63
+ def repository(id, params = {})
64
+ get("/ReportRepository/#{id}", params)
65
+ end
66
+
67
+ # POST /ReportRepository - Create Report repository
68
+ def create_repository(data)
69
+ post("/ReportRepository", data)
70
+ end
71
+
72
+ # PUT /ReportRepository/{id} - Update Report repository
73
+ def update_repository(id, data)
74
+ put("/ReportRepository/#{id}", data)
75
+ end
76
+
77
+ # DELETE /ReportRepository/{id} - Delete Report repository
78
+ def delete_repository(id)
79
+ delete("/ReportRepository/#{id}")
80
+ end
81
+
82
+ # GET /ReportRepository/ReportCategories - Get Report categories
83
+ def categories(params = {})
84
+ get("/ReportRepository/ReportCategories", params)
85
+ end
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module HaloMspApi
4
+ module Resources
5
+ class SalesOrders < Base
6
+ # GET /SalesOrder - List of Sales Orders
7
+ def list(params = {})
8
+ list_resource("SalesOrder", params)
9
+ end
10
+
11
+ # GET /SalesOrder/{id} - Get a specific Sales Order
12
+ def get(id, params = {})
13
+ get_resource("SalesOrder", id, params)
14
+ end
15
+
16
+ # POST /SalesOrder - Create a new Sales Order
17
+ def create(data)
18
+ create_resource("SalesOrder", data)
19
+ end
20
+
21
+ # PUT /SalesOrder/{id} - Update a Sales Order
22
+ def update(id, data)
23
+ update_resource("SalesOrder", id, data)
24
+ end
25
+
26
+ # DELETE /SalesOrder/{id} - Delete a Sales Order
27
+ def delete(id)
28
+ delete_resource("SalesOrder", id)
29
+ end
30
+
31
+ # POST /SalesOrder/Approval - Sales Order approval
32
+ def approval(data)
33
+ post(resource_path("SalesOrder", nil, "Approval"), data)
34
+ end
35
+
36
+ # GET /SalesOrder/Lines - Get Sales Order lines
37
+ def lines(params = {})
38
+ get(resource_path("SalesOrder", nil, "Lines"), params)
39
+ end
40
+
41
+ # GET /SalesOrder/NextRef - Get next Sales Order reference
42
+ def next_ref(params = {})
43
+ get(resource_path("SalesOrder", nil, "NextRef"), params)
44
+ end
45
+
46
+ # POST /SalesOrder/updatelines - Update Sales Order lines
47
+ def update_lines(data)
48
+ post(resource_path("SalesOrder", nil, "updatelines"), data)
49
+ end
50
+
51
+ # GET /SalesOrder/View - Get Sales Order view
52
+ def view(params = {})
53
+ get(resource_path("SalesOrder", nil, "View"), params)
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,177 @@
1
+ # frozen_string_literal: true
2
+
3
+ module HaloMspApi
4
+ module Resources
5
+ class Services < Base
6
+ # GET /Service - List of Services
7
+ def list(params = {})
8
+ list_resource("Service", params)
9
+ end
10
+
11
+ # GET /Service/{id} - Get a specific Service
12
+ def get(id, params = {})
13
+ get_resource("Service", id, params)
14
+ end
15
+
16
+ # POST /Service - Create a new Service
17
+ def create(data)
18
+ create_resource("Service", data)
19
+ end
20
+
21
+ # PUT /Service/{id} - Update a Service
22
+ def update(id, data)
23
+ update_resource("Service", id, data)
24
+ end
25
+
26
+ # DELETE /Service/{id} - Delete a Service
27
+ def delete(id)
28
+ delete_resource("Service", id)
29
+ end
30
+
31
+ # POST /Service/unsubscribe - Unsubscribe from Service
32
+ def unsubscribe(data)
33
+ post(resource_path("Service", nil, "unsubscribe"), data)
34
+ end
35
+
36
+ # Service Availability methods
37
+ # GET /ServiceAvailability - List Service availabilities
38
+ def availabilities(params = {})
39
+ get("/ServiceAvailability", params)
40
+ end
41
+
42
+ # GET /ServiceAvailability/{id} - Get specific Service availability
43
+ def availability(id, params = {})
44
+ get("/ServiceAvailability/#{id}", params)
45
+ end
46
+
47
+ # POST /ServiceAvailability - Create Service availability
48
+ def create_availability(data)
49
+ post("/ServiceAvailability", data)
50
+ end
51
+
52
+ # PUT /ServiceAvailability/{id} - Update Service availability
53
+ def update_availability(id, data)
54
+ put("/ServiceAvailability/#{id}", data)
55
+ end
56
+
57
+ # DELETE /ServiceAvailability/{id} - Delete Service availability
58
+ def delete_availability(id)
59
+ delete("/ServiceAvailability/#{id}")
60
+ end
61
+
62
+ # Service Category methods
63
+ # GET /ServiceCategory - List Service categories
64
+ def categories(params = {})
65
+ get("/ServiceCategory", params)
66
+ end
67
+
68
+ # GET /ServiceCategory/{id} - Get specific Service category
69
+ def category(id, params = {})
70
+ get("/ServiceCategory/#{id}", params)
71
+ end
72
+
73
+ # POST /ServiceCategory - Create Service category
74
+ def create_category(data)
75
+ post("/ServiceCategory", data)
76
+ end
77
+
78
+ # PUT /ServiceCategory/{id} - Update Service category
79
+ def update_category(id, data)
80
+ put("/ServiceCategory/#{id}", data)
81
+ end
82
+
83
+ # DELETE /ServiceCategory/{id} - Delete Service category
84
+ def delete_category(id)
85
+ delete("/ServiceCategory/#{id}")
86
+ end
87
+
88
+ # Service Request Details methods
89
+ # GET /ServiceRequestDetails - List Service request details
90
+ def request_details(params = {})
91
+ get("/ServiceRequestDetails", params)
92
+ end
93
+
94
+ # GET /ServiceRequestDetails/{id} - Get specific Service request details
95
+ def request_detail(id, params = {})
96
+ get("/ServiceRequestDetails/#{id}", params)
97
+ end
98
+
99
+ # POST /ServiceRequestDetails - Create Service request details
100
+ def create_request_detail(data)
101
+ post("/ServiceRequestDetails", data)
102
+ end
103
+
104
+ # PUT /ServiceRequestDetails/{id} - Update Service request details
105
+ def update_request_detail(id, data)
106
+ put("/ServiceRequestDetails/#{id}", data)
107
+ end
108
+
109
+ # DELETE /ServiceRequestDetails/{id} - Delete Service request details
110
+ def delete_request_detail(id)
111
+ delete("/ServiceRequestDetails/#{id}")
112
+ end
113
+
114
+ # Service Restriction methods
115
+ # GET /ServiceRestriction - List Service restrictions
116
+ def restrictions(params = {})
117
+ get("/ServiceRestriction", params)
118
+ end
119
+
120
+ # POST /ServiceRestriction - Create Service restriction
121
+ def create_restriction(data)
122
+ post("/ServiceRestriction", data)
123
+ end
124
+
125
+ # Service Status methods
126
+ # GET /ServiceStatus - List Service statuses
127
+ def statuses(params = {})
128
+ get("/ServiceStatus", params)
129
+ end
130
+
131
+ # GET /ServiceStatus/{id} - Get specific Service status
132
+ def status(id, params = {})
133
+ get("/ServiceStatus/#{id}", params)
134
+ end
135
+
136
+ # POST /ServiceStatus - Create Service status
137
+ def create_status(data)
138
+ post("/ServiceStatus", data)
139
+ end
140
+
141
+ # PUT /ServiceStatus/{id} - Update Service status
142
+ def update_status(id, data)
143
+ put("/ServiceStatus/#{id}", data)
144
+ end
145
+
146
+ # DELETE /ServiceStatus/{id} - Delete Service status
147
+ def delete_status(id)
148
+ delete("/ServiceStatus/#{id}")
149
+ end
150
+
151
+ # GET /ServiceStatus/Subscribe - List Service status subscriptions
152
+ def status_subscriptions(params = {})
153
+ get("/ServiceStatus/Subscribe", params)
154
+ end
155
+
156
+ # GET /ServiceStatus/Subscribe/{id} - Get specific Service status subscription
157
+ def status_subscription(id, params = {})
158
+ get("/ServiceStatus/Subscribe/#{id}", params)
159
+ end
160
+
161
+ # POST /ServiceStatus/Subscribe - Create Service status subscription
162
+ def create_status_subscription(data)
163
+ post("/ServiceStatus/Subscribe", data)
164
+ end
165
+
166
+ # PUT /ServiceStatus/Subscribe/{id} - Update Service status subscription
167
+ def update_status_subscription(id, data)
168
+ put("/ServiceStatus/Subscribe/#{id}", data)
169
+ end
170
+
171
+ # DELETE /ServiceStatus/Subscribe/{id} - Delete Service status subscription
172
+ def delete_status_subscription(id)
173
+ delete("/ServiceStatus/Subscribe/#{id}")
174
+ end
175
+ end
176
+ end
177
+ end
@@ -0,0 +1,84 @@
1
+ # frozen_string_literal: true
2
+
3
+ module HaloMspApi
4
+ module Resources
5
+ class Slas < Base
6
+ # GET /SLA - List of SLAs
7
+ def list(params = {})
8
+ list_resource("SLA", params)
9
+ end
10
+
11
+ # GET /SLA/{id} - Get a specific SLA
12
+ def get(id, params = {})
13
+ get_resource("SLA", id, params)
14
+ end
15
+
16
+ # POST /SLA - Create a new SLA
17
+ def create(data)
18
+ create_resource("SLA", data)
19
+ end
20
+
21
+ # PUT /SLA/{id} - Update an SLA
22
+ def update(id, data)
23
+ update_resource("SLA", id, data)
24
+ end
25
+
26
+ # DELETE /SLA/{id} - Delete an SLA
27
+ def delete(id)
28
+ delete_resource("SLA", id)
29
+ end
30
+
31
+ # SLA Policy methods
32
+ # GET /SLAPolicy - List SLA policies
33
+ def policies(params = {})
34
+ get("/SLAPolicy", params)
35
+ end
36
+
37
+ # GET /SLAPolicy/{id} - Get specific SLA policy
38
+ def policy(id, params = {})
39
+ get("/SLAPolicy/#{id}", params)
40
+ end
41
+
42
+ # POST /SLAPolicy - Create SLA policy
43
+ def create_policy(data)
44
+ post("/SLAPolicy", data)
45
+ end
46
+
47
+ # PUT /SLAPolicy/{id} - Update SLA policy
48
+ def update_policy(id, data)
49
+ put("/SLAPolicy/#{id}", data)
50
+ end
51
+
52
+ # DELETE /SLAPolicy/{id} - Delete SLA policy
53
+ def delete_policy(id)
54
+ delete("/SLAPolicy/#{id}")
55
+ end
56
+
57
+ # SLA Target methods
58
+ # GET /SLATarget - List SLA targets
59
+ def targets(params = {})
60
+ get("/SLATarget", params)
61
+ end
62
+
63
+ # GET /SLATarget/{id} - Get specific SLA target
64
+ def target(id, params = {})
65
+ get("/SLATarget/#{id}", params)
66
+ end
67
+
68
+ # POST /SLATarget - Create SLA target
69
+ def create_target(data)
70
+ post("/SLATarget", data)
71
+ end
72
+
73
+ # PUT /SLATarget/{id} - Update SLA target
74
+ def update_target(id, data)
75
+ put("/SLATarget/#{id}", data)
76
+ end
77
+
78
+ # DELETE /SLATarget/{id} - Delete SLA target
79
+ def delete_target(id)
80
+ delete("/SLATarget/#{id}")
81
+ end
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ module HaloMspApi
4
+ module Resources
5
+ class Suppliers < Base
6
+ # GET /Supplier - List of Suppliers
7
+ def list(params = {})
8
+ list_resource("Supplier", params)
9
+ end
10
+
11
+ # GET /Supplier/{id} - Get a specific Supplier
12
+ def get(id, params = {})
13
+ get_resource("Supplier", id, params)
14
+ end
15
+
16
+ # POST /Supplier - Create a new Supplier
17
+ def create(data)
18
+ create_resource("Supplier", data)
19
+ end
20
+
21
+ # PUT /Supplier/{id} - Update a Supplier
22
+ def update(id, data)
23
+ update_resource("Supplier", id, data)
24
+ end
25
+
26
+ # DELETE /Supplier/{id} - Delete a Supplier
27
+ def delete(id)
28
+ delete_resource("Supplier", id)
29
+ end
30
+
31
+ # Supplier Contract methods
32
+ # GET /SupplierContract - List Supplier contracts
33
+ def contracts(params = {})
34
+ get("/SupplierContract", params)
35
+ end
36
+
37
+ # GET /SupplierContract/{id} - Get specific Supplier contract
38
+ def contract(id, params = {})
39
+ get("/SupplierContract/#{id}", params)
40
+ end
41
+
42
+ # POST /SupplierContract - Create Supplier contract
43
+ def create_contract(data)
44
+ post("/SupplierContract", data)
45
+ end
46
+
47
+ # PUT /SupplierContract/{id} - Update Supplier contract
48
+ def update_contract(id, data)
49
+ put("/SupplierContract/#{id}", data)
50
+ end
51
+
52
+ # DELETE /SupplierContract/{id} - Delete Supplier contract
53
+ def delete_contract(id)
54
+ delete("/SupplierContract/#{id}")
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,207 @@
1
+ # frozen_string_literal: true
2
+
3
+ module HaloMspApi
4
+ module Resources
5
+ class Tickets < Base
6
+ # GET /Tickets - List of Tickets
7
+ def list(params = {})
8
+ list_resource("Tickets", params)
9
+ end
10
+
11
+ # GET /Tickets/{id} - Get a specific Ticket
12
+ def get(id, params = {})
13
+ get_resource("Tickets", id, params)
14
+ end
15
+
16
+ # POST /Tickets - Create a new Ticket
17
+ def create(data)
18
+ create_resource("Tickets", data)
19
+ end
20
+
21
+ # PUT /Tickets/{id} - Update a Ticket
22
+ def update(id, data)
23
+ update_resource("Tickets", id, data)
24
+ end
25
+
26
+ # DELETE /Tickets/{id} - Delete a Ticket
27
+ def delete(id)
28
+ delete_resource("Tickets", id)
29
+ end
30
+
31
+ # GET /Tickets/Object - Get Ticket object
32
+ def object(params = {})
33
+ get(resource_path("Tickets", nil, "Object"), params)
34
+ end
35
+
36
+ # POST /Tickets/processchildren - Process child tickets
37
+ def process_children(data)
38
+ post(resource_path("Tickets", nil, "processchildren"), data)
39
+ end
40
+
41
+ # GET /Tickets/salesmailbox - Get sales mailbox tickets
42
+ def sales_mailbox(params = {})
43
+ get(resource_path("Tickets", nil, "salesmailbox"), params)
44
+ end
45
+
46
+ # POST /Tickets/SetBillableProject - Set billable project
47
+ def set_billable_project(data)
48
+ post(resource_path("Tickets", nil, "SetBillableProject"), data)
49
+ end
50
+
51
+ # GET /Tickets/View - Get Ticket view
52
+ def view(params = {})
53
+ get(resource_path("Tickets", nil, "View"), params)
54
+ end
55
+
56
+ # POST /Tickets/vote - Vote on a ticket
57
+ def vote(data)
58
+ post(resource_path("Tickets", nil, "vote"), data)
59
+ end
60
+
61
+ # POST /Tickets/zapier - Zapier integration
62
+ def zapier(data)
63
+ post(resource_path("Tickets", nil, "zapier"), data)
64
+ end
65
+
66
+ # Ticket Approval methods
67
+ # GET /TicketApproval - List Ticket approvals
68
+ def approvals(params = {})
69
+ get("/TicketApproval", params)
70
+ end
71
+
72
+ # GET /TicketApproval/{id} - Get specific Ticket approval
73
+ def approval(id, params = {})
74
+ get("/TicketApproval/#{id}", params)
75
+ end
76
+
77
+ # GET /TicketApproval/{id}&{seq} - Get specific Ticket approval with sequence
78
+ def approval_with_sequence(id, seq, params = {})
79
+ get("/TicketApproval/#{id}&#{seq}", params)
80
+ end
81
+
82
+ # POST /TicketApproval - Create Ticket approval
83
+ def create_approval(data)
84
+ post("/TicketApproval", data)
85
+ end
86
+
87
+ # PUT /TicketApproval/{id} - Update Ticket approval
88
+ def update_approval(id, data)
89
+ put("/TicketApproval/#{id}", data)
90
+ end
91
+
92
+ # DELETE /TicketApproval/{id} - Delete Ticket approval
93
+ def delete_approval(id)
94
+ delete("/TicketApproval/#{id}")
95
+ end
96
+
97
+ # Ticket Area methods
98
+ # GET /TicketArea - List Ticket areas
99
+ def areas(params = {})
100
+ get("/TicketArea", params)
101
+ end
102
+
103
+ # GET /TicketArea/{id} - Get specific Ticket area
104
+ def area(id, params = {})
105
+ get("/TicketArea/#{id}", params)
106
+ end
107
+
108
+ # POST /TicketArea - Create Ticket area
109
+ def create_area(data)
110
+ post("/TicketArea", data)
111
+ end
112
+
113
+ # PUT /TicketArea/{id} - Update Ticket area
114
+ def update_area(id, data)
115
+ put("/TicketArea/#{id}", data)
116
+ end
117
+
118
+ # DELETE /TicketArea/{id} - Delete Ticket area
119
+ def delete_area(id)
120
+ delete("/TicketArea/#{id}")
121
+ end
122
+
123
+ # Ticket Rules methods
124
+ # GET /TicketRules - List Ticket rules
125
+ def rules(params = {})
126
+ get("/TicketRules", params)
127
+ end
128
+
129
+ # GET /TicketRules/{id} - Get specific Ticket rule
130
+ def rule(id, params = {})
131
+ get("/TicketRules/#{id}", params)
132
+ end
133
+
134
+ # POST /TicketRules - Create Ticket rule
135
+ def create_rule(data)
136
+ post("/TicketRules", data)
137
+ end
138
+
139
+ # PUT /TicketRules/{id} - Update Ticket rule
140
+ def update_rule(id, data)
141
+ put("/TicketRules/#{id}", data)
142
+ end
143
+
144
+ # DELETE /TicketRules/{id} - Delete Ticket rule
145
+ def delete_rule(id)
146
+ delete("/TicketRules/#{id}")
147
+ end
148
+
149
+ # Ticket Type methods
150
+ # GET /TicketType - List Ticket types
151
+ def types(params = {})
152
+ get("/TicketType", params)
153
+ end
154
+
155
+ # GET /TicketType/{id} - Get specific Ticket type
156
+ def type(id, params = {})
157
+ get("/TicketType/#{id}", params)
158
+ end
159
+
160
+ # POST /TicketType - Create Ticket type
161
+ def create_type(data)
162
+ post("/TicketType", data)
163
+ end
164
+
165
+ # PUT /TicketType/{id} - Update Ticket type
166
+ def update_type(id, data)
167
+ put("/TicketType/#{id}", data)
168
+ end
169
+
170
+ # DELETE /TicketType/{id} - Delete Ticket type
171
+ def delete_type(id)
172
+ delete("/TicketType/#{id}")
173
+ end
174
+
175
+ # GET /TicketTypeField - List Ticket type fields
176
+ def type_fields(params = {})
177
+ get("/TicketTypeField", params)
178
+ end
179
+
180
+ # Ticket Type Group methods
181
+ # GET /TicketTypeGroup - List Ticket type groups
182
+ def type_groups(params = {})
183
+ get("/TicketTypeGroup", params)
184
+ end
185
+
186
+ # GET /TicketTypeGroup/{id} - Get specific Ticket type group
187
+ def type_group(id, params = {})
188
+ get("/TicketTypeGroup/#{id}", params)
189
+ end
190
+
191
+ # POST /TicketTypeGroup - Create Ticket type group
192
+ def create_type_group(data)
193
+ post("/TicketTypeGroup", data)
194
+ end
195
+
196
+ # PUT /TicketTypeGroup/{id} - Update Ticket type group
197
+ def update_type_group(id, data)
198
+ put("/TicketTypeGroup/#{id}", data)
199
+ end
200
+
201
+ # DELETE /TicketTypeGroup/{id} - Delete Ticket type group
202
+ def delete_type_group(id)
203
+ delete("/TicketTypeGroup/#{id}")
204
+ end
205
+ end
206
+ end
207
+ end