halo_msp_api 0.2.0 → 0.3.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +21 -24
- data/examples/basic_usage.rb +5 -0
- data/lib/halo_msp_api/resources/actions.rb +10 -10
- data/lib/halo_msp_api/resources/agents.rb +12 -12
- data/lib/halo_msp_api/resources/appointments.rb +6 -6
- data/lib/halo_msp_api/resources/assets.rb +22 -22
- data/lib/halo_msp_api/resources/base.rb +2 -1
- data/lib/halo_msp_api/resources/clients.rb +10 -10
- data/lib/halo_msp_api/resources/invoices.rb +17 -17
- data/lib/halo_msp_api/resources/knowledge_base.rb +15 -15
- data/lib/halo_msp_api/resources/reports.rb +5 -5
- data/lib/halo_msp_api/resources/services.rb +27 -27
- data/lib/halo_msp_api/resources/slas.rb +10 -10
- data/lib/halo_msp_api/resources/suppliers.rb +5 -5
- data/lib/halo_msp_api/resources/tickets.rb +40 -25
- data/lib/halo_msp_api/resources/users.rb +7 -7
- data/lib/halo_msp_api/resources/webhooks.rb +10 -10
- data/lib/halo_msp_api/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 66a71218fe73c35441a0f239ab1c80a3879aac9d9c44116c167a260c6cf6cb3c
|
4
|
+
data.tar.gz: 8602e863b06f0e4fd6ea315da702c6e9f1f8e41fdbdb3f19c22e08c4dd5ab91c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a4fbc442112b4f78af465735d8b59b74f3cfed6308306d42810a550729aafe6ed8a61815d904841a648e956a11c1aed92f15bfe512423a9c848895962d9d4be8
|
7
|
+
data.tar.gz: 300aebb149d31b354667abc6845598739e74f8b60008702f8c418b3ab0159646e53c40996e1e11c12591097bb5df9b5c33acf227ece2fa56a517978f95605ad7
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
7
7
|
|
8
|
+
## [0.3.0] - 2025-09-23
|
9
|
+
|
10
|
+
### Added
|
11
|
+
- Added methods for grabbing ticket statuses, categories, and other user defined attributes
|
12
|
+
|
13
|
+
### Fixed
|
14
|
+
- Fixed resource methods not using the correct method from the base class
|
15
|
+
|
8
16
|
## [0.2.0] - 2025-09-15
|
9
17
|
|
10
18
|
### Added
|
data/README.md
CHANGED
@@ -55,13 +55,13 @@ client = HaloApi::Client.new(config)
|
|
55
55
|
|
56
56
|
```ruby
|
57
57
|
# List all tickets
|
58
|
-
tickets = client.tickets.
|
58
|
+
tickets = client.tickets.tickets
|
59
59
|
|
60
60
|
# Get a specific ticket
|
61
|
-
ticket = client.tickets.
|
61
|
+
ticket = client.tickets.ticket(123)
|
62
62
|
|
63
63
|
# Create a new ticket
|
64
|
-
new_ticket = client.tickets.
|
64
|
+
new_ticket = client.tickets.create_ticket({
|
65
65
|
summary: "New ticket",
|
66
66
|
details: "Ticket description",
|
67
67
|
tickettype_id: 1,
|
@@ -69,23 +69,20 @@ new_ticket = client.tickets.create({
|
|
69
69
|
})
|
70
70
|
|
71
71
|
# Update a ticket
|
72
|
-
client.tickets.
|
72
|
+
client.tickets.update_ticket(123, { summary: "Updated summary" })
|
73
73
|
|
74
74
|
# Delete a ticket
|
75
|
-
client.tickets.
|
75
|
+
client.tickets.delete_ticket(123)
|
76
76
|
```
|
77
77
|
|
78
78
|
### Working with Users
|
79
79
|
|
80
80
|
```ruby
|
81
81
|
# List all users
|
82
|
-
users = client.users.
|
83
|
-
|
84
|
-
# Get current user
|
85
|
-
current_user = client.users.me
|
82
|
+
users = client.users.users
|
86
83
|
|
87
84
|
# Create a new user
|
88
|
-
new_user = client.users.
|
85
|
+
new_user = client.users.create_user({
|
89
86
|
name: "John Doe",
|
90
87
|
emailaddress: "john@example.com"
|
91
88
|
})
|
@@ -95,13 +92,13 @@ new_user = client.users.create({
|
|
95
92
|
|
96
93
|
```ruby
|
97
94
|
# List all assets
|
98
|
-
assets = client.assets.
|
95
|
+
assets = client.assets.assets
|
99
96
|
|
100
97
|
# Get a specific asset
|
101
|
-
asset = client.assets.
|
98
|
+
asset = client.assets.asset(123)
|
102
99
|
|
103
100
|
# Create a new asset
|
104
|
-
new_asset = client.assets.
|
101
|
+
new_asset = client.assets.create_asset({
|
105
102
|
inventory_number: "ASSET001",
|
106
103
|
assettype_id: 1
|
107
104
|
})
|
@@ -111,13 +108,13 @@ new_asset = client.assets.create({
|
|
111
108
|
|
112
109
|
```ruby
|
113
110
|
# List all clients
|
114
|
-
clients = client.clients.
|
111
|
+
clients = client.clients.clients
|
115
112
|
|
116
113
|
# Get a specific client
|
117
|
-
client_record = client.clients.
|
114
|
+
client_record = client.clients.client(123)
|
118
115
|
|
119
116
|
# Create a new client
|
120
|
-
new_client = client.clients.
|
117
|
+
new_client = client.clients.create_client({
|
121
118
|
name: "ACME Corp",
|
122
119
|
website: "https://acme.com"
|
123
120
|
})
|
@@ -127,13 +124,13 @@ new_client = client.clients.create({
|
|
127
124
|
|
128
125
|
```ruby
|
129
126
|
# List all invoices
|
130
|
-
invoices = client.invoices.
|
127
|
+
invoices = client.invoices.invoices
|
131
128
|
|
132
129
|
# Get a specific invoice
|
133
|
-
invoice = client.invoices.
|
130
|
+
invoice = client.invoices.invoice(123)
|
134
131
|
|
135
132
|
# Create a new invoice
|
136
|
-
new_invoice = client.invoices.
|
133
|
+
new_invoice = client.invoices.create_invoice({
|
137
134
|
client_id: 1,
|
138
135
|
invoicedate: "2023-01-01"
|
139
136
|
})
|
@@ -146,10 +143,10 @@ pdf_data = client.invoices.pdf(123)
|
|
146
143
|
|
147
144
|
```ruby
|
148
145
|
# List all reports
|
149
|
-
reports = client.reports.
|
146
|
+
reports = client.reports.reports
|
150
147
|
|
151
148
|
# Get a specific report
|
152
|
-
report = client.reports.
|
149
|
+
report = client.reports.report(123)
|
153
150
|
|
154
151
|
# Get report data
|
155
152
|
report_data = client.reports.data("published_report_id")
|
@@ -159,10 +156,10 @@ report_data = client.reports.data("published_report_id")
|
|
159
156
|
|
160
157
|
```ruby
|
161
158
|
# Get Azure AD data
|
162
|
-
azure_data = client.integrations.
|
159
|
+
azure_data = client.integrations.azure_ad
|
163
160
|
|
164
161
|
# Get Slack data
|
165
|
-
slack_data = client.integrations.
|
162
|
+
slack_data = client.integrations.slack
|
166
163
|
|
167
164
|
# Import Jira data
|
168
165
|
client.integrations.import_jira(jira_data)
|
@@ -210,7 +207,7 @@ The gem provides specific error classes for different types of API errors:
|
|
210
207
|
|
211
208
|
```ruby
|
212
209
|
begin
|
213
|
-
ticket = client.tickets.
|
210
|
+
ticket = client.tickets.ticket(999999)
|
214
211
|
rescue HaloMspApi::NotFoundError
|
215
212
|
puts "Ticket not found"
|
216
213
|
rescue HaloMspApi::AuthenticationError
|
data/examples/basic_usage.rb
CHANGED
@@ -117,6 +117,11 @@ begin
|
|
117
117
|
end
|
118
118
|
puts
|
119
119
|
|
120
|
+
puts '9. Listing Statuses'
|
121
|
+
statuses = instance.tickets.statuses
|
122
|
+
puts "Found #{statuses&.length || 0} statuses"
|
123
|
+
puts "First Status: #{statuses.first['name']}"
|
124
|
+
|
120
125
|
puts '=== Example completed successfully! ==='
|
121
126
|
rescue HaloMspApi::AuthenticationError => e
|
122
127
|
puts "Authentication failed: #{e.message}"
|
@@ -34,53 +34,53 @@ module HaloMspApi
|
|
34
34
|
# Action Reactions methods
|
35
35
|
# GET /ActionReaction - List action reactions
|
36
36
|
def reactions(params = {})
|
37
|
-
|
37
|
+
list_resource('ActionReaction', params)
|
38
38
|
end
|
39
39
|
|
40
40
|
# GET /ActionReaction/{id} - Get specific action reaction
|
41
41
|
def reaction(id, params = {})
|
42
|
-
|
42
|
+
get_resource('ActionReaction', id, params)
|
43
43
|
end
|
44
44
|
|
45
45
|
# POST /ActionReaction - Create action reaction
|
46
46
|
def create_reaction(data)
|
47
|
-
|
47
|
+
create_resource('ActionReaction', data)
|
48
48
|
end
|
49
49
|
|
50
50
|
# PUT /ActionReaction/{id} - Update action reaction
|
51
51
|
def update_reaction(id, data)
|
52
|
-
|
52
|
+
update_resource('ActionReaction', id, data)
|
53
53
|
end
|
54
54
|
|
55
55
|
# DELETE /ActionReaction/{id} - Delete action reaction
|
56
56
|
def delete_reaction(id)
|
57
|
-
|
57
|
+
delete_resource('ActionReaction', id)
|
58
58
|
end
|
59
59
|
|
60
60
|
# Action Review methods
|
61
61
|
# GET /ActionReview - List action reviews
|
62
62
|
def reviews(params = {})
|
63
|
-
|
63
|
+
list_resource('ActionReview', params)
|
64
64
|
end
|
65
65
|
|
66
66
|
# GET /ActionReview/{id} - Get specific action review
|
67
67
|
def review(id, params = {})
|
68
|
-
|
68
|
+
get_resource('ActionReview', id, params)
|
69
69
|
end
|
70
70
|
|
71
71
|
# POST /ActionReview - Create action review
|
72
72
|
def create_review(data)
|
73
|
-
|
73
|
+
create_resource('ActionReview', data)
|
74
74
|
end
|
75
75
|
|
76
76
|
# PUT /ActionReview/{id} - Update action review
|
77
77
|
def update_review(id, data)
|
78
|
-
|
78
|
+
update_resource('ActionReview', id, data)
|
79
79
|
end
|
80
80
|
|
81
81
|
# DELETE /ActionReview/{id} - Delete action review
|
82
82
|
def delete_review(id)
|
83
|
-
|
83
|
+
delete_resource('ActionReview', id)
|
84
84
|
end
|
85
85
|
end
|
86
86
|
end
|
@@ -31,7 +31,7 @@ module HaloMspApi
|
|
31
31
|
|
32
32
|
# GET /Agent/me - Get current Agent information
|
33
33
|
def me(params = {})
|
34
|
-
|
34
|
+
get_resource('Agent', 'me', params)
|
35
35
|
end
|
36
36
|
|
37
37
|
# POST /Agent/ClearCache - Clear Agent cache
|
@@ -41,60 +41,60 @@ module HaloMspApi
|
|
41
41
|
|
42
42
|
# GET /AgentImage/{id} - Get Agent image
|
43
43
|
def image(id)
|
44
|
-
|
44
|
+
get_resource('AgentImage', id)
|
45
45
|
end
|
46
46
|
|
47
47
|
# Agent Check-in related methods
|
48
48
|
# GET /AgentCheckIn - List Agent check-ins
|
49
49
|
def check_ins(params = {})
|
50
|
-
|
50
|
+
list_resource('AgentCheckIn', params)
|
51
51
|
end
|
52
52
|
|
53
53
|
# GET /AgentCheckIn/{id} - Get specific Agent check-in
|
54
54
|
def check_in(id, params = {})
|
55
|
-
|
55
|
+
get_resource('AgentCheckIn', id, params)
|
56
56
|
end
|
57
57
|
|
58
58
|
# POST /AgentCheckIn - Create Agent check-in
|
59
59
|
def create_check_in(data)
|
60
|
-
|
60
|
+
create_resource('AgentCheckIn', data)
|
61
61
|
end
|
62
62
|
|
63
63
|
# Agent Event Subscription methods
|
64
64
|
# GET /AgentEventSubscription - List Agent event subscriptions
|
65
65
|
def event_subscriptions(params = {})
|
66
|
-
|
66
|
+
list_resource('AgentEventSubscription', params)
|
67
67
|
end
|
68
68
|
|
69
69
|
# GET /AgentEventSubscription/{id} - Get specific Agent event subscription
|
70
70
|
def event_subscription(id, params = {})
|
71
|
-
|
71
|
+
get_resource('AgentEventSubscription', id, params)
|
72
72
|
end
|
73
73
|
|
74
74
|
# POST /AgentEventSubscription - Create Agent event subscription
|
75
75
|
def create_event_subscription(data)
|
76
|
-
|
76
|
+
create_resource('AgentEventSubscription', data)
|
77
77
|
end
|
78
78
|
|
79
79
|
# Agent Presence related methods
|
80
80
|
# GET /AgentPresenceRule - List Agent presence rules
|
81
81
|
def presence_rules(params = {})
|
82
|
-
|
82
|
+
list_resource('AgentPresenceRule', params)
|
83
83
|
end
|
84
84
|
|
85
85
|
# GET /AgentPresenceSubscription - List Agent presence subscriptions
|
86
86
|
def presence_subscriptions(params = {})
|
87
|
-
|
87
|
+
list_resource('AgentPresenceSubscription', params)
|
88
88
|
end
|
89
89
|
|
90
90
|
# GET /AgentPresenceSubscription/{id} - Get specific Agent presence subscription
|
91
91
|
def presence_subscription(id, params = {})
|
92
|
-
|
92
|
+
get_resource('AgentPresenceSubscription', id, params)
|
93
93
|
end
|
94
94
|
|
95
95
|
# POST /AgentPresenceSubscription - Create Agent presence subscription
|
96
96
|
def create_presence_subscription(data)
|
97
|
-
|
97
|
+
create_resource('AgentPresenceSubscription', data)
|
98
98
|
end
|
99
99
|
end
|
100
100
|
end
|
@@ -31,12 +31,12 @@ module HaloMspApi
|
|
31
31
|
|
32
32
|
# GET /Appointment/Availability - Get Appointment availability
|
33
33
|
def availability(params = {})
|
34
|
-
|
34
|
+
get_resource('Appointment', 'Availability', params)
|
35
35
|
end
|
36
36
|
|
37
37
|
# GET /Appointment/Calendar - Get Appointment calendar
|
38
38
|
def calendar(params = {})
|
39
|
-
|
39
|
+
get_resource('Appointment', 'Calendar', params)
|
40
40
|
end
|
41
41
|
|
42
42
|
# POST /Appointment/CheckAvailability - Check Appointment availability
|
@@ -46,22 +46,22 @@ module HaloMspApi
|
|
46
46
|
|
47
47
|
# GET /Appointment/Slots - Get Appointment slots
|
48
48
|
def slots(params = {})
|
49
|
-
|
49
|
+
list_resource('Appointment', 'Slots', params)
|
50
50
|
end
|
51
51
|
|
52
52
|
# POST /Appointment/Slots - Create Appointment slots
|
53
53
|
def create_slots(data)
|
54
|
-
|
54
|
+
create_resource('Appointment', 'Slots', data)
|
55
55
|
end
|
56
56
|
|
57
57
|
# GET /Appointment/Types - Get Appointment types
|
58
58
|
def types(params = {})
|
59
|
-
|
59
|
+
list_resource('Appointment', 'Types', params)
|
60
60
|
end
|
61
61
|
|
62
62
|
# POST /Appointment/Types - Create Appointment type
|
63
63
|
def create_type(data)
|
64
|
-
|
64
|
+
create_resource('Appointment', 'Types', data)
|
65
65
|
end
|
66
66
|
end
|
67
67
|
end
|
@@ -31,117 +31,117 @@ module HaloMspApi
|
|
31
31
|
|
32
32
|
# GET /Asset/GetAllSoftwareVersions - Get all software versions
|
33
33
|
def software_versions(params = {})
|
34
|
-
|
34
|
+
list_resource('Asset', params, 'GetAllSoftwareVersions')
|
35
35
|
end
|
36
36
|
|
37
37
|
# GET /Asset/NextTag - Get next asset tag
|
38
38
|
def next_tag(params = {})
|
39
|
-
|
39
|
+
get_resource('Asset', 'NextTag', params)
|
40
40
|
end
|
41
41
|
|
42
42
|
# Asset Change related methods
|
43
43
|
# GET /AssetChange - List Asset changes
|
44
44
|
def changes(params = {})
|
45
|
-
|
45
|
+
list_resource('AssetChange', params)
|
46
46
|
end
|
47
47
|
|
48
48
|
# POST /AssetChange - Create Asset change
|
49
49
|
def create_change(data)
|
50
|
-
|
50
|
+
create_resource('AssetChange', data)
|
51
51
|
end
|
52
52
|
|
53
53
|
# Asset Group methods
|
54
54
|
# GET /AssetGroup - List Asset groups
|
55
55
|
def groups(params = {})
|
56
|
-
|
56
|
+
list_resource('AssetGroup', params)
|
57
57
|
end
|
58
58
|
|
59
59
|
# GET /AssetGroup/{id} - Get specific Asset group
|
60
60
|
def group(id, params = {})
|
61
|
-
|
61
|
+
get_resource('AssetGroup', id, params)
|
62
62
|
end
|
63
63
|
|
64
64
|
# POST /AssetGroup - Create Asset group
|
65
65
|
def create_group(data)
|
66
|
-
|
66
|
+
create_resource('AssetGroup', data)
|
67
67
|
end
|
68
68
|
|
69
69
|
# PUT /AssetGroup/{id} - Update Asset group
|
70
70
|
def update_group(id, data)
|
71
|
-
|
71
|
+
update_resource('AssetGroup', id, data)
|
72
72
|
end
|
73
73
|
|
74
74
|
# DELETE /AssetGroup/{id} - Delete Asset group
|
75
75
|
def delete_group(id)
|
76
|
-
|
76
|
+
delete_resource('AssetGroup', id)
|
77
77
|
end
|
78
78
|
|
79
79
|
# Asset Software methods
|
80
80
|
# GET /AssetSoftware - List Asset software
|
81
81
|
def software(params = {})
|
82
|
-
|
82
|
+
list_resource('AssetSoftware', params)
|
83
83
|
end
|
84
84
|
|
85
85
|
# POST /AssetSoftware - Create Asset software
|
86
86
|
def create_software(data)
|
87
|
-
|
87
|
+
create_resource('AssetSoftware', data)
|
88
88
|
end
|
89
89
|
|
90
90
|
# Asset Type methods
|
91
91
|
# GET /AssetType - List Asset types
|
92
92
|
def types(params = {})
|
93
|
-
|
93
|
+
list_resource('AssetType', params)
|
94
94
|
end
|
95
95
|
|
96
96
|
# GET /AssetType/{id} - Get specific Asset type
|
97
97
|
def type(id, params = {})
|
98
|
-
|
98
|
+
get_resource('AssetType', id, params)
|
99
99
|
end
|
100
100
|
|
101
101
|
# POST /AssetType - Create Asset type
|
102
102
|
def create_type(data)
|
103
|
-
|
103
|
+
create_resource('AssetType', data)
|
104
104
|
end
|
105
105
|
|
106
106
|
# PUT /AssetType/{id} - Update Asset type
|
107
107
|
def update_type(id, data)
|
108
|
-
|
108
|
+
update_resource('AssetType', id, data)
|
109
109
|
end
|
110
110
|
|
111
111
|
# DELETE /AssetType/{id} - Delete Asset type
|
112
112
|
def delete_type(id)
|
113
|
-
|
113
|
+
delete_resource('AssetType', id)
|
114
114
|
end
|
115
115
|
|
116
116
|
# GET /AssetTypeInfo - Get Asset type info
|
117
117
|
def type_info(params = {})
|
118
|
-
get('AssetTypeInfo', params)
|
118
|
+
get(resource_path('AssetTypeInfo'), params)
|
119
119
|
end
|
120
120
|
|
121
121
|
# Asset Type Mappings methods
|
122
122
|
# GET /AssetTypeMappings - List Asset type mappings
|
123
123
|
def type_mappings(params = {})
|
124
|
-
|
124
|
+
list_resource('AssetTypeMappings', params)
|
125
125
|
end
|
126
126
|
|
127
127
|
# GET /AssetTypeMappings/{id} - Get specific Asset type mapping
|
128
128
|
def type_mapping(id, params = {})
|
129
|
-
|
129
|
+
get_resource('AssetTypeMappings', id, params)
|
130
130
|
end
|
131
131
|
|
132
132
|
# POST /AssetTypeMappings - Create Asset type mapping
|
133
133
|
def create_type_mapping(data)
|
134
|
-
|
134
|
+
create_resource('AssetTypeMappings', data)
|
135
135
|
end
|
136
136
|
|
137
137
|
# PUT /AssetTypeMappings/{id} - Update Asset type mapping
|
138
138
|
def update_type_mapping(id, data)
|
139
|
-
|
139
|
+
update_resource('AssetTypeMappings', id, data)
|
140
140
|
end
|
141
141
|
|
142
142
|
# DELETE /AssetTypeMappings/{id} - Delete Asset type mapping
|
143
143
|
def delete_type_mapping(id)
|
144
|
-
|
144
|
+
delete_resource('AssetTypeMappings', id)
|
145
145
|
end
|
146
146
|
end
|
147
147
|
end
|
@@ -57,7 +57,8 @@ module HaloMspApi
|
|
57
57
|
|
58
58
|
# Helper method for update operations
|
59
59
|
def update_resource(resource_name, id, data)
|
60
|
-
|
60
|
+
data_with_id = data.merge(id: id)
|
61
|
+
post(resource_path(resource_name), data_with_id)
|
61
62
|
end
|
62
63
|
|
63
64
|
# Helper method for delete operations
|
@@ -48,27 +48,27 @@ module HaloMspApi
|
|
48
48
|
# Client Contract methods
|
49
49
|
# GET /ClientContract - List Client contracts
|
50
50
|
def contracts(params = {})
|
51
|
-
|
51
|
+
list_resource('ClientContract', params)
|
52
52
|
end
|
53
53
|
|
54
54
|
# GET /ClientContract/{id} - Get specific Client contract
|
55
55
|
def contract(id, params = {})
|
56
|
-
|
56
|
+
get_resource('ClientContract', id, params)
|
57
57
|
end
|
58
58
|
|
59
59
|
# POST /ClientContract - Create Client contract
|
60
60
|
def create_contract(data)
|
61
|
-
|
61
|
+
create_resource('ClientContract', data)
|
62
62
|
end
|
63
63
|
|
64
64
|
# PUT /ClientContract/{id} - Update Client contract
|
65
65
|
def update_contract(id, data)
|
66
|
-
|
66
|
+
update_resource('ClientContract', id, data)
|
67
67
|
end
|
68
68
|
|
69
69
|
# DELETE /ClientContract/{id} - Delete Client contract
|
70
70
|
def delete_contract(id)
|
71
|
-
|
71
|
+
delete_resource('ClientContract', id)
|
72
72
|
end
|
73
73
|
|
74
74
|
# POST /ClientContract/Approval - Client contract approval
|
@@ -84,27 +84,27 @@ module HaloMspApi
|
|
84
84
|
# Client Prepay methods
|
85
85
|
# GET /ClientPrepay - List Client prepayments
|
86
86
|
def prepayments(params = {})
|
87
|
-
|
87
|
+
list_resource('ClientPrepay', params)
|
88
88
|
end
|
89
89
|
|
90
90
|
# GET /ClientPrepay/{id} - Get specific Client prepayment
|
91
91
|
def prepayment(id, params = {})
|
92
|
-
|
92
|
+
get_resource('ClientPrepay', id, params)
|
93
93
|
end
|
94
94
|
|
95
95
|
# POST /ClientPrepay - Create Client prepayment
|
96
96
|
def create_prepayment(data)
|
97
|
-
|
97
|
+
create_resource('ClientPrepay', data)
|
98
98
|
end
|
99
99
|
|
100
100
|
# PUT /ClientPrepay/{id} - Update Client prepayment
|
101
101
|
def update_prepayment(id, data)
|
102
|
-
|
102
|
+
update_resource('ClientPrepay', id, data)
|
103
103
|
end
|
104
104
|
|
105
105
|
# DELETE /ClientPrepay/{id} - Delete Client prepayment
|
106
106
|
def delete_prepayment(id)
|
107
|
-
|
107
|
+
delete_resource('ClientPrepay', id)
|
108
108
|
end
|
109
109
|
end
|
110
110
|
end
|