n8n-nodes-halopsacomplete 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.
Files changed (232) hide show
  1. package/README.md +60 -0
  2. package/dist/credentials/HaloPSAApi.credentials.d.ts +7 -0
  3. package/dist/credentials/HaloPSAApi.credentials.js +49 -0
  4. package/dist/credentials/HaloPSAApi.credentials.js.map +1 -0
  5. package/dist/nodes/HaloPSA/HaloPsa.node.d.ts +11 -0
  6. package/dist/nodes/HaloPSA/HaloPsa.node.js +163 -0
  7. package/dist/nodes/HaloPSA/HaloPsa.node.js.map +1 -0
  8. package/dist/nodes/HaloPSA/actions/Interfaces.d.ts +14 -0
  9. package/dist/nodes/HaloPSA/actions/Interfaces.js +22 -0
  10. package/dist/nodes/HaloPSA/actions/Interfaces.js.map +1 -0
  11. package/dist/nodes/HaloPSA/actions/client/create/description.d.ts +2 -0
  12. package/dist/nodes/HaloPSA/actions/client/create/description.js +66 -0
  13. package/dist/nodes/HaloPSA/actions/client/create/description.js.map +1 -0
  14. package/dist/nodes/HaloPSA/actions/client/create/execute.d.ts +3 -0
  15. package/dist/nodes/HaloPSA/actions/client/create/execute.js +25 -0
  16. package/dist/nodes/HaloPSA/actions/client/create/execute.js.map +1 -0
  17. package/dist/nodes/HaloPSA/actions/client/create/index.d.ts +3 -0
  18. package/dist/nodes/HaloPSA/actions/client/create/index.js +41 -0
  19. package/dist/nodes/HaloPSA/actions/client/create/index.js.map +1 -0
  20. package/dist/nodes/HaloPSA/actions/client/delete/description.d.ts +2 -0
  21. package/dist/nodes/HaloPSA/actions/client/delete/description.js +20 -0
  22. package/dist/nodes/HaloPSA/actions/client/delete/description.js.map +1 -0
  23. package/dist/nodes/HaloPSA/actions/client/delete/execute.d.ts +3 -0
  24. package/dist/nodes/HaloPSA/actions/client/delete/execute.js +22 -0
  25. package/dist/nodes/HaloPSA/actions/client/delete/execute.js.map +1 -0
  26. package/dist/nodes/HaloPSA/actions/client/delete/index.d.ts +3 -0
  27. package/dist/nodes/HaloPSA/actions/client/delete/index.js +41 -0
  28. package/dist/nodes/HaloPSA/actions/client/delete/index.js.map +1 -0
  29. package/dist/nodes/HaloPSA/actions/client/getAll/description.d.ts +2 -0
  30. package/dist/nodes/HaloPSA/actions/client/getAll/description.js +397 -0
  31. package/dist/nodes/HaloPSA/actions/client/getAll/description.js.map +1 -0
  32. package/dist/nodes/HaloPSA/actions/client/getAll/execute.d.ts +3 -0
  33. package/dist/nodes/HaloPSA/actions/client/getAll/execute.js +34 -0
  34. package/dist/nodes/HaloPSA/actions/client/getAll/execute.js.map +1 -0
  35. package/dist/nodes/HaloPSA/actions/client/getAll/index.d.ts +3 -0
  36. package/dist/nodes/HaloPSA/actions/client/getAll/index.js +41 -0
  37. package/dist/nodes/HaloPSA/actions/client/getAll/index.js.map +1 -0
  38. package/dist/nodes/HaloPSA/actions/client/getById/description.d.ts +2 -0
  39. package/dist/nodes/HaloPSA/actions/client/getById/description.js +84 -0
  40. package/dist/nodes/HaloPSA/actions/client/getById/description.js.map +1 -0
  41. package/dist/nodes/HaloPSA/actions/client/getById/execute.d.ts +3 -0
  42. package/dist/nodes/HaloPSA/actions/client/getById/execute.js +24 -0
  43. package/dist/nodes/HaloPSA/actions/client/getById/execute.js.map +1 -0
  44. package/dist/nodes/HaloPSA/actions/client/getById/index.d.ts +3 -0
  45. package/dist/nodes/HaloPSA/actions/client/getById/index.js +41 -0
  46. package/dist/nodes/HaloPSA/actions/client/getById/index.js.map +1 -0
  47. package/dist/nodes/HaloPSA/actions/client/index.d.ts +8 -0
  48. package/dist/nodes/HaloPSA/actions/client/index.js +98 -0
  49. package/dist/nodes/HaloPSA/actions/client/index.js.map +1 -0
  50. package/dist/nodes/HaloPSA/actions/client/update/description.d.ts +2 -0
  51. package/dist/nodes/HaloPSA/actions/client/update/description.js +73 -0
  52. package/dist/nodes/HaloPSA/actions/client/update/description.js.map +1 -0
  53. package/dist/nodes/HaloPSA/actions/client/update/execute.d.ts +3 -0
  54. package/dist/nodes/HaloPSA/actions/client/update/execute.js +28 -0
  55. package/dist/nodes/HaloPSA/actions/client/update/execute.js.map +1 -0
  56. package/dist/nodes/HaloPSA/actions/client/update/index.d.ts +3 -0
  57. package/dist/nodes/HaloPSA/actions/client/update/index.js +41 -0
  58. package/dist/nodes/HaloPSA/actions/client/update/index.js.map +1 -0
  59. package/dist/nodes/HaloPSA/actions/interfaces/client.d.ts +180 -0
  60. package/dist/nodes/HaloPSA/actions/interfaces/client.js +3 -0
  61. package/dist/nodes/HaloPSA/actions/interfaces/client.js.map +1 -0
  62. package/dist/nodes/HaloPSA/actions/interfaces/common.d.ts +31 -0
  63. package/dist/nodes/HaloPSA/actions/interfaces/common.js +3 -0
  64. package/dist/nodes/HaloPSA/actions/interfaces/common.js.map +1 -0
  65. package/dist/nodes/HaloPSA/actions/interfaces/ticketStatuses.d.ts +67 -0
  66. package/dist/nodes/HaloPSA/actions/interfaces/ticketStatuses.js +3 -0
  67. package/dist/nodes/HaloPSA/actions/interfaces/ticketStatuses.js.map +1 -0
  68. package/dist/nodes/HaloPSA/actions/interfaces/ticketTypes.d.ts +512 -0
  69. package/dist/nodes/HaloPSA/actions/interfaces/ticketTypes.js +3 -0
  70. package/dist/nodes/HaloPSA/actions/interfaces/ticketTypes.js.map +1 -0
  71. package/dist/nodes/HaloPSA/actions/interfaces/tickets.d.ts +338 -0
  72. package/dist/nodes/HaloPSA/actions/interfaces/tickets.js +3 -0
  73. package/dist/nodes/HaloPSA/actions/interfaces/tickets.js.map +1 -0
  74. package/dist/nodes/HaloPSA/actions/router.d.ts +3 -0
  75. package/dist/nodes/HaloPSA/actions/router.js +85 -0
  76. package/dist/nodes/HaloPSA/actions/router.js.map +1 -0
  77. package/dist/nodes/HaloPSA/actions/ticketStatuses/create/description.d.ts +2 -0
  78. package/dist/nodes/HaloPSA/actions/ticketStatuses/create/description.js +99 -0
  79. package/dist/nodes/HaloPSA/actions/ticketStatuses/create/description.js.map +1 -0
  80. package/dist/nodes/HaloPSA/actions/ticketStatuses/create/execute.d.ts +2 -0
  81. package/dist/nodes/HaloPSA/actions/ticketStatuses/create/execute.js +15 -0
  82. package/dist/nodes/HaloPSA/actions/ticketStatuses/create/execute.js.map +1 -0
  83. package/dist/nodes/HaloPSA/actions/ticketStatuses/create/index.d.ts +3 -0
  84. package/dist/nodes/HaloPSA/actions/ticketStatuses/create/index.js +8 -0
  85. package/dist/nodes/HaloPSA/actions/ticketStatuses/create/index.js.map +1 -0
  86. package/dist/nodes/HaloPSA/actions/ticketStatuses/delete/description.d.ts +2 -0
  87. package/dist/nodes/HaloPSA/actions/ticketStatuses/delete/description.js +20 -0
  88. package/dist/nodes/HaloPSA/actions/ticketStatuses/delete/description.js.map +1 -0
  89. package/dist/nodes/HaloPSA/actions/ticketStatuses/delete/execute.d.ts +2 -0
  90. package/dist/nodes/HaloPSA/actions/ticketStatuses/delete/execute.js +10 -0
  91. package/dist/nodes/HaloPSA/actions/ticketStatuses/delete/execute.js.map +1 -0
  92. package/dist/nodes/HaloPSA/actions/ticketStatuses/delete/index.d.ts +3 -0
  93. package/dist/nodes/HaloPSA/actions/ticketStatuses/delete/index.js +8 -0
  94. package/dist/nodes/HaloPSA/actions/ticketStatuses/delete/index.js.map +1 -0
  95. package/dist/nodes/HaloPSA/actions/ticketStatuses/getAll/description.d.ts +2 -0
  96. package/dist/nodes/HaloPSA/actions/ticketStatuses/getAll/description.js +133 -0
  97. package/dist/nodes/HaloPSA/actions/ticketStatuses/getAll/description.js.map +1 -0
  98. package/dist/nodes/HaloPSA/actions/ticketStatuses/getAll/execute.d.ts +3 -0
  99. package/dist/nodes/HaloPSA/actions/ticketStatuses/getAll/execute.js +46 -0
  100. package/dist/nodes/HaloPSA/actions/ticketStatuses/getAll/execute.js.map +1 -0
  101. package/dist/nodes/HaloPSA/actions/ticketStatuses/getAll/index.d.ts +3 -0
  102. package/dist/nodes/HaloPSA/actions/ticketStatuses/getAll/index.js +8 -0
  103. package/dist/nodes/HaloPSA/actions/ticketStatuses/getAll/index.js.map +1 -0
  104. package/dist/nodes/HaloPSA/actions/ticketStatuses/getById/description.d.ts +2 -0
  105. package/dist/nodes/HaloPSA/actions/ticketStatuses/getById/description.js +42 -0
  106. package/dist/nodes/HaloPSA/actions/ticketStatuses/getById/description.js.map +1 -0
  107. package/dist/nodes/HaloPSA/actions/ticketStatuses/getById/execute.d.ts +3 -0
  108. package/dist/nodes/HaloPSA/actions/ticketStatuses/getById/execute.js +17 -0
  109. package/dist/nodes/HaloPSA/actions/ticketStatuses/getById/execute.js.map +1 -0
  110. package/dist/nodes/HaloPSA/actions/ticketStatuses/getById/index.d.ts +3 -0
  111. package/dist/nodes/HaloPSA/actions/ticketStatuses/getById/index.js +8 -0
  112. package/dist/nodes/HaloPSA/actions/ticketStatuses/getById/index.js.map +1 -0
  113. package/dist/nodes/HaloPSA/actions/ticketStatuses/index.d.ts +8 -0
  114. package/dist/nodes/HaloPSA/actions/ticketStatuses/index.js +98 -0
  115. package/dist/nodes/HaloPSA/actions/ticketStatuses/index.js.map +1 -0
  116. package/dist/nodes/HaloPSA/actions/ticketStatuses/update/description.d.ts +2 -0
  117. package/dist/nodes/HaloPSA/actions/ticketStatuses/update/description.js +106 -0
  118. package/dist/nodes/HaloPSA/actions/ticketStatuses/update/description.js.map +1 -0
  119. package/dist/nodes/HaloPSA/actions/ticketStatuses/update/execute.d.ts +2 -0
  120. package/dist/nodes/HaloPSA/actions/ticketStatuses/update/execute.js +15 -0
  121. package/dist/nodes/HaloPSA/actions/ticketStatuses/update/execute.js.map +1 -0
  122. package/dist/nodes/HaloPSA/actions/ticketStatuses/update/index.d.ts +3 -0
  123. package/dist/nodes/HaloPSA/actions/ticketStatuses/update/index.js +8 -0
  124. package/dist/nodes/HaloPSA/actions/ticketStatuses/update/index.js.map +1 -0
  125. package/dist/nodes/HaloPSA/actions/ticketTypes/create/description.d.ts +2 -0
  126. package/dist/nodes/HaloPSA/actions/ticketTypes/create/description.js +315 -0
  127. package/dist/nodes/HaloPSA/actions/ticketTypes/create/description.js.map +1 -0
  128. package/dist/nodes/HaloPSA/actions/ticketTypes/create/execute.d.ts +3 -0
  129. package/dist/nodes/HaloPSA/actions/ticketTypes/create/execute.js +17 -0
  130. package/dist/nodes/HaloPSA/actions/ticketTypes/create/execute.js.map +1 -0
  131. package/dist/nodes/HaloPSA/actions/ticketTypes/create/index.d.ts +3 -0
  132. package/dist/nodes/HaloPSA/actions/ticketTypes/create/index.js +8 -0
  133. package/dist/nodes/HaloPSA/actions/ticketTypes/create/index.js.map +1 -0
  134. package/dist/nodes/HaloPSA/actions/ticketTypes/delete/description.d.ts +2 -0
  135. package/dist/nodes/HaloPSA/actions/ticketTypes/delete/description.js +20 -0
  136. package/dist/nodes/HaloPSA/actions/ticketTypes/delete/description.js.map +1 -0
  137. package/dist/nodes/HaloPSA/actions/ticketTypes/delete/execute.d.ts +3 -0
  138. package/dist/nodes/HaloPSA/actions/ticketTypes/delete/execute.js +13 -0
  139. package/dist/nodes/HaloPSA/actions/ticketTypes/delete/execute.js.map +1 -0
  140. package/dist/nodes/HaloPSA/actions/ticketTypes/delete/index.d.ts +3 -0
  141. package/dist/nodes/HaloPSA/actions/ticketTypes/delete/index.js +8 -0
  142. package/dist/nodes/HaloPSA/actions/ticketTypes/delete/index.js.map +1 -0
  143. package/dist/nodes/HaloPSA/actions/ticketTypes/getAll/description.d.ts +2 -0
  144. package/dist/nodes/HaloPSA/actions/ticketTypes/getAll/description.js +205 -0
  145. package/dist/nodes/HaloPSA/actions/ticketTypes/getAll/description.js.map +1 -0
  146. package/dist/nodes/HaloPSA/actions/ticketTypes/getAll/execute.d.ts +3 -0
  147. package/dist/nodes/HaloPSA/actions/ticketTypes/getAll/execute.js +63 -0
  148. package/dist/nodes/HaloPSA/actions/ticketTypes/getAll/execute.js.map +1 -0
  149. package/dist/nodes/HaloPSA/actions/ticketTypes/getAll/index.d.ts +3 -0
  150. package/dist/nodes/HaloPSA/actions/ticketTypes/getAll/index.js +8 -0
  151. package/dist/nodes/HaloPSA/actions/ticketTypes/getAll/index.js.map +1 -0
  152. package/dist/nodes/HaloPSA/actions/ticketTypes/getById/description.d.ts +2 -0
  153. package/dist/nodes/HaloPSA/actions/ticketTypes/getById/description.js +112 -0
  154. package/dist/nodes/HaloPSA/actions/ticketTypes/getById/description.js.map +1 -0
  155. package/dist/nodes/HaloPSA/actions/ticketTypes/getById/execute.d.ts +3 -0
  156. package/dist/nodes/HaloPSA/actions/ticketTypes/getById/execute.js +37 -0
  157. package/dist/nodes/HaloPSA/actions/ticketTypes/getById/execute.js.map +1 -0
  158. package/dist/nodes/HaloPSA/actions/ticketTypes/getById/index.d.ts +3 -0
  159. package/dist/nodes/HaloPSA/actions/ticketTypes/getById/index.js +8 -0
  160. package/dist/nodes/HaloPSA/actions/ticketTypes/getById/index.js.map +1 -0
  161. package/dist/nodes/HaloPSA/actions/ticketTypes/index.d.ts +8 -0
  162. package/dist/nodes/HaloPSA/actions/ticketTypes/index.js +98 -0
  163. package/dist/nodes/HaloPSA/actions/ticketTypes/index.js.map +1 -0
  164. package/dist/nodes/HaloPSA/actions/ticketTypes/update/description.d.ts +2 -0
  165. package/dist/nodes/HaloPSA/actions/ticketTypes/update/description.js +322 -0
  166. package/dist/nodes/HaloPSA/actions/ticketTypes/update/description.js.map +1 -0
  167. package/dist/nodes/HaloPSA/actions/ticketTypes/update/execute.d.ts +3 -0
  168. package/dist/nodes/HaloPSA/actions/ticketTypes/update/execute.js +17 -0
  169. package/dist/nodes/HaloPSA/actions/ticketTypes/update/execute.js.map +1 -0
  170. package/dist/nodes/HaloPSA/actions/ticketTypes/update/index.d.ts +3 -0
  171. package/dist/nodes/HaloPSA/actions/ticketTypes/update/index.js +8 -0
  172. package/dist/nodes/HaloPSA/actions/ticketTypes/update/index.js.map +1 -0
  173. package/dist/nodes/HaloPSA/actions/tickets/create/description.d.ts +2 -0
  174. package/dist/nodes/HaloPSA/actions/tickets/create/description.js +399 -0
  175. package/dist/nodes/HaloPSA/actions/tickets/create/description.js.map +1 -0
  176. package/dist/nodes/HaloPSA/actions/tickets/create/execute.d.ts +3 -0
  177. package/dist/nodes/HaloPSA/actions/tickets/create/execute.js +31 -0
  178. package/dist/nodes/HaloPSA/actions/tickets/create/execute.js.map +1 -0
  179. package/dist/nodes/HaloPSA/actions/tickets/create/index.d.ts +3 -0
  180. package/dist/nodes/HaloPSA/actions/tickets/create/index.js +8 -0
  181. package/dist/nodes/HaloPSA/actions/tickets/create/index.js.map +1 -0
  182. package/dist/nodes/HaloPSA/actions/tickets/delete/description.d.ts +2 -0
  183. package/dist/nodes/HaloPSA/actions/tickets/delete/description.js +33 -0
  184. package/dist/nodes/HaloPSA/actions/tickets/delete/description.js.map +1 -0
  185. package/dist/nodes/HaloPSA/actions/tickets/delete/execute.d.ts +3 -0
  186. package/dist/nodes/HaloPSA/actions/tickets/delete/execute.js +18 -0
  187. package/dist/nodes/HaloPSA/actions/tickets/delete/execute.js.map +1 -0
  188. package/dist/nodes/HaloPSA/actions/tickets/delete/index.d.ts +3 -0
  189. package/dist/nodes/HaloPSA/actions/tickets/delete/index.js +8 -0
  190. package/dist/nodes/HaloPSA/actions/tickets/delete/index.js.map +1 -0
  191. package/dist/nodes/HaloPSA/actions/tickets/getAll/description.d.ts +2 -0
  192. package/dist/nodes/HaloPSA/actions/tickets/getAll/description.js +1473 -0
  193. package/dist/nodes/HaloPSA/actions/tickets/getAll/description.js.map +1 -0
  194. package/dist/nodes/HaloPSA/actions/tickets/getAll/execute.d.ts +3 -0
  195. package/dist/nodes/HaloPSA/actions/tickets/getAll/execute.js +408 -0
  196. package/dist/nodes/HaloPSA/actions/tickets/getAll/execute.js.map +1 -0
  197. package/dist/nodes/HaloPSA/actions/tickets/getAll/index.d.ts +3 -0
  198. package/dist/nodes/HaloPSA/actions/tickets/getAll/index.js +8 -0
  199. package/dist/nodes/HaloPSA/actions/tickets/getAll/index.js.map +1 -0
  200. package/dist/nodes/HaloPSA/actions/tickets/getById/description.d.ts +2 -0
  201. package/dist/nodes/HaloPSA/actions/tickets/getById/description.js +221 -0
  202. package/dist/nodes/HaloPSA/actions/tickets/getById/description.js.map +1 -0
  203. package/dist/nodes/HaloPSA/actions/tickets/getById/execute.d.ts +3 -0
  204. package/dist/nodes/HaloPSA/actions/tickets/getById/execute.js +28 -0
  205. package/dist/nodes/HaloPSA/actions/tickets/getById/execute.js.map +1 -0
  206. package/dist/nodes/HaloPSA/actions/tickets/getById/index.d.ts +3 -0
  207. package/dist/nodes/HaloPSA/actions/tickets/getById/index.js +8 -0
  208. package/dist/nodes/HaloPSA/actions/tickets/getById/index.js.map +1 -0
  209. package/dist/nodes/HaloPSA/actions/tickets/index.d.ts +8 -0
  210. package/dist/nodes/HaloPSA/actions/tickets/index.js +98 -0
  211. package/dist/nodes/HaloPSA/actions/tickets/index.js.map +1 -0
  212. package/dist/nodes/HaloPSA/actions/tickets/update/description.d.ts +2 -0
  213. package/dist/nodes/HaloPSA/actions/tickets/update/description.js +111 -0
  214. package/dist/nodes/HaloPSA/actions/tickets/update/description.js.map +1 -0
  215. package/dist/nodes/HaloPSA/actions/tickets/update/execute.d.ts +3 -0
  216. package/dist/nodes/HaloPSA/actions/tickets/update/execute.js +23 -0
  217. package/dist/nodes/HaloPSA/actions/tickets/update/execute.js.map +1 -0
  218. package/dist/nodes/HaloPSA/actions/tickets/update/index.d.ts +3 -0
  219. package/dist/nodes/HaloPSA/actions/tickets/update/index.js +8 -0
  220. package/dist/nodes/HaloPSA/actions/tickets/update/index.js.map +1 -0
  221. package/dist/nodes/HaloPSA/halopsa.svg +14 -0
  222. package/dist/nodes/HaloPSA/transport.d.ts +3 -0
  223. package/dist/nodes/HaloPSA/transport.js +59 -0
  224. package/dist/nodes/HaloPSA/transport.js.map +1 -0
  225. package/dist/package.json +57 -0
  226. package/dist/tsconfig.tsbuildinfo +1 -0
  227. package/docs/clients.md +52 -0
  228. package/docs/ticket-statuses.md +46 -0
  229. package/docs/ticket-types.md +43 -0
  230. package/docs/tickets.md +90 -0
  231. package/index.js +0 -0
  232. package/package.json +57 -0
package/README.md ADDED
@@ -0,0 +1,60 @@
1
+ # n8n-nodes-halopsacomplete
2
+
3
+ An n8n community node for integrating with HaloPSA API.
4
+
5
+ ## Installation
6
+
7
+ Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.
8
+
9
+ ```bash
10
+ npm install n8n-nodes-halopsacomplete
11
+ ```
12
+
13
+ ## Prerequisites
14
+
15
+ - HaloPSA instance with API access
16
+ - OAuth 2.0 Client ID and Client Secret from HaloPSA
17
+ - Your HaloPSA base URL (e.g., https://your-domain.halopsa.com)
18
+
19
+ ## Setup
20
+
21
+ ### Setting up OAuth 2.0 in HaloPSA
22
+
23
+ 1. Log into your HaloPSA instance
24
+ 2. Navigate to Configuration > Integrations > HaloPSA API
25
+ 3. Create a new OAuth 2.0 Client Application
26
+ 4. Set the Grant Type to "Client Credentials"
27
+ 5. Configure the appropriate scopes (recommend "all" for full access)
28
+ 6. Note down the Client ID and Client Secret for use in n8n
29
+
30
+ ### Configuring Credentials in n8n
31
+
32
+ 1. **Base API URL**: Your HaloPSA instance URL (e.g., https://your-domain.halopsa.com)
33
+ 2. **Client ID**: OAuth 2.0 Client ID from HaloPSA
34
+ 3. **Client Secret**: OAuth 2.0 Client Secret from HaloPSA
35
+ 4. **Scope**: OAuth 2.0 scope (default: "all" for full API access)
36
+
37
+ ## Supported Operations
38
+
39
+ ### [Tickets](./docs/tickets.md)
40
+ Complete CRUD operations for HaloPSA tickets with comprehensive filtering options.
41
+
42
+ ### [Clients](./docs/clients.md)
43
+ Manage client records including creation, updates, and retrieval.
44
+
45
+ ### [Ticket Types](./docs/ticket-types.md)
46
+ Configure and manage ticket type definitions.
47
+
48
+ ### [Ticket Statuses](./docs/ticket-statuses.md)
49
+ Manage ticket status configurations and workflows.
50
+
51
+ ## Resources
52
+
53
+ - [HaloPSA API Documentation](https://haloitsm.com/api)
54
+ - [n8n Documentation](https://docs.n8n.io)
55
+ - [Repository](https://github.com/redanthrax/halopsa-node)
56
+
57
+ ## License
58
+
59
+ MIT
60
+
@@ -0,0 +1,7 @@
1
+ import { ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class HaloPSAApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ properties: INodeProperties[];
7
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HaloPSAApi = void 0;
4
+ class HaloPSAApi {
5
+ constructor() {
6
+ this.name = 'haloPSAApi';
7
+ this.displayName = 'HaloPSA API';
8
+ this.documentationUrl = 'https://github.com/redanthrax/halopsa-node';
9
+ this.properties = [
10
+ {
11
+ displayName: 'Base API URL',
12
+ name: 'baseUrl',
13
+ type: 'string',
14
+ default: '',
15
+ placeholder: 'https://your-domain.halopsa.com',
16
+ required: true,
17
+ description: 'The base URL of your HaloPSA instance',
18
+ },
19
+ {
20
+ displayName: 'Client ID',
21
+ name: 'clientId',
22
+ type: 'string',
23
+ default: '',
24
+ required: true,
25
+ description: 'OAuth 2.0 Client ID',
26
+ },
27
+ {
28
+ displayName: 'Client Secret',
29
+ name: 'clientSecret',
30
+ type: 'string',
31
+ typeOptions: {
32
+ password: true,
33
+ },
34
+ default: '',
35
+ required: true,
36
+ description: 'OAuth 2.0 Client Secret',
37
+ },
38
+ {
39
+ displayName: 'Scope',
40
+ name: 'scope',
41
+ type: 'string',
42
+ default: 'all',
43
+ description: 'OAuth 2.0 scope. Use "all" for full API access',
44
+ },
45
+ ];
46
+ }
47
+ }
48
+ exports.HaloPSAApi = HaloPSAApi;
49
+ //# sourceMappingURL=HaloPSAApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HaloPSAApi.credentials.js","sourceRoot":"","sources":["../../credentials/HaloPSAApi.credentials.ts"],"names":[],"mappings":";;;AAKA,MAAa,UAAU;IAAvB;QACC,SAAI,GAAG,YAAY,CAAC;QACpB,gBAAW,GAAG,aAAa,CAAC;QAC5B,qBAAgB,GAAG,4CAA4C,CAAC;QAChE,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,iCAAiC;gBAC9C,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,uCAAuC;aACpD;YACD;gBACC,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,qBAAqB;aAClC;YACD;gBACC,WAAW,EAAE,eAAe;gBAC5B,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,QAAQ,EAAE,IAAI;iBACd;gBACD,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,yBAAyB;aACtC;YACD;gBACC,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,gDAAgD;aAC7D;SACD,CAAC;IACH,CAAC;CAAA;AAzCD,gCAyCC"}
@@ -0,0 +1,11 @@
1
+ import { IExecuteFunctions, ILoadOptionsFunctions, INodePropertyOptions, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class HaloPsa implements INodeType {
3
+ description: INodeTypeDescription;
4
+ methods: {
5
+ loadOptions: {
6
+ getTicketTypes: (this: ILoadOptionsFunctions) => Promise<INodePropertyOptions[]>;
7
+ getTicketStatuses: (this: ILoadOptionsFunctions) => Promise<INodePropertyOptions[]>;
8
+ };
9
+ };
10
+ execute(this: IExecuteFunctions): Promise<import("n8n-workflow").INodeExecutionData[][]>;
11
+ }
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.HaloPsa = void 0;
37
+ const client = __importStar(require("./actions/client"));
38
+ const tickets = __importStar(require("./actions/tickets"));
39
+ const ticketTypes = __importStar(require("./actions/ticketTypes"));
40
+ const ticketStatuses = __importStar(require("./actions/ticketStatuses"));
41
+ const router_1 = require("./actions/router");
42
+ class HaloPsa {
43
+ constructor() {
44
+ this.description = {
45
+ displayName: 'HaloPSA Complete',
46
+ name: 'haloPsa',
47
+ icon: 'file:halopsa.svg',
48
+ group: ['transform'],
49
+ version: 1,
50
+ subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
51
+ description: 'Get data from the HaloPSA API',
52
+ defaults: {
53
+ name: 'HaloPSA Complete',
54
+ },
55
+ inputs: ["main"],
56
+ outputs: ["main"],
57
+ credentials: [
58
+ {
59
+ name: 'haloPSAApi',
60
+ required: true,
61
+ },
62
+ ],
63
+ requestDefaults: {
64
+ headers: {
65
+ Accept: 'application/json',
66
+ 'Content-Type': 'application/json',
67
+ },
68
+ },
69
+ properties: [
70
+ {
71
+ displayName: 'Resource',
72
+ name: 'resource',
73
+ type: 'options',
74
+ noDataExpression: true,
75
+ options: [
76
+ {
77
+ name: 'Client',
78
+ value: 'client',
79
+ },
80
+ {
81
+ name: 'Ticket',
82
+ value: 'tickets',
83
+ },
84
+ {
85
+ name: 'Ticket Type',
86
+ value: 'ticketTypes',
87
+ },
88
+ {
89
+ name: 'Ticket Status',
90
+ value: 'ticketStatuses',
91
+ },
92
+ ],
93
+ default: 'tickets',
94
+ },
95
+ ...client.description,
96
+ ...tickets.description,
97
+ ...ticketTypes.description,
98
+ ...ticketStatuses.description,
99
+ ],
100
+ };
101
+ this.methods = {
102
+ loadOptions: {
103
+ getTicketTypes: async function () {
104
+ const { apiRequest } = await Promise.resolve().then(() => __importStar(require('./transport')));
105
+ try {
106
+ const requestMethod = 'GET';
107
+ const endpoint = '/TicketType';
108
+ const body = {};
109
+ const qs = {};
110
+ const responseData = await apiRequest.call(this, requestMethod, endpoint, body, qs);
111
+ const options = [];
112
+ if (Array.isArray(responseData)) {
113
+ for (const ticketType of responseData) {
114
+ if (ticketType.id && ticketType.name) {
115
+ options.push({
116
+ name: ticketType.name,
117
+ value: ticketType.id.toString(),
118
+ description: ticketType.description || '',
119
+ });
120
+ }
121
+ }
122
+ }
123
+ return options.sort((a, b) => a.name.localeCompare(b.name));
124
+ }
125
+ catch (error) {
126
+ return [];
127
+ }
128
+ },
129
+ getTicketStatuses: async function () {
130
+ const { apiRequest } = await Promise.resolve().then(() => __importStar(require('./transport')));
131
+ try {
132
+ const requestMethod = 'GET';
133
+ const endpoint = '/Status';
134
+ const body = {};
135
+ const qs = {};
136
+ const responseData = await apiRequest.call(this, requestMethod, endpoint, body, qs);
137
+ const options = [];
138
+ if (Array.isArray(responseData)) {
139
+ for (const status of responseData) {
140
+ if (status.id && status.name) {
141
+ options.push({
142
+ name: status.name,
143
+ value: status.id.toString(),
144
+ description: status.shortname || '',
145
+ });
146
+ }
147
+ }
148
+ }
149
+ return options.sort((a, b) => a.name.localeCompare(b.name));
150
+ }
151
+ catch (error) {
152
+ return [];
153
+ }
154
+ },
155
+ },
156
+ };
157
+ }
158
+ async execute() {
159
+ return await router_1.router.call(this);
160
+ }
161
+ }
162
+ exports.HaloPsa = HaloPsa;
163
+ //# sourceMappingURL=HaloPsa.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HaloPsa.node.js","sourceRoot":"","sources":["../../../nodes/HaloPSA/HaloPsa.node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA2C;AAC3C,2DAA6C;AAC7C,mEAAqD;AACrD,yEAA2D;AAW3D,6CAA0C;AAE1C,MAAa,OAAO;IAApB;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,kBAAkB;YAC/B,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,8DAA8D;YACxE,WAAW,EAAE,+BAA+B;YAC5C,QAAQ,EAAE;gBACT,IAAI,EAAE,kBAAkB;aACxB;YACD,MAAM,EAAE,QAAyB;YACjC,OAAO,EAAE,QAAyB;YAClC,WAAW,EAAE;gBACZ;oBACC,IAAI,EAAE,YAAY;oBAClB,QAAQ,EAAE,IAAI;iBACd;aACD;YACD,eAAe,EAAE;gBAChB,OAAO,EAAE;oBACR,MAAM,EAAE,kBAAkB;oBAC1B,cAAc,EAAE,kBAAkB;iBAClC;aACD;YACD,UAAU,EAAE;gBACX;oBACC,WAAW,EAAE,UAAU;oBACvB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,IAAI;oBACvB,OAAO,EAAE;wBACP;4BACC,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,QAAQ;yBACf;wBACD;4BACC,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,SAAS;yBAChB;wBACD;4BACC,IAAI,EAAE,aAAa;4BACnB,KAAK,EAAE,aAAa;yBACpB;wBACD;4BACC,IAAI,EAAE,eAAe;4BACrB,KAAK,EAAE,gBAAgB;yBACvB;qBACD;oBACD,OAAO,EAAE,SAAS;iBAClB;gBACD,GAAG,MAAM,CAAC,WAAW;gBACrB,GAAG,OAAO,CAAC,WAAW;gBACtB,GAAG,WAAW,CAAC,WAAW;gBAC1B,GAAG,cAAc,CAAC,WAAW;aAC7B;SACD,CAAC;QAEF,YAAO,GAAG;YACT,WAAW,EAAE;gBACZ,cAAc,EAAE,KAAK;oBACpB,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;oBACnD,IAAI,CAAC;wBACJ,MAAM,aAAa,GAAG,KAAK,CAAC;wBAC5B,MAAM,QAAQ,GAAG,aAAa,CAAC;wBAC/B,MAAM,IAAI,GAAG,EAAE,CAAC;wBAChB,MAAM,EAAE,GAAG,EAAE,CAAC;wBAEd,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;wBAEpF,MAAM,OAAO,GAA2B,EAAE,CAAC;wBAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;4BACjC,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;gCACvC,IAAI,UAAU,CAAC,EAAE,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;oCACtC,OAAO,CAAC,IAAI,CAAC;wCACZ,IAAI,EAAE,UAAU,CAAC,IAAI;wCACrB,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;wCAC/B,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,EAAE;qCACzC,CAAC,CAAC;gCACJ,CAAC;4BACF,CAAC;wBACF,CAAC;wBACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC7D,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAEhB,OAAO,EAAE,CAAC;oBACX,CAAC;gBACF,CAAC;gBACD,iBAAiB,EAAE,KAAK;oBACvB,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;oBACnD,IAAI,CAAC;wBACJ,MAAM,aAAa,GAAG,KAAK,CAAC;wBAC5B,MAAM,QAAQ,GAAG,SAAS,CAAC;wBAC3B,MAAM,IAAI,GAAG,EAAE,CAAC;wBAChB,MAAM,EAAE,GAAG,EAAE,CAAC;wBAEd,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;wBAEpF,MAAM,OAAO,GAA2B,EAAE,CAAC;wBAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;4BACjC,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;gCACnC,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oCAC9B,OAAO,CAAC,IAAI,CAAC;wCACZ,IAAI,EAAE,MAAM,CAAC,IAAI;wCACjB,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE;wCAC3B,WAAW,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;qCACnC,CAAC,CAAC;gCACJ,CAAC;4BACF,CAAC;wBACF,CAAC;wBACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC7D,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAEhB,OAAO,EAAE,CAAC;oBACX,CAAC;gBACF,CAAC;aACD;SACD,CAAC;IAKH,CAAC;IAHA,KAAK,CAAC,OAAO;QACZ,OAAO,MAAM,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACD;AA3HD,0BA2HC"}
@@ -0,0 +1,14 @@
1
+ export * from './interfaces/common';
2
+ export * from './interfaces/client';
3
+ export * from './interfaces/tickets';
4
+ export * from './interfaces/ticketTypes';
5
+ export * from './interfaces/ticketStatuses';
6
+ export type HaloPSAResource = 'client' | 'tickets' | 'ticketTypes' | 'ticketStatuses';
7
+ export type HaloPSAClientOperation = 'getAll' | 'getById' | 'create' | 'update' | 'delete';
8
+ export type HaloPSATicketsOperation = 'getAll' | 'getById' | 'create' | 'update' | 'delete';
9
+ export type HaloPSATicketTypesOperation = 'getAll' | 'getById' | 'create' | 'update' | 'delete';
10
+ export type HaloPSATicketStatusesOperation = 'getAll' | 'getById' | 'create' | 'update' | 'delete';
11
+ export interface HaloPSA {
12
+ resource: HaloPSAResource;
13
+ operation: HaloPSAClientOperation | HaloPSATicketsOperation | HaloPSATicketTypesOperation | HaloPSATicketStatusesOperation;
14
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./interfaces/common"), exports);
18
+ __exportStar(require("./interfaces/client"), exports);
19
+ __exportStar(require("./interfaces/tickets"), exports);
20
+ __exportStar(require("./interfaces/ticketTypes"), exports);
21
+ __exportStar(require("./interfaces/ticketStatuses"), exports);
22
+ //# sourceMappingURL=Interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Interfaces.js","sourceRoot":"","sources":["../../../../nodes/HaloPSA/actions/Interfaces.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,sDAAoC;AACpC,sDAAoC;AACpC,uDAAqC;AACrC,2DAAyC;AACzC,8DAA4C"}
@@ -0,0 +1,2 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const createDescription: INodeProperties[];
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createDescription = void 0;
4
+ exports.createDescription = [
5
+ {
6
+ displayName: 'Name',
7
+ name: 'name',
8
+ type: 'string',
9
+ displayOptions: {
10
+ show: {
11
+ resource: ['client'],
12
+ operation: ['create'],
13
+ },
14
+ },
15
+ required: true,
16
+ default: '',
17
+ description: 'The name of the client',
18
+ },
19
+ {
20
+ displayName: 'Additional Fields',
21
+ name: 'additionalFields',
22
+ type: 'collection',
23
+ placeholder: 'Add Field',
24
+ default: {},
25
+ displayOptions: {
26
+ show: {
27
+ resource: ['client'],
28
+ operation: ['create'],
29
+ },
30
+ },
31
+ options: [
32
+ {
33
+ displayName: 'Colour',
34
+ name: 'colour',
35
+ type: 'color',
36
+ default: '',
37
+ description: 'Color code for the client (e.g., #E83C4A)',
38
+ },
39
+ {
40
+ displayName: 'Inactive',
41
+ name: 'inactive',
42
+ type: 'boolean',
43
+ default: false,
44
+ description: 'Whether the client is inactive',
45
+ },
46
+ {
47
+ displayName: 'Notes',
48
+ name: 'notes',
49
+ type: 'string',
50
+ typeOptions: {
51
+ rows: 4,
52
+ },
53
+ default: '',
54
+ description: 'Notes about the client',
55
+ },
56
+ {
57
+ displayName: 'Top Level ID',
58
+ name: 'toplevel_id',
59
+ type: 'number',
60
+ default: 1,
61
+ description: 'The top level ID for the client',
62
+ },
63
+ ],
64
+ },
65
+ ];
66
+ //# sourceMappingURL=description.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"description.js","sourceRoot":"","sources":["../../../../../../nodes/HaloPSA/actions/client/create/description.ts"],"names":[],"mappings":";;;AAEa,QAAA,iBAAiB,GAAsB;IACnD;QACC,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,QAAQ;QACd,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,QAAQ,CAAC;gBACpB,SAAS,EAAE,CAAC,QAAQ,CAAC;aACrB;SACD;QACD,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,wBAAwB;KACrC;IACD;QACC,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,EAAE;QACX,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,QAAQ,CAAC;gBACpB,SAAS,EAAE,CAAC,QAAQ,CAAC;aACrB;SACD;QACD,OAAO,EAAE;YACR;gBACC,WAAW,EAAE,QAAQ;gBACrB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,2CAA2C;aACxD;YACD;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,gCAAgC;aAC7C;YACD;gBACC,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,IAAI,EAAE,CAAC;iBACP;gBACD,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,wBAAwB;aACrC;YACD;gBACC,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,iCAAiC;aAC9C;SACD;KACD;CACD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { IExecuteFunctions } from 'n8n-workflow';
2
+ import { IDataObject } from 'n8n-workflow';
3
+ export declare function execute(this: IExecuteFunctions, index: number): Promise<IDataObject[]>;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.execute = execute;
4
+ const transport_1 = require("../../../transport");
5
+ async function execute(index) {
6
+ const name = this.getNodeParameter('name', index);
7
+ const additionalFields = this.getNodeParameter('additionalFields', index, {});
8
+ if (!name) {
9
+ throw new Error('Client name is required');
10
+ }
11
+ const requestMethod = 'POST';
12
+ const endpoint = '/Client';
13
+ const clientData = {
14
+ name,
15
+ ...additionalFields,
16
+ };
17
+ const body = [clientData];
18
+ const qs = {};
19
+ const responseData = await transport_1.apiRequest.call(this, requestMethod, endpoint, body, qs);
20
+ if (Array.isArray(responseData)) {
21
+ return responseData;
22
+ }
23
+ return [responseData];
24
+ }
25
+ //# sourceMappingURL=execute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../../../../nodes/HaloPSA/actions/client/create/execute.ts"],"names":[],"mappings":";;AAIA,0BA8BC;AAhCD,kDAAgD;AAEzC,KAAK,UAAU,OAAO,CAA0B,KAAa;IACnE,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAW,CAAC;IAC5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,KAAK,EAAE,EAAE,CAAgB,CAAC;IAE7F,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,CAAC;IAC7B,MAAM,QAAQ,GAAG,SAAS,CAAC;IAG3B,MAAM,UAAU,GAAgB;QAC/B,IAAI;QACJ,GAAG,gBAAgB;KACnB,CAAC;IAGF,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1B,MAAM,EAAE,GAAG,EAAE,CAAC;IAEd,MAAM,YAAY,GAAG,MAAM,sBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAGpF,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,YAAY,CAAC;IACrB,CAAC;IAGD,OAAO,CAAC,YAA2B,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { execute } from './execute';
2
+ import * as description from './description';
3
+ export { execute, description };
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.description = exports.execute = void 0;
37
+ const execute_1 = require("./execute");
38
+ Object.defineProperty(exports, "execute", { enumerable: true, get: function () { return execute_1.execute; } });
39
+ const description = __importStar(require("./description"));
40
+ exports.description = description;
41
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../nodes/HaloPSA/actions/client/create/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAoC;AAG3B,wFAHA,iBAAO,OAGA;AAFhB,2DAA6C;AAE3B,kCAAW"}
@@ -0,0 +1,2 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const deleteDescription: INodeProperties[];
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteDescription = void 0;
4
+ exports.deleteDescription = [
5
+ {
6
+ displayName: 'Client ID',
7
+ name: 'clientId',
8
+ type: 'number',
9
+ displayOptions: {
10
+ show: {
11
+ resource: ['client'],
12
+ operation: ['delete'],
13
+ },
14
+ },
15
+ required: true,
16
+ default: 0,
17
+ description: 'The ID of the client to delete',
18
+ },
19
+ ];
20
+ //# sourceMappingURL=description.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"description.js","sourceRoot":"","sources":["../../../../../../nodes/HaloPSA/actions/client/delete/description.ts"],"names":[],"mappings":";;;AAEa,QAAA,iBAAiB,GAAsB;IACnD;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,QAAQ;QACd,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,QAAQ,CAAC;gBACpB,SAAS,EAAE,CAAC,QAAQ,CAAC;aACrB;SACD;QACD,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,gCAAgC;KAC7C;CACD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { IExecuteFunctions } from 'n8n-workflow';
2
+ import { IDataObject } from 'n8n-workflow';
3
+ export declare function execute(this: IExecuteFunctions, index: number): Promise<IDataObject[]>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.execute = execute;
4
+ const transport_1 = require("../../../transport");
5
+ async function execute(index) {
6
+ const clientId = this.getNodeParameter('clientId', index);
7
+ if (!clientId) {
8
+ throw new Error('Client ID is required');
9
+ }
10
+ const requestMethod = 'DELETE';
11
+ const endpoint = `/Client/${clientId}`;
12
+ const body = {};
13
+ const qs = {};
14
+ const responseData = await transport_1.apiRequest.call(this, requestMethod, endpoint, body, qs);
15
+ const result = {
16
+ success: true,
17
+ message: `Client with ID ${clientId} deleted successfully`,
18
+ ...responseData,
19
+ };
20
+ return [result];
21
+ }
22
+ //# sourceMappingURL=execute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../../../../nodes/HaloPSA/actions/client/delete/execute.ts"],"names":[],"mappings":";;AAIA,0BAsBC;AAxBD,kDAAgD;AAEzC,KAAK,UAAU,OAAO,CAA0B,KAAa;IACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAW,CAAC;IAEpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,aAAa,GAAG,QAAQ,CAAC;IAC/B,MAAM,QAAQ,GAAG,WAAW,QAAQ,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,EAAE,GAAG,EAAE,CAAC;IAEd,MAAM,YAAY,GAAG,MAAM,sBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAGpF,MAAM,MAAM,GAAG;QACd,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,kBAAkB,QAAQ,uBAAuB;QAC1D,GAAG,YAAY;KACf,CAAC;IAEF,OAAO,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { execute } from './execute';
2
+ import * as description from './description';
3
+ export { execute, description };
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.description = exports.execute = void 0;
37
+ const execute_1 = require("./execute");
38
+ Object.defineProperty(exports, "execute", { enumerable: true, get: function () { return execute_1.execute; } });
39
+ const description = __importStar(require("./description"));
40
+ exports.description = description;
41
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../nodes/HaloPSA/actions/client/delete/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAoC;AAG3B,wFAHA,iBAAO,OAGA;AAFhB,2DAA6C;AAE3B,kCAAW"}
@@ -0,0 +1,2 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const getALLDescription: INodeProperties[];