connectwise-rest 0.23.3 → 1.0.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.
Files changed (288) hide show
  1. package/.eslintrc +19 -52
  2. package/.gitattributes +1 -0
  3. package/.github/workflows/codeql-analysis.yml +70 -0
  4. package/.github/workflows/node.js.yml +42 -0
  5. package/.mocharc.json +5 -0
  6. package/.prettierrc +7 -0
  7. package/.travis.yml +4 -2
  8. package/README.md +243 -230
  9. package/api-extractor.json +364 -0
  10. package/dist/Automate/AVTemplatePoliciesAPI.d.ts +27 -0
  11. package/dist/Automate/AVTemplatePoliciesAPI.d.ts.map +1 -0
  12. package/dist/Automate/AVTemplatePoliciesAPI.js +87 -0
  13. package/dist/Automate/AVTemplatePoliciesAPI.js.map +1 -0
  14. package/dist/Automate/ClientsAPI.d.ts +34 -0
  15. package/dist/Automate/ClientsAPI.d.ts.map +1 -0
  16. package/dist/Automate/ClientsAPI.js +114 -0
  17. package/dist/Automate/ClientsAPI.js.map +1 -0
  18. package/dist/Automate/CommandsAPI.d.ts +15 -0
  19. package/dist/Automate/CommandsAPI.d.ts.map +1 -0
  20. package/dist/Automate/CommandsAPI.js +31 -0
  21. package/dist/Automate/CommandsAPI.js.map +1 -0
  22. package/dist/Automate/ComputersAPI.d.ts +94 -0
  23. package/dist/Automate/ComputersAPI.d.ts.map +1 -0
  24. package/dist/Automate/ComputersAPI.js +353 -0
  25. package/dist/Automate/ComputersAPI.js.map +1 -0
  26. package/dist/Automate/ContactsAPI.d.ts +18 -0
  27. package/dist/Automate/ContactsAPI.d.ts.map +1 -0
  28. package/dist/Automate/ContactsAPI.js +45 -0
  29. package/dist/Automate/ContactsAPI.js.map +1 -0
  30. package/dist/Automate/DataViewsAPI.d.ts +16 -0
  31. package/dist/Automate/DataViewsAPI.d.ts.map +1 -0
  32. package/dist/Automate/DataViewsAPI.js +31 -0
  33. package/dist/Automate/DataViewsAPI.js.map +1 -0
  34. package/dist/Automate/DrivesAPI.d.ts +19 -0
  35. package/dist/Automate/DrivesAPI.d.ts.map +1 -0
  36. package/dist/Automate/DrivesAPI.js +52 -0
  37. package/dist/Automate/DrivesAPI.js.map +1 -0
  38. package/dist/Automate/EventLogsAPI.d.ts +14 -0
  39. package/dist/Automate/EventLogsAPI.d.ts.map +1 -0
  40. package/dist/Automate/EventLogsAPI.js +24 -0
  41. package/dist/Automate/EventLogsAPI.js.map +1 -0
  42. package/dist/Automate/LocationsAPI.d.ts +42 -0
  43. package/dist/Automate/LocationsAPI.d.ts.map +1 -0
  44. package/dist/Automate/LocationsAPI.js +133 -0
  45. package/dist/Automate/LocationsAPI.js.map +1 -0
  46. package/dist/Automate/MaintenanceWindowDefinitionsAPI.d.ts +14 -0
  47. package/dist/Automate/MaintenanceWindowDefinitionsAPI.d.ts.map +1 -0
  48. package/dist/Automate/MaintenanceWindowDefinitionsAPI.js +24 -0
  49. package/dist/Automate/MaintenanceWindowDefinitionsAPI.js.map +1 -0
  50. package/dist/Automate/MonitorsAPI.d.ts +23 -0
  51. package/dist/Automate/MonitorsAPI.d.ts.map +1 -0
  52. package/dist/Automate/MonitorsAPI.js +80 -0
  53. package/dist/Automate/MonitorsAPI.js.map +1 -0
  54. package/dist/Automate/NetworkDevicesAPI.d.ts +17 -0
  55. package/dist/Automate/NetworkDevicesAPI.d.ts.map +1 -0
  56. package/dist/Automate/NetworkDevicesAPI.js +38 -0
  57. package/dist/Automate/NetworkDevicesAPI.js.map +1 -0
  58. package/dist/Automate/PatchingAPI.d.ts +27 -0
  59. package/dist/Automate/PatchingAPI.d.ts.map +1 -0
  60. package/dist/Automate/PatchingAPI.js +94 -0
  61. package/dist/Automate/PatchingAPI.js.map +1 -0
  62. package/dist/Automate/RemoteAgentAPI.d.ts +18 -0
  63. package/dist/Automate/RemoteAgentAPI.d.ts.map +1 -0
  64. package/dist/Automate/RemoteAgentAPI.js +45 -0
  65. package/dist/Automate/RemoteAgentAPI.js.map +1 -0
  66. package/dist/Automate/ScriptingAPI.d.ts +32 -0
  67. package/dist/Automate/ScriptingAPI.d.ts.map +1 -0
  68. package/dist/Automate/ScriptingAPI.js +104 -0
  69. package/dist/Automate/ScriptingAPI.js.map +1 -0
  70. package/dist/Automate/SearchesAPI.d.ts +17 -0
  71. package/dist/Automate/SearchesAPI.d.ts.map +1 -0
  72. package/dist/Automate/SearchesAPI.js +38 -0
  73. package/dist/Automate/SearchesAPI.js.map +1 -0
  74. package/dist/Automate/SystemAPI.d.ts +72 -0
  75. package/dist/Automate/SystemAPI.d.ts.map +1 -0
  76. package/dist/Automate/SystemAPI.js +268 -0
  77. package/dist/Automate/SystemAPI.js.map +1 -0
  78. package/dist/Automate/TicketsAPI.d.ts +10 -0
  79. package/dist/Automate/TicketsAPI.d.ts.map +1 -0
  80. package/dist/Automate/TicketsAPI.js +24 -0
  81. package/dist/Automate/TicketsAPI.js.map +1 -0
  82. package/dist/Automate/UserProfilesAPI.d.ts +14 -0
  83. package/dist/Automate/UserProfilesAPI.d.ts.map +1 -0
  84. package/dist/Automate/UserProfilesAPI.js +23 -0
  85. package/dist/Automate/UserProfilesAPI.js.map +1 -0
  86. package/dist/Automate.d.ts +48 -0
  87. package/dist/Automate.d.ts.map +1 -0
  88. package/dist/Automate.js +167 -0
  89. package/dist/Automate.js.map +1 -0
  90. package/dist/AutomateAPI.d.ts +96 -0
  91. package/dist/AutomateAPI.d.ts.map +1 -0
  92. package/dist/AutomateAPI.js +168 -0
  93. package/dist/AutomateAPI.js.map +1 -0
  94. package/dist/AutomateTypes.d.ts +10437 -0
  95. package/dist/AutomateTypes.d.ts.map +1 -0
  96. package/dist/AutomateTypes.js +3 -0
  97. package/dist/AutomateTypes.js.map +1 -0
  98. package/dist/BaseAPI.d.ts +13 -0
  99. package/dist/BaseAPI.d.ts.map +1 -0
  100. package/dist/BaseAPI.js +53 -0
  101. package/dist/BaseAPI.js.map +1 -0
  102. package/dist/Manage/CompanyAPI.d.ts +573 -0
  103. package/dist/Manage/CompanyAPI.d.ts.map +1 -0
  104. package/dist/Manage/CompanyAPI.js +3294 -0
  105. package/dist/Manage/CompanyAPI.js.map +1 -0
  106. package/dist/Manage/ConfigurationsAPI.d.ts +24 -0
  107. package/dist/Manage/ConfigurationsAPI.d.ts.map +1 -0
  108. package/dist/Manage/ConfigurationsAPI.js +73 -0
  109. package/dist/Manage/ConfigurationsAPI.js.map +1 -0
  110. package/dist/Manage/ExpenseAPI.d.ts +68 -0
  111. package/dist/Manage/ExpenseAPI.d.ts.map +1 -0
  112. package/dist/Manage/ExpenseAPI.js +306 -0
  113. package/dist/Manage/ExpenseAPI.js.map +1 -0
  114. package/dist/Manage/FinanceAPI.d.ts +460 -0
  115. package/dist/Manage/FinanceAPI.d.ts.map +1 -0
  116. package/dist/Manage/FinanceAPI.js +2587 -0
  117. package/dist/Manage/FinanceAPI.js.map +1 -0
  118. package/dist/Manage/MarketingAPI.d.ts +120 -0
  119. package/dist/Manage/MarketingAPI.d.ts.map +1 -0
  120. package/dist/Manage/MarketingAPI.js +629 -0
  121. package/dist/Manage/MarketingAPI.js.map +1 -0
  122. package/dist/Manage/ProcurementAPI.d.ts +373 -0
  123. package/dist/Manage/ProcurementAPI.d.ts.map +1 -0
  124. package/dist/Manage/ProcurementAPI.js +2098 -0
  125. package/dist/Manage/ProcurementAPI.js.map +1 -0
  126. package/dist/Manage/ProjectAPI.d.ts +179 -0
  127. package/dist/Manage/ProjectAPI.d.ts.map +1 -0
  128. package/dist/Manage/ProjectAPI.js +940 -0
  129. package/dist/Manage/ProjectAPI.js.map +1 -0
  130. package/dist/Manage/SalesAPI.d.ts +254 -0
  131. package/dist/Manage/SalesAPI.d.ts.map +1 -0
  132. package/dist/Manage/SalesAPI.js +1392 -0
  133. package/dist/Manage/SalesAPI.js.map +1 -0
  134. package/dist/Manage/ScheduleAPI.d.ts +111 -0
  135. package/dist/Manage/ScheduleAPI.d.ts.map +1 -0
  136. package/dist/Manage/ScheduleAPI.js +575 -0
  137. package/dist/Manage/ScheduleAPI.js.map +1 -0
  138. package/dist/Manage/ServiceAPI.d.ts +419 -0
  139. package/dist/Manage/ServiceAPI.d.ts.map +1 -0
  140. package/dist/Manage/ServiceAPI.js +2334 -0
  141. package/dist/Manage/ServiceAPI.js.map +1 -0
  142. package/dist/Manage/SystemAPI.d.ts +809 -0
  143. package/dist/Manage/SystemAPI.d.ts.map +1 -0
  144. package/dist/Manage/SystemAPI.js +4531 -0
  145. package/dist/Manage/SystemAPI.js.map +1 -0
  146. package/dist/Manage/TimeAPI.d.ts +157 -0
  147. package/dist/Manage/TimeAPI.d.ts.map +1 -0
  148. package/dist/Manage/TimeAPI.js +835 -0
  149. package/dist/Manage/TimeAPI.js.map +1 -0
  150. package/dist/Manage.d.ts +34 -0
  151. package/dist/Manage.d.ts.map +1 -0
  152. package/dist/Manage.js +127 -0
  153. package/dist/Manage.js.map +1 -0
  154. package/dist/ManageAPI.d.ts +99 -0
  155. package/dist/ManageAPI.d.ts.map +1 -0
  156. package/dist/ManageAPI.js +112 -0
  157. package/dist/ManageAPI.js.map +1 -0
  158. package/dist/ManageTypes.d.ts +91320 -0
  159. package/dist/ManageTypes.d.ts.map +1 -0
  160. package/dist/ManageTypes.js +7 -0
  161. package/dist/ManageTypes.js.map +1 -0
  162. package/dist/index.d.ts +9 -0
  163. package/dist/index.d.ts.map +1 -0
  164. package/dist/index.js +38 -0
  165. package/dist/index.js.map +1 -0
  166. package/dist/types.d.ts +46 -0
  167. package/dist/types.d.ts.map +1 -0
  168. package/dist/types.js +21 -0
  169. package/dist/types.js.map +1 -0
  170. package/dist/utils/Callback.d.ts +67 -0
  171. package/dist/utils/Callback.d.ts.map +1 -0
  172. package/dist/utils/Callback.js +109 -0
  173. package/dist/utils/Callback.js.map +1 -0
  174. package/dist/utils/Series.d.ts +36 -0
  175. package/dist/utils/Series.d.ts.map +1 -0
  176. package/dist/utils/Series.js +64 -0
  177. package/dist/utils/Series.js.map +1 -0
  178. package/dist/utils/index.d.ts +7 -0
  179. package/dist/utils/index.d.ts.map +1 -0
  180. package/dist/utils/index.js +11 -0
  181. package/dist/utils/index.js.map +1 -0
  182. package/generator/automate-generator.js +75 -0
  183. package/generator/automate-json.js +61 -0
  184. package/generator/automate-types.js +15 -0
  185. package/generator/generator.d.ts +67 -0
  186. package/generator/generator.js +255 -0
  187. package/generator/manage-generator.js +71 -0
  188. package/generator/manage-types.js +14 -0
  189. package/package.json +48 -21
  190. package/src/Automate/AVTemplatePoliciesAPI.ts +114 -0
  191. package/src/Automate/ClientsAPI.ts +161 -0
  192. package/src/Automate/CommandsAPI.ts +33 -0
  193. package/src/Automate/ComputersAPI.ts +550 -0
  194. package/src/Automate/ContactsAPI.ts +56 -0
  195. package/src/Automate/DataViewsAPI.ts +36 -0
  196. package/src/Automate/DrivesAPI.ts +74 -0
  197. package/src/Automate/EventLogsAPI.ts +25 -0
  198. package/src/Automate/LocationsAPI.ts +206 -0
  199. package/src/Automate/MaintenanceWindowDefinitionsAPI.ts +28 -0
  200. package/src/Automate/MonitorsAPI.ts +94 -0
  201. package/src/Automate/NetworkDevicesAPI.ts +44 -0
  202. package/src/Automate/PatchingAPI.ts +109 -0
  203. package/src/Automate/RemoteAgentAPI.ts +58 -0
  204. package/src/Automate/ScriptingAPI.ts +137 -0
  205. package/src/Automate/SearchesAPI.ts +42 -0
  206. package/src/Automate/SystemAPI.ts +386 -0
  207. package/src/Automate/TicketsAPI.ts +24 -0
  208. package/src/Automate/UserProfilesAPI.ts +25 -0
  209. package/src/Automate.ts +216 -0
  210. package/src/AutomateAPI.ts +144 -0
  211. package/src/AutomateTypes.ts +10492 -0
  212. package/src/BaseAPI.ts +83 -0
  213. package/src/Manage/CompanyAPI.ts +4851 -0
  214. package/src/Manage/ConfigurationsAPI.ts +107 -0
  215. package/src/Manage/ExpenseAPI.ts +395 -0
  216. package/src/Manage/FinanceAPI.ts +3851 -0
  217. package/src/Manage/MarketingAPI.ts +935 -0
  218. package/src/Manage/ProcurementAPI.ts +3044 -0
  219. package/src/Manage/ProjectAPI.ts +1400 -0
  220. package/src/Manage/SalesAPI.ts +1922 -0
  221. package/src/Manage/ScheduleAPI.ts +751 -0
  222. package/src/Manage/ServiceAPI.ts +3401 -0
  223. package/src/Manage/SystemAPI.ts +6269 -0
  224. package/src/Manage/TimeAPI.ts +1121 -0
  225. package/src/Manage.ts +152 -0
  226. package/src/ManageAPI.ts +133 -0
  227. package/src/ManageTypes.ts +91318 -0
  228. package/src/index.ts +18 -0
  229. package/src/types.ts +66 -0
  230. package/src/utils/Callback.ts +145 -0
  231. package/src/utils/Series.ts +83 -0
  232. package/src/utils/index.ts +7 -0
  233. package/swagger-errors.md +30 -0
  234. package/test/.env.example +12 -4
  235. package/test/test-utils.ts +27 -0
  236. package/test/test.ts +320 -0
  237. package/tsconfig.json +29 -0
  238. package/doc.md +0 -5984
  239. package/docs/jsdoc.json +0 -15
  240. package/index.js +0 -10
  241. package/src/CompanyAPI/Companies.js +0 -149
  242. package/src/CompanyAPI/CompanyCompanyTypeAssociations.js +0 -111
  243. package/src/CompanyAPI/CompanySites.js +0 -70
  244. package/src/CompanyAPI/CompanyTeams.js +0 -108
  245. package/src/CompanyAPI/CompanyTypeInfos.js +0 -58
  246. package/src/CompanyAPI/CompanyTypes.js +0 -52
  247. package/src/CompanyAPI/Configurations.js +0 -152
  248. package/src/CompanyAPI/ContactContactTypeAssociations.js +0 -55
  249. package/src/CompanyAPI/ContactRelationships.js +0 -36
  250. package/src/CompanyAPI/Contacts.js +0 -199
  251. package/src/CompanyAPI/index.js +0 -53
  252. package/src/ConnectWise.js +0 -339
  253. package/src/ConnectWiseRest.js +0 -512
  254. package/src/FinanceAPI/Additions.js +0 -127
  255. package/src/FinanceAPI/Adjustments.js +0 -109
  256. package/src/FinanceAPI/AgreementSites.js +0 -108
  257. package/src/FinanceAPI/Agreements.js +0 -220
  258. package/src/FinanceAPI/BoardDefaults.js +0 -109
  259. package/src/FinanceAPI/WorkRoles.js +0 -113
  260. package/src/FinanceAPI/WorkTypeExclusions.js +0 -78
  261. package/src/FinanceAPI/WorkTypes.js +0 -124
  262. package/src/FinanceAPI/index.js +0 -50
  263. package/src/ProjectAPI/Projects.js +0 -142
  264. package/src/ProjectAPI/index.js +0 -28
  265. package/src/SalesAPI/Activities.js +0 -149
  266. package/src/SalesAPI/index.js +0 -14
  267. package/src/ScheduleAPI/ScheduleEntries.js +0 -109
  268. package/src/ScheduleAPI/ScheduleTypes.js +0 -101
  269. package/src/ScheduleAPI/index.js +0 -30
  270. package/src/ServiceDeskAPI/BoardItems.js +0 -134
  271. package/src/ServiceDeskAPI/BoardSubTypes.js +0 -112
  272. package/src/ServiceDeskAPI/BoardTeams.js +0 -108
  273. package/src/ServiceDeskAPI/BoardTypes.js +0 -139
  274. package/src/ServiceDeskAPI/Boards.js +0 -100
  275. package/src/ServiceDeskAPI/Priorities.js +0 -47
  276. package/src/ServiceDeskAPI/ServiceNotes.js +0 -172
  277. package/src/ServiceDeskAPI/Statuses.js +0 -116
  278. package/src/ServiceDeskAPI/Tickets.js +0 -588
  279. package/src/ServiceDeskAPI/index.js +0 -53
  280. package/src/SystemAPI/Members.js +0 -139
  281. package/src/SystemAPI/Reports.js +0 -116
  282. package/src/SystemAPI/index.js +0 -32
  283. package/src/TimeAPI/TimeEntries.js +0 -121
  284. package/src/TimeAPI/index.js +0 -27
  285. package/src/utils/Callback.js +0 -125
  286. package/src/utils/Series.js +0 -64
  287. package/src/utils/index.js +0 -21
  288. package/test/test.js +0 -114
@@ -1,512 +0,0 @@
1
- /**
2
- * Created by kgrube on 12/15/2015.
3
- * @author kgrube
4
- */
5
-
6
- /**
7
- * @type {CWUtils}
8
- * @private
9
- */
10
- const _utils = require('./utils');
11
-
12
-
13
- /**
14
- * @typedef {object} CWOptions
15
- * @property companyId
16
- * @property publicKey
17
- * @property privateKey
18
- * @property clientId register for a clientId at https://developer.connectwise.com/ClientID
19
- * @property companyUrl
20
- * @property {string} [entryPoint=v4_6_release] defaults to 'v4_6_release'
21
- * @property {number} [timeout=20000] defaults to 20000 (20 seconds)
22
- * @property {boolean} [retry=false] enable automatic retries
23
- * @property {object} [retryOptions] configure retry options
24
- * @property {number} [retryOptions.minTimeout=50] minimum time between retries
25
- * @property {number} [retryOptions.maxTimeout=20000] maximum time to wait for a timeout
26
- * @property {boolean} [retryOptions.randomize=true] randomize delay between retires
27
- * @property {boolean} [debug=false] enable debug output
28
- * @property {function} [logger=console] function(String:level, String:text, *:Object) defaults to console
29
- */
30
-
31
- /**
32
- * @typedef {object} ConnectWiseRest
33
- * @property {ConnectWise} API
34
- * @property {CompanyAPI} CompanyAPI
35
- * @property {FinanceAPI} FinanceAPI
36
- * @property {ServiceDeskAPI} ServiceDeskAPI
37
- * @property {TimeAPI} TimeAPI
38
- * @property {ProjectAPI} ProjectAPI
39
- * @property {ScheduleAPI} ScheduleAPI
40
- * @property {SystemAPI} SystemAPI
41
- * @property {SalesAPI} SalesAPI
42
- * @property {CWUtils} utils
43
- */
44
-
45
- /**
46
- * @class ConnectWiseRest
47
- * @param {CWOptions} options
48
- * @type {ConnectWiseRest}
49
- * @constructor
50
- */
51
- function ConnectWiseRest(options) {
52
- const _ConnectWise = require('./ConnectWise');
53
- const _CompanyAPI = require('./CompanyAPI');
54
- const _FinanceAPI = require('./FinanceAPI');
55
- const _TimeAPI = require('./TimeAPI');
56
- const _ServiceDeskAPI = require('./ServiceDeskAPI');
57
- const _ProjectAPI = require('./ProjectAPI');
58
- const _ScheduleAPI = require('./ScheduleAPI');
59
- const _SystemAPI = require('./SystemAPI');
60
- const _SalesAPI = require('./SalesAPI');
61
-
62
- this.API = new _ConnectWise(options);
63
- this.CompanyAPI = new _CompanyAPI(options);
64
- this.FinanceAPI = new _FinanceAPI(options);
65
- this.TimeAPI = new _TimeAPI(options);
66
- this.ServiceDeskAPI = new _ServiceDeskAPI(options);
67
- this.ProjectAPI = new _ProjectAPI(options);
68
- this.ScheduleAPI = new _ScheduleAPI(options);
69
- this.SystemAPI = new _SystemAPI(options);
70
- this.SalesAPI = new _SalesAPI(options);
71
- this.utils = _utils;
72
- }
73
-
74
- ConnectWiseRest.utils = _utils;
75
-
76
- /**
77
- *
78
- * @type {ConnectWiseRest}
79
- */
80
- module.exports = ConnectWiseRest;
81
-
82
- /**
83
- * @typedef {object} InfoHref
84
- * @property lastUpdated
85
- * @property updatedBy
86
- */
87
-
88
- /**
89
- * @typedef {object} AgreementHref
90
- * @property {number} id
91
- * @property {string} name
92
- * @property {object} _info
93
- * @property {string} _info.agreement_href
94
- */
95
-
96
- /**
97
- * @typedef {object} AgreementTypeHref
98
- * @property {number} id
99
- * @property {string} name
100
- * @property {object} _info
101
- * @property {string} _info.type_href
102
- */
103
-
104
- /**
105
- * @typedef {object} BoardHref
106
- * @property {number} id
107
- * @property {string} name
108
- * @property {object} _info
109
- * @property {string} _info.board_href
110
- */
111
-
112
- /**
113
- * @typedef {object} CompanyHref
114
- * @property {number} id
115
- * @property {string} identifier The company ID in ConnectWise
116
- * @property {object} _info
117
- * @property {string} _info.company_href
118
- */
119
-
120
- /**
121
- * @typedef {object} ContactHref
122
- * @property {number} id
123
- * @property {string} name
124
- * @property {object} _info
125
- * @property {string} _info.contact_href
126
- */
127
-
128
- /**
129
- * @typedef {object} CountryHref
130
- * @property {number} id
131
- * @property {string} name
132
- * @property {object} _info
133
- */
134
-
135
- /**
136
- * @typedef {object} DocumentHref
137
- * @property {number} id
138
- * @property {object} _info
139
- * @property {string} _info.filename
140
- */
141
-
142
- /**
143
- * @typedef {object} ItemHref Service Item
144
- * @property {number} id
145
- * @property {string} name
146
- * @property {object} _info
147
- * @property {string} _info.item_href
148
- */
149
-
150
- /**
151
- * @typedef {object} PriorityHref
152
- * @property {number} id
153
- * @property {string} name
154
- * @property {object} _info
155
- * @property {string} _info.image_href
156
- * @property {string} _info.priority_href
157
- */
158
-
159
- /**
160
- * @typedef {object} ProductHref
161
- * @property {number} id
162
- * @property {string} identifier
163
- * @property {object} _info
164
- * @property {string} _info.identifier
165
- */
166
-
167
- /**
168
- * @typedef {object} ServiceLocationHref
169
- * @property {number} id
170
- * @property {string} name
171
- * @property {object} _info
172
- * @property {string} _info.location_href
173
- */
174
-
175
- /**
176
- * @typedef {object} ServiceTypeHref
177
- * @property {number} id
178
- * @property {string} name
179
- * @property {object} _info
180
- */
181
-
182
- /**
183
- * @typedef {object} ScheduleEntryHref
184
- * @property {number} id
185
- * @property {object} _info
186
- * @property {string} _info.description
187
- * @property {string} _info.schedule_href
188
- */
189
-
190
- /**
191
- * @typedef {object} SiteHref
192
- * @property {number} id
193
- * @property {object} _info
194
- * @property {string} _info.name
195
- * @property {string} _info.site_href
196
- */
197
-
198
- /**
199
- * @typedef {object} SourceHref
200
- * @property {number} id
201
- * @property {string} name
202
- * @property {object} _info
203
- * @property {string} _info.source_href
204
- */
205
-
206
- /**
207
- * @typedef {object} StatusHref
208
- * @property {number} id
209
- * @property {string} name
210
- * @property {object} _info
211
- * @property {string} _info.status_href
212
- */
213
-
214
- /**
215
- * @typedef {object} SubTypeHref Service Subtype
216
- * @property {number} id
217
- * @property {string} name
218
- * @property {object} _info
219
- * @property {string} _info.subType_href
220
- */
221
-
222
- /**
223
- * @typedef {object} TeamHref
224
- * @property {number} id
225
- * @property {string} name
226
- * @property {object} _info
227
- * @property {string} _info.team_href
228
- */
229
-
230
- /**
231
- * @typedef {object} TypeHref
232
- * @property {number} id
233
- * @property {string} name
234
- * @property {object} _info
235
- * @property {string} _info.type_href
236
- */
237
-
238
- /**
239
- * @typedef {object} OpportunityHref
240
- * @property {number} id
241
- * @property {string} name
242
- * @property {object} _info
243
- * @property {string} opportunity_href
244
- */
245
-
246
- /**
247
- * @typedef {object} Params
248
- * @property {string} [conditions] Search results based on the fields returned in a GET, board/name="Integration" and summary="xyz" or board/id in (3, 2, 4) and lastUpdated > [2016-08-20T18:04:26Z]
249
- * @property {string} [orderBy] Choose which field to sort the results by, 'contact/name asc'
250
- * @property {string|number} [page] Used in pagination to cycle through results
251
- * @property {string|number} [pageSize] Number of results returned per page (Defaults to 25) (Max page size was increased to 1,000 in 2016.2.)
252
- * @property {string} [childConditions] Allows searching arrays on endpoints that list childConditions under parameters
253
- * @property {string} [customFieldConditions] Allows searching custom fields when customFieldConditions is listed in the parameters
254
- * @property {string} [fields] Limits which information is returned in the response - Not available on the reporting endpoints
255
- * @property {string} [columns] Limits which information is returned in the response - Only used for the Reporting Endpoints
256
- */
257
-
258
- /**
259
- * @typedef {object} ParamsPage
260
- * @property {string|number} [page]
261
- * @property {string|number} [pageSize]
262
- */
263
-
264
- /**
265
- * @typedef {object} ParamsConditions
266
- * @property {string} [conditions]
267
- * @property {string} [orderBy]
268
- */
269
-
270
- /**
271
- * @typedef {object} ParamsImage
272
- * @property {boolean} [useDefaultFlag]
273
- * @property {string} [lastmodifier] note the lower case M (not a typo)
274
- */
275
-
276
- /**
277
- * @typedef {object} ParamsConfig
278
- * @property {string} [conditions]
279
- * @property {string} [managedIdentifier]
280
- */
281
-
282
- /**
283
- * @typedef {object} ParamsConfigUpdate
284
- * @property {string} [managementSolutionName]
285
- * @property {string} [managedIdentifier]
286
- * @property {string} [type]
287
- * @property {string} [level]
288
- * @property {string} [childConfigurationsMatchingOn]
289
- * @property {string} [inactivateConfigurationsMatchingOn]
290
- * @property {number} [inactiveConfigurationStatusId]
291
- */
292
-
293
- /**
294
- * @typedef {object} ProductHref
295
- * @property {number} id
296
- * @property {object} _info
297
- * @property {string} _info.description
298
- */
299
-
300
- /**
301
- * @typedef {object} WorkRoleHref
302
- * @property {number} id
303
- * @property {string} name
304
- * @property {object} _info
305
- * @property {string} _info.role_href
306
- */
307
-
308
- /**
309
- * @typedef {object} WorkTypeHref
310
- * @property {number} id
311
- * @property {string} name
312
- * @property {object} _info
313
- * @property {string} _info.type_href
314
- */
315
-
316
- /**
317
- * @typedef {object} Operations
318
- * @property {string} op ['replace','remove']
319
- * @property {string} path the relative path to the variable to be updated, e.g. status
320
- * @property {string|boolean|object|number} value the value of the object property to replace, e.g. { id: 123 }
321
- */
322
-
323
- /**
324
- * @typedef {object} Count
325
- * @property {number} count the number of matched records.
326
- */
327
-
328
- /**
329
- * @typedef {object} ConfigurationHref
330
- * @property {number} id
331
- * @property {string} deviceIdentifier
332
- * @property {object} _info
333
- * @property {string} _info.name
334
- * @property {string} _info.configuration_href
335
- *
336
- */
337
-
338
- /**
339
- * @typedef {object} CurrencyHref
340
- * @property {string} currency_href
341
- */
342
-
343
- /**
344
- * @typedef {object} MemberHref
345
- * @property {number} id
346
- * @property {string} identifier the member's ID in CW
347
- * @property {object} _info
348
- * @property {string} _info.lastUpdated
349
- * @property {string} _info.updatedBy
350
- */
351
-
352
- /**
353
- * @typedef {object} DeleteResponse
354
- * @property {string} error null if no error
355
- */
356
-
357
- /**
358
- * @typedef {object} PostResponse
359
- * @property {string} error null if no error
360
- */
361
-
362
-
363
- /**
364
- * @typedef {object} ErrorResponse
365
- * @property {string} code
366
- * @property {string} message
367
- * @property {object[]} errors
368
- */
369
-
370
- /**
371
- * @typedef {object} CustomField
372
- * @property {string} caption
373
- * @property {string} entryMethod
374
- * @property {number} id
375
- * @property {number} numberOfDecimals
376
- * @property {string} type
377
- * @property {string} value
378
- *
379
- */
380
-
381
- /**
382
- * @typedef {object} ProjectStatusHref
383
- * @property {number} id
384
- * @property {string} name
385
- * @property {object} _info
386
- *
387
- */
388
-
389
- /**
390
- * @typedef {object} ProjectTypeHref
391
- * @property {number} id
392
- * @property {string} name
393
- * @property {object} _info
394
- *
395
- */
396
-
397
- /**
398
- * @typedef {object} OwnerHref
399
- * @property {number} id
400
- * @property {string} identifier
401
- * @property {object} _info
402
- * @property {string} image_href
403
- * @property {string} member_href
404
- */
405
-
406
- /**
407
- * @typedef {object} CountryHref
408
- * @property {number} id
409
- * @property {string} name
410
- * @property {object} _info
411
- */
412
-
413
- /**
414
- * @typedef {object} CustomField
415
- * @property {string} caption
416
- * @property {string} entryMethod
417
- * @property {number} id
418
- * @property {number} numberOfDecimals
419
- * @property {string} type
420
- * @property {string} value
421
- *
422
- */
423
-
424
- /**
425
- * @typedef {object} CommunicationItemHref
426
- * @property {string} communicationType
427
- * @property {boolean} defaultFlag
428
- * @property extension
429
- * @property {number} id
430
- * @property {TypeHref} type
431
- * @property {string} value
432
- *
433
- */
434
-
435
- /**
436
- * @typedef {object} DepartmentHref
437
- * @property {number} id
438
- * @property {string} name
439
- * @property {object} _info
440
- * @property {string} _info.department_href
441
- *
442
- */
443
-
444
- /**
445
- * @typedef {object} RelationshipHref
446
- * @property {number} id
447
- * @property {string} name
448
- * @property {object} _info
449
- * @property {string} relationship_href
450
- *
451
- */
452
-
453
- /**
454
- * @typedef {object} ScheduleTypeHref
455
- * @property id
456
- * @property identifier
457
- * @property {object} _info
458
- * @property _info.type_href
459
- */
460
-
461
- /**
462
- * @typedef {object} ScheduleStatusHref
463
- * @property id
464
- * @property name
465
- * @property {object} _info
466
- * @property _info.status_href
467
- */
468
-
469
- /**
470
- * @typedef {object} ScheduleSpanHref
471
- * @property id
472
- * @property name
473
- * @property _info
474
- */
475
-
476
- /**
477
- * @typedef {object} ReminderHref
478
- * @property id
479
- * @property name
480
- * @property _info
481
- *
482
- */
483
-
484
- /**
485
- * @typedef {object} ServiceLocationHref
486
- * @property id
487
- * @property name
488
- * @property _info
489
- * @property _info.location_href
490
- */
491
-
492
- /**
493
- * @typedef {object} ChargeCodeHref
494
- * @property {number} id
495
- * @property {string} name
496
- * @property {object} _info
497
- */
498
-
499
- /**
500
- * @typedef {Object} Usage
501
- * @property type
502
- * @property count
503
- * @property id
504
- * @property description
505
- * @property hyperlink
506
- */
507
-
508
- /**
509
- * @typedef {Object} UsageCount
510
- * @property type
511
- * @property count
512
- */
@@ -1,127 +0,0 @@
1
- /**
2
- * Created by kgrube on 1/22/2016.
3
- */
4
-
5
- /**
6
- * @private
7
- */
8
- const inherits = require('util').inherits;
9
- const ConnectWise = require('../ConnectWise.js');
10
-
11
- /**
12
- * @typedef {object} Addition
13
- * @property {number} agreementId
14
- * @property {string} billCustomer
15
- * @property {string} cancelledDate
16
- * @property {string} description
17
- * @property {string} effectiveDate
18
- * @property {number} extCost
19
- * @property {number} extPrice
20
- * @property {number} id
21
- * @property {string} invoiceDescription
22
- * @property {number} lessIncluded
23
- * @property {number} margin
24
- * @property {ProductHref} product
25
- * @property {boolean} purchaseItemFlag
26
- * @property {number} quantity
27
- * @property serialNumber
28
- * @property {boolean} specialOrderFlag
29
- * @property {boolean} taxableFlag
30
- * @property {number} unitCost
31
- * @property {number} unitPrice
32
- * @property {string} uom unit of measurement ['each', 'monthly', 'yearly', 'quarterly']
33
- * @property {object} _info
34
- * @property {string} _info.lastUpdated
35
- * @property {string} _info.updatedBy
36
- */
37
-
38
- /**
39
- *
40
- * @param {CWOptions} options
41
- * @inherits {ConnectWise}
42
- * @constructor
43
- */
44
- function Additions(options) {
45
- ConnectWise.apply(this, Array.prototype.slice.call(arguments));
46
- }
47
-
48
- inherits(Additions, ConnectWise);
49
-
50
- /**
51
- * GET
52
- * Returns non-cancelled active additions to an agreement
53
- * @param agreementId
54
- * @param {Params} params
55
- * @returns {Promise<Addition[]>}
56
- */
57
- Additions.prototype.getAdditions = function (agreementId, params) {
58
- return this.api(`/finance/agreements/${agreementId}/additions`, 'GET', params);
59
- };
60
-
61
- /**
62
- * POST
63
- * @param agreementId
64
- * @param {Addition} addition
65
- * @returns {Promise<Addition>}
66
- */
67
- Additions.prototype.createAddition = function (agreementId, addition) {
68
- return this.api(`/finance/agreements/${agreementId}/additions`, 'POST', addition);
69
- };
70
-
71
- /**
72
- * GET
73
- * @param agreementId
74
- * @param {ParamsConditions} params
75
- * @returns {Promise<Count>}
76
- */
77
- Additions.prototype.getAdditionsCount = function (agreementId, params) {
78
- return this.api(`/finance/agreements/${agreementId}/additions/count`, 'GET', params);
79
- };
80
-
81
- /**
82
- * DELETE
83
- * @param agreementId
84
- * @param additionId
85
- * @returns {Promise<DeleteResponse>}
86
- */
87
- Additions.prototype.deleteAdditionById = function (agreementId, additionId) {
88
- return this.api(`/finance/agreements/${agreementId}/additions/${additionId}`, 'DELETE');
89
- };
90
-
91
- /**
92
- * GET
93
- * @param agreementId
94
- * @param additionId
95
- * @returns {Promise<Addition>}
96
- */
97
- Additions.prototype.getAdditionById = function (agreementId, additionId) {
98
- return this.api(`/finance/agreements/${agreementId}/additions/${additionId}`, 'GET');
99
- };
100
-
101
- /**
102
- * PATCH
103
- * @param agreementId
104
- * @param additionId
105
- * @param {Operations[]} operations
106
- * @returns {Promise<Addition>}
107
- */
108
- Additions.prototype.updateAddition = function (agreementId, additionId, operations) {
109
- return this.api(`/finance/agreements/${agreementId}/additions/${additionId}`, 'PATCH', operations);
110
- };
111
-
112
- /**
113
- * PUT
114
- * @param agreementId
115
- * @param additionId
116
- * @param {Addition} addition
117
- * @returns {Promise<Addition>}
118
- */
119
- Additions.prototype.replaceAddition = function (agreementId, additionId, addition) {
120
- return this.api(`/finance/agreements/${agreementId}/additions/${additionId}`, 'PUT', addition);
121
- };
122
-
123
- /**
124
- *
125
- * @type {Additions}
126
- */
127
- module.exports = Additions;