rotacloud 1.5.2 → 2.0.1

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 (488) hide show
  1. package/README.md +23 -13
  2. package/dist/client-builder.d.ts +34 -0
  3. package/dist/client-builder.js +70 -0
  4. package/dist/client-builder.test.js +163 -0
  5. package/dist/endpoint.d.ts +51 -0
  6. package/dist/interfaces/launch-terminal.interface.d.ts +6 -0
  7. package/dist/{mjs/interfaces → interfaces}/leave-request.interface.d.ts +1 -1
  8. package/dist/{cjs/interfaces → interfaces}/leave.interface.d.ts +1 -1
  9. package/dist/{mjs/interfaces → interfaces}/query-params/toil-allowance-query-params.interface.d.ts +1 -0
  10. package/dist/{cjs/interfaces → interfaces}/sdk-config.interface.d.ts +8 -11
  11. package/dist/{mjs/interfaces → interfaces}/shift.interface.d.ts +11 -0
  12. package/dist/interfaces/user-clock-in.interface.d.ts +18 -0
  13. package/dist/interfaces/user-clock-in.interface.js +1 -0
  14. package/dist/{cjs/interfaces → interfaces}/user.interface.d.ts +1 -1
  15. package/dist/interfaces/user.interface.js +1 -0
  16. package/dist/interfaces/users-clocked-in.interface.js +1 -0
  17. package/dist/interfaces/users-clocked-out.interface.js +1 -0
  18. package/dist/main.d.ts +203 -0
  19. package/dist/main.js +6 -0
  20. package/dist/models/SDKError.model.d.ts +15 -0
  21. package/dist/{mjs/models → models}/SDKError.model.js +10 -3
  22. package/dist/ops.d.ts +195 -0
  23. package/dist/ops.js +304 -0
  24. package/dist/ops.test.d.ts +1 -0
  25. package/dist/ops.test.js +101 -0
  26. package/dist/service.d.ts +233 -0
  27. package/dist/service.js +317 -0
  28. package/dist/utils.d.ts +41 -0
  29. package/dist/utils.js +149 -0
  30. package/package.json +19 -20
  31. package/src/client-builder.test.ts +188 -0
  32. package/src/client-builder.ts +118 -0
  33. package/src/endpoint.ts +99 -0
  34. package/src/interfaces/launch-terminal.interface.ts +7 -0
  35. package/src/interfaces/leave-request.interface.ts +1 -1
  36. package/src/interfaces/leave.interface.ts +1 -1
  37. package/src/interfaces/query-params/toil-allowance-query-params.interface.ts +1 -0
  38. package/src/interfaces/sdk-config.interface.ts +11 -14
  39. package/src/interfaces/shift.interface.ts +12 -0
  40. package/src/interfaces/time-zone.interface.ts +6 -6
  41. package/src/interfaces/user-clock-in.interface.ts +20 -0
  42. package/src/interfaces/user.interface.ts +1 -1
  43. package/src/main.ts +7 -0
  44. package/src/models/SDKError.model.ts +8 -8
  45. package/src/ops.test.ts +121 -0
  46. package/src/ops.ts +533 -0
  47. package/src/service.ts +395 -0
  48. package/src/utils.ts +193 -0
  49. package/.eslintignore +0 -5
  50. package/.eslintrc.json +0 -27
  51. package/.gitattributes +0 -1
  52. package/.github/workflows/check.yml +0 -36
  53. package/.github/workflows/publish.yml +0 -44
  54. package/.prettierrc.json +0 -7
  55. package/.vscode/settings.json +0 -4
  56. package/dist/cjs/interfaces/account-service.interface.js +0 -2
  57. package/dist/cjs/interfaces/account-services.interface.js +0 -2
  58. package/dist/cjs/interfaces/account.interface.js +0 -2
  59. package/dist/cjs/interfaces/attendance.interface.js +0 -2
  60. package/dist/cjs/interfaces/auth.interface.js +0 -2
  61. package/dist/cjs/interfaces/availability-pattern.interface.js +0 -2
  62. package/dist/cjs/interfaces/availability.interface.js +0 -2
  63. package/dist/cjs/interfaces/daily-budgets.interface.js +0 -2
  64. package/dist/cjs/interfaces/daily-revenue.interface.js +0 -2
  65. package/dist/cjs/interfaces/day-note.interface.js +0 -2
  66. package/dist/cjs/interfaces/days-off-pattern.interface.js +0 -2
  67. package/dist/cjs/interfaces/days-off.interface.js +0 -2
  68. package/dist/cjs/interfaces/document.interface.js +0 -2
  69. package/dist/cjs/interfaces/drop-request.interface.js +0 -2
  70. package/dist/cjs/interfaces/group.interface.js +0 -2
  71. package/dist/cjs/interfaces/holiday_allowance.interface.js +0 -2
  72. package/dist/cjs/interfaces/index.js +0 -55
  73. package/dist/cjs/interfaces/leave-date.interface.js +0 -2
  74. package/dist/cjs/interfaces/leave-embargo.interface.js +0 -2
  75. package/dist/cjs/interfaces/leave-rate.interface.js +0 -2
  76. package/dist/cjs/interfaces/leave-request.interface.d.ts +0 -23
  77. package/dist/cjs/interfaces/leave-request.interface.js +0 -2
  78. package/dist/cjs/interfaces/leave-type.interface.js +0 -2
  79. package/dist/cjs/interfaces/leave.interface.js +0 -2
  80. package/dist/cjs/interfaces/location-coordinate.interface.js +0 -2
  81. package/dist/cjs/interfaces/location.interface.js +0 -2
  82. package/dist/cjs/interfaces/logbook-category.interface.js +0 -2
  83. package/dist/cjs/interfaces/logbook-event.interface.js +0 -2
  84. package/dist/cjs/interfaces/pay-period.interface.js +0 -2
  85. package/dist/cjs/interfaces/pin.interface.js +0 -2
  86. package/dist/cjs/interfaces/query-params/attendance-query-params.interface.js +0 -2
  87. package/dist/cjs/interfaces/query-params/availability-patterns-query-params.interface.js +0 -2
  88. package/dist/cjs/interfaces/query-params/availability-query-params.interface.js +0 -2
  89. package/dist/cjs/interfaces/query-params/common-shift-times-query-params.interface.js +0 -2
  90. package/dist/cjs/interfaces/query-params/daily-budgets-query-params.interface.js +0 -2
  91. package/dist/cjs/interfaces/query-params/daily-revenue-query-params.interface.js +0 -2
  92. package/dist/cjs/interfaces/query-params/day-notes-query-params.interface.js +0 -2
  93. package/dist/cjs/interfaces/query-params/days-off-patterns-query-params.interface.js +0 -2
  94. package/dist/cjs/interfaces/query-params/days-off-query-params.interface.js +0 -2
  95. package/dist/cjs/interfaces/query-params/documents-query-params.interface.js +0 -2
  96. package/dist/cjs/interfaces/query-params/groups-query-params.interface.js +0 -2
  97. package/dist/cjs/interfaces/query-params/index.js +0 -42
  98. package/dist/cjs/interfaces/query-params/leave-embargoes-query-params.interface.js +0 -2
  99. package/dist/cjs/interfaces/query-params/leave-query-params.interface.js +0 -2
  100. package/dist/cjs/interfaces/query-params/leave-requests-query-params.interface.js +0 -2
  101. package/dist/cjs/interfaces/query-params/locations-query-params.interface.js +0 -2
  102. package/dist/cjs/interfaces/query-params/logbook-events-query-params.interface.js +0 -2
  103. package/dist/cjs/interfaces/query-params/pay-periods-query-params.interface.js +0 -2
  104. package/dist/cjs/interfaces/query-params/roles-query-params.interface.js +0 -2
  105. package/dist/cjs/interfaces/query-params/settings-query-params.interface.js +0 -2
  106. package/dist/cjs/interfaces/query-params/shifts-query-params.interface.js +0 -2
  107. package/dist/cjs/interfaces/query-params/swap-requests-query-params.interface.js +0 -2
  108. package/dist/cjs/interfaces/query-params/terminals-query-params.interface.js +0 -2
  109. package/dist/cjs/interfaces/query-params/toil-accruals-query-params.interface.js +0 -2
  110. package/dist/cjs/interfaces/query-params/toil-allowance-query-params.interface.d.ts +0 -3
  111. package/dist/cjs/interfaces/query-params/toil-allowance-query-params.interface.js +0 -2
  112. package/dist/cjs/interfaces/query-params/unavailability-requests-query-params.interface.js +0 -2
  113. package/dist/cjs/interfaces/query-params/users-query-params.interface.js +0 -2
  114. package/dist/cjs/interfaces/role-rate.interface.js +0 -2
  115. package/dist/cjs/interfaces/role.interface.js +0 -2
  116. package/dist/cjs/interfaces/sdk-config.interface.js +0 -8
  117. package/dist/cjs/interfaces/settings.interface.js +0 -2
  118. package/dist/cjs/interfaces/shift.interface.d.ts +0 -25
  119. package/dist/cjs/interfaces/shift.interface.js +0 -2
  120. package/dist/cjs/interfaces/swap-request.interface.js +0 -2
  121. package/dist/cjs/interfaces/terminal.interface.js +0 -2
  122. package/dist/cjs/interfaces/time-zone.interface.js +0 -2
  123. package/dist/cjs/interfaces/toil-accrual.interface.js +0 -2
  124. package/dist/cjs/interfaces/toil-allowance.interface.js +0 -2
  125. package/dist/cjs/interfaces/user.interface.js +0 -2
  126. package/dist/cjs/interfaces/users-clocked-in.interface.js +0 -2
  127. package/dist/cjs/interfaces/users-clocked-out.interface.js +0 -2
  128. package/dist/cjs/models/SDKError.model.d.ts +0 -11
  129. package/dist/cjs/models/SDKError.model.js +0 -15
  130. package/dist/cjs/models/index.js +0 -17
  131. package/dist/cjs/package.json +0 -3
  132. package/dist/cjs/rotacloud.d.ts +0 -47
  133. package/dist/cjs/rotacloud.js +0 -166
  134. package/dist/cjs/services/accounts.service.d.ts +0 -33
  135. package/dist/cjs/services/accounts.service.js +0 -83
  136. package/dist/cjs/services/attendance.service.d.ts +0 -51
  137. package/dist/cjs/services/attendance.service.js +0 -102
  138. package/dist/cjs/services/auth.service.d.ts +0 -10
  139. package/dist/cjs/services/auth.service.js +0 -14
  140. package/dist/cjs/services/availability.service.d.ts +0 -25
  141. package/dist/cjs/services/availability.service.js +0 -69
  142. package/dist/cjs/services/daily-budgets.service.d.ts +0 -27
  143. package/dist/cjs/services/daily-budgets.service.js +0 -87
  144. package/dist/cjs/services/daily-revenue.service.d.ts +0 -27
  145. package/dist/cjs/services/daily-revenue.service.js +0 -87
  146. package/dist/cjs/services/day-notes.service.d.ts +0 -49
  147. package/dist/cjs/services/day-notes.service.js +0 -102
  148. package/dist/cjs/services/days-off.service.d.ts +0 -32
  149. package/dist/cjs/services/days-off.service.js +0 -102
  150. package/dist/cjs/services/documents.service.d.ts +0 -73
  151. package/dist/cjs/services/documents.service.js +0 -125
  152. package/dist/cjs/services/groups.service.d.ts +0 -51
  153. package/dist/cjs/services/groups.service.js +0 -102
  154. package/dist/cjs/services/index.d.ts +0 -25
  155. package/dist/cjs/services/index.js +0 -41
  156. package/dist/cjs/services/leave-embargoes.service.d.ts +0 -51
  157. package/dist/cjs/services/leave-embargoes.service.js +0 -102
  158. package/dist/cjs/services/leave-request.service.d.ts +0 -51
  159. package/dist/cjs/services/leave-request.service.js +0 -106
  160. package/dist/cjs/services/leave-types.service.d.ts +0 -11
  161. package/dist/cjs/services/leave-types.service.js +0 -16
  162. package/dist/cjs/services/leave.service.d.ts +0 -51
  163. package/dist/cjs/services/leave.service.js +0 -102
  164. package/dist/cjs/services/locations.service.d.ts +0 -51
  165. package/dist/cjs/services/locations.service.js +0 -102
  166. package/dist/cjs/services/pins.service.d.ts +0 -18
  167. package/dist/cjs/services/pins.service.js +0 -16
  168. package/dist/cjs/services/roles.service.d.ts +0 -51
  169. package/dist/cjs/services/roles.service.js +0 -102
  170. package/dist/cjs/services/service.d.ts +0 -47
  171. package/dist/cjs/services/service.js +0 -149
  172. package/dist/cjs/services/settings.service.d.ts +0 -12
  173. package/dist/cjs/services/settings.service.js +0 -16
  174. package/dist/cjs/services/shifts.service.d.ts +0 -120
  175. package/dist/cjs/services/shifts.service.js +0 -154
  176. package/dist/cjs/services/terminals-active.service.d.ts +0 -46
  177. package/dist/cjs/services/terminals-active.service.js +0 -97
  178. package/dist/cjs/services/terminals.service.d.ts +0 -50
  179. package/dist/cjs/services/terminals.service.js +0 -102
  180. package/dist/cjs/services/time-zone.service.d.ts +0 -14
  181. package/dist/cjs/services/time-zone.service.js +0 -83
  182. package/dist/cjs/services/toil-accruals.service.d.ts +0 -27
  183. package/dist/cjs/services/toil-accruals.service.js +0 -93
  184. package/dist/cjs/services/toil-allowance.service.d.ts +0 -9
  185. package/dist/cjs/services/toil-allowance.service.js +0 -78
  186. package/dist/cjs/services/users-clock-in.service.d.ts +0 -66
  187. package/dist/cjs/services/users-clock-in.service.js +0 -113
  188. package/dist/cjs/services/users.service.d.ts +0 -51
  189. package/dist/cjs/services/users.service.js +0 -102
  190. package/dist/cjs/version.d.ts +0 -3
  191. package/dist/cjs/version.js +0 -4
  192. package/dist/mjs/interfaces/account-service.interface.d.ts +0 -6
  193. package/dist/mjs/interfaces/account-services.interface.d.ts +0 -6
  194. package/dist/mjs/interfaces/account.interface.d.ts +0 -40
  195. package/dist/mjs/interfaces/attendance.interface.d.ts +0 -31
  196. package/dist/mjs/interfaces/auth.interface.d.ts +0 -8
  197. package/dist/mjs/interfaces/availability-pattern.interface.d.ts +0 -20
  198. package/dist/mjs/interfaces/availability.interface.d.ts +0 -13
  199. package/dist/mjs/interfaces/daily-budgets.interface.d.ts +0 -6
  200. package/dist/mjs/interfaces/daily-revenue.interface.d.ts +0 -7
  201. package/dist/mjs/interfaces/day-note.interface.d.ts +0 -9
  202. package/dist/mjs/interfaces/days-off-pattern.interface.d.ts +0 -13
  203. package/dist/mjs/interfaces/days-off.interface.d.ts +0 -8
  204. package/dist/mjs/interfaces/document.interface.d.ts +0 -36
  205. package/dist/mjs/interfaces/drop-request.interface.d.ts +0 -13
  206. package/dist/mjs/interfaces/group.interface.d.ts +0 -7
  207. package/dist/mjs/interfaces/holiday_allowance.interface.d.ts +0 -11
  208. package/dist/mjs/interfaces/index.d.ts +0 -39
  209. package/dist/mjs/interfaces/leave-date.interface.d.ts +0 -8
  210. package/dist/mjs/interfaces/leave-embargo.interface.d.ts +0 -10
  211. package/dist/mjs/interfaces/leave-rate.interface.d.ts +0 -3
  212. package/dist/mjs/interfaces/leave-type.interface.d.ts +0 -8
  213. package/dist/mjs/interfaces/leave.interface.d.ts +0 -8
  214. package/dist/mjs/interfaces/location-coordinate.interface.d.ts +0 -5
  215. package/dist/mjs/interfaces/location.interface.d.ts +0 -13
  216. package/dist/mjs/interfaces/logbook-category.interface.d.ts +0 -5
  217. package/dist/mjs/interfaces/logbook-event.interface.d.ts +0 -16
  218. package/dist/mjs/interfaces/pay-period.interface.d.ts +0 -16
  219. package/dist/mjs/interfaces/pin.interface.d.ts +0 -3
  220. package/dist/mjs/interfaces/query-params/attendance-query-params.interface.d.ts +0 -9
  221. package/dist/mjs/interfaces/query-params/availability-patterns-query-params.interface.d.ts +0 -5
  222. package/dist/mjs/interfaces/query-params/availability-query-params.interface.d.ts +0 -12
  223. package/dist/mjs/interfaces/query-params/common-shift-times-query-params.interface.d.ts +0 -3
  224. package/dist/mjs/interfaces/query-params/daily-budgets-query-params.interface.d.ts +0 -5
  225. package/dist/mjs/interfaces/query-params/daily-revenue-query-params.interface.d.ts +0 -5
  226. package/dist/mjs/interfaces/query-params/day-notes-query-params.interface.d.ts +0 -5
  227. package/dist/mjs/interfaces/query-params/days-off-patterns-query-params.interface.d.ts +0 -5
  228. package/dist/mjs/interfaces/query-params/days-off-query-params.interface.d.ts +0 -5
  229. package/dist/mjs/interfaces/query-params/documents-query-params.interface.d.ts +0 -4
  230. package/dist/mjs/interfaces/query-params/groups-query-params.interface.d.ts +0 -3
  231. package/dist/mjs/interfaces/query-params/index.d.ts +0 -26
  232. package/dist/mjs/interfaces/query-params/leave-embargoes-query-params.interface.d.ts +0 -5
  233. package/dist/mjs/interfaces/query-params/leave-query-params.interface.d.ts +0 -13
  234. package/dist/mjs/interfaces/query-params/leave-requests-query-params.interface.d.ts +0 -4
  235. package/dist/mjs/interfaces/query-params/locations-query-params.interface.d.ts +0 -7
  236. package/dist/mjs/interfaces/query-params/logbook-events-query-params.interface.d.ts +0 -3
  237. package/dist/mjs/interfaces/query-params/pay-periods-query-params.interface.d.ts +0 -4
  238. package/dist/mjs/interfaces/query-params/roles-query-params.interface.d.ts +0 -5
  239. package/dist/mjs/interfaces/query-params/settings-query-params.interface.d.ts +0 -3
  240. package/dist/mjs/interfaces/query-params/shifts-query-params.interface.d.ts +0 -14
  241. package/dist/mjs/interfaces/query-params/swap-requests-query-params.interface.d.ts +0 -8
  242. package/dist/mjs/interfaces/query-params/terminals-query-params.interface.d.ts +0 -3
  243. package/dist/mjs/interfaces/query-params/toil-accruals-query-params.interface.d.ts +0 -4
  244. package/dist/mjs/interfaces/query-params/unavailability-requests-query-params.interface.d.ts +0 -8
  245. package/dist/mjs/interfaces/query-params/users-query-params.interface.d.ts +0 -24
  246. package/dist/mjs/interfaces/role-rate.interface.d.ts +0 -6
  247. package/dist/mjs/interfaces/role.interface.d.ts +0 -9
  248. package/dist/mjs/interfaces/sdk-config.interface.d.ts +0 -47
  249. package/dist/mjs/interfaces/settings.interface.d.ts +0 -64
  250. package/dist/mjs/interfaces/swap-request.interface.d.ts +0 -16
  251. package/dist/mjs/interfaces/terminal.interface.d.ts +0 -23
  252. package/dist/mjs/interfaces/time-zone.interface.d.ts +0 -7
  253. package/dist/mjs/interfaces/toil-accrual.interface.d.ts +0 -14
  254. package/dist/mjs/interfaces/toil-allowance.interface.d.ts +0 -7
  255. package/dist/mjs/interfaces/user.interface.d.ts +0 -48
  256. package/dist/mjs/interfaces/users-clocked-in.interface.d.ts +0 -14
  257. package/dist/mjs/interfaces/users-clocked-out.interface.d.ts +0 -26
  258. package/dist/mjs/models/SDKError.model.d.ts +0 -11
  259. package/dist/mjs/models/index.d.ts +0 -1
  260. package/dist/mjs/package.json +0 -3
  261. package/dist/mjs/rotacloud.d.ts +0 -47
  262. package/dist/mjs/rotacloud.js +0 -133
  263. package/dist/mjs/services/accounts.service.d.ts +0 -33
  264. package/dist/mjs/services/accounts.service.js +0 -25
  265. package/dist/mjs/services/attendance.service.d.ts +0 -51
  266. package/dist/mjs/services/attendance.service.js +0 -44
  267. package/dist/mjs/services/auth.service.d.ts +0 -10
  268. package/dist/mjs/services/auth.service.js +0 -10
  269. package/dist/mjs/services/availability.service.d.ts +0 -25
  270. package/dist/mjs/services/availability.service.js +0 -35
  271. package/dist/mjs/services/daily-budgets.service.d.ts +0 -27
  272. package/dist/mjs/services/daily-budgets.service.js +0 -29
  273. package/dist/mjs/services/daily-revenue.service.d.ts +0 -27
  274. package/dist/mjs/services/daily-revenue.service.js +0 -29
  275. package/dist/mjs/services/day-notes.service.d.ts +0 -49
  276. package/dist/mjs/services/day-notes.service.js +0 -44
  277. package/dist/mjs/services/days-off.service.d.ts +0 -32
  278. package/dist/mjs/services/days-off.service.js +0 -44
  279. package/dist/mjs/services/documents.service.d.ts +0 -73
  280. package/dist/mjs/services/documents.service.js +0 -67
  281. package/dist/mjs/services/groups.service.d.ts +0 -51
  282. package/dist/mjs/services/groups.service.js +0 -44
  283. package/dist/mjs/services/index.d.ts +0 -25
  284. package/dist/mjs/services/index.js +0 -25
  285. package/dist/mjs/services/leave-embargoes.service.d.ts +0 -51
  286. package/dist/mjs/services/leave-embargoes.service.js +0 -44
  287. package/dist/mjs/services/leave-request.service.d.ts +0 -51
  288. package/dist/mjs/services/leave-request.service.js +0 -48
  289. package/dist/mjs/services/leave-types.service.d.ts +0 -11
  290. package/dist/mjs/services/leave-types.service.js +0 -12
  291. package/dist/mjs/services/leave.service.d.ts +0 -51
  292. package/dist/mjs/services/leave.service.js +0 -44
  293. package/dist/mjs/services/locations.service.d.ts +0 -51
  294. package/dist/mjs/services/locations.service.js +0 -44
  295. package/dist/mjs/services/pins.service.d.ts +0 -18
  296. package/dist/mjs/services/pins.service.js +0 -12
  297. package/dist/mjs/services/roles.service.d.ts +0 -51
  298. package/dist/mjs/services/roles.service.js +0 -44
  299. package/dist/mjs/services/service.d.ts +0 -47
  300. package/dist/mjs/services/service.js +0 -101
  301. package/dist/mjs/services/settings.service.d.ts +0 -12
  302. package/dist/mjs/services/settings.service.js +0 -12
  303. package/dist/mjs/services/shifts.service.d.ts +0 -120
  304. package/dist/mjs/services/shifts.service.js +0 -96
  305. package/dist/mjs/services/terminals-active.service.d.ts +0 -46
  306. package/dist/mjs/services/terminals-active.service.js +0 -39
  307. package/dist/mjs/services/terminals.service.d.ts +0 -50
  308. package/dist/mjs/services/terminals.service.js +0 -44
  309. package/dist/mjs/services/time-zone.service.d.ts +0 -14
  310. package/dist/mjs/services/time-zone.service.js +0 -25
  311. package/dist/mjs/services/toil-accruals.service.d.ts +0 -27
  312. package/dist/mjs/services/toil-accruals.service.js +0 -35
  313. package/dist/mjs/services/toil-allowance.service.d.ts +0 -9
  314. package/dist/mjs/services/toil-allowance.service.js +0 -20
  315. package/dist/mjs/services/users-clock-in.service.d.ts +0 -66
  316. package/dist/mjs/services/users-clock-in.service.js +0 -47
  317. package/dist/mjs/services/users.service.d.ts +0 -51
  318. package/dist/mjs/services/users.service.js +0 -44
  319. package/dist/mjs/version.d.ts +0 -3
  320. package/dist/mjs/version.js +0 -1
  321. package/fixup +0 -12
  322. package/src/rotacloud.ts +0 -207
  323. package/src/services/accounts.service.ts +0 -52
  324. package/src/services/attendance.service.ts +0 -106
  325. package/src/services/auth.service.ts +0 -13
  326. package/src/services/availability.service.ts +0 -58
  327. package/src/services/daily-budgets.service.ts +0 -65
  328. package/src/services/daily-revenue.service.ts +0 -62
  329. package/src/services/day-notes.service.ts +0 -98
  330. package/src/services/days-off.service.ts +0 -85
  331. package/src/services/documents.service.ts +0 -142
  332. package/src/services/groups.service.ts +0 -97
  333. package/src/services/index.ts +0 -25
  334. package/src/services/leave-embargoes.service.ts +0 -106
  335. package/src/services/leave-request.service.ts +0 -113
  336. package/src/services/leave-types.service.ts +0 -16
  337. package/src/services/leave.service.ts +0 -100
  338. package/src/services/locations.service.ts +0 -106
  339. package/src/services/pins.service.ts +0 -21
  340. package/src/services/roles.service.ts +0 -96
  341. package/src/services/service.ts +0 -168
  342. package/src/services/settings.service.ts +0 -19
  343. package/src/services/shifts.service.ts +0 -200
  344. package/src/services/terminals-active.service.ts +0 -85
  345. package/src/services/terminals.service.ts +0 -93
  346. package/src/services/time-zone.service.ts +0 -34
  347. package/src/services/toil-accruals.service.ts +0 -56
  348. package/src/services/toil-allowance.service.ts +0 -23
  349. package/src/services/users-clock-in.service.ts +0 -130
  350. package/src/services/users.service.ts +0 -96
  351. package/src/version.ts +0 -1
  352. package/tsconfig-base.json +0 -98
  353. package/tsconfig-cjs.json +0 -8
  354. package/tsconfig.json +0 -8
  355. /package/dist/{mjs/interfaces/account-service.interface.js → client-builder.test.d.ts} +0 -0
  356. /package/dist/{mjs/interfaces/account-services.interface.js → endpoint.js} +0 -0
  357. /package/dist/{cjs/interfaces → interfaces}/account-service.interface.d.ts +0 -0
  358. /package/dist/{mjs/interfaces/account.interface.js → interfaces/account-service.interface.js} +0 -0
  359. /package/dist/{cjs/interfaces → interfaces}/account-services.interface.d.ts +0 -0
  360. /package/dist/{mjs/interfaces/attendance.interface.js → interfaces/account-services.interface.js} +0 -0
  361. /package/dist/{cjs/interfaces → interfaces}/account.interface.d.ts +0 -0
  362. /package/dist/{mjs/interfaces/auth.interface.js → interfaces/account.interface.js} +0 -0
  363. /package/dist/{cjs/interfaces → interfaces}/attendance.interface.d.ts +0 -0
  364. /package/dist/{mjs/interfaces/availability-pattern.interface.js → interfaces/attendance.interface.js} +0 -0
  365. /package/dist/{cjs/interfaces → interfaces}/auth.interface.d.ts +0 -0
  366. /package/dist/{mjs/interfaces/availability.interface.js → interfaces/auth.interface.js} +0 -0
  367. /package/dist/{cjs/interfaces → interfaces}/availability-pattern.interface.d.ts +0 -0
  368. /package/dist/{mjs/interfaces/daily-budgets.interface.js → interfaces/availability-pattern.interface.js} +0 -0
  369. /package/dist/{cjs/interfaces → interfaces}/availability.interface.d.ts +0 -0
  370. /package/dist/{mjs/interfaces/daily-revenue.interface.js → interfaces/availability.interface.js} +0 -0
  371. /package/dist/{cjs/interfaces → interfaces}/daily-budgets.interface.d.ts +0 -0
  372. /package/dist/{mjs/interfaces/day-note.interface.js → interfaces/daily-budgets.interface.js} +0 -0
  373. /package/dist/{cjs/interfaces → interfaces}/daily-revenue.interface.d.ts +0 -0
  374. /package/dist/{mjs/interfaces/days-off-pattern.interface.js → interfaces/daily-revenue.interface.js} +0 -0
  375. /package/dist/{cjs/interfaces → interfaces}/day-note.interface.d.ts +0 -0
  376. /package/dist/{mjs/interfaces/days-off.interface.js → interfaces/day-note.interface.js} +0 -0
  377. /package/dist/{cjs/interfaces → interfaces}/days-off-pattern.interface.d.ts +0 -0
  378. /package/dist/{mjs/interfaces/document.interface.js → interfaces/days-off-pattern.interface.js} +0 -0
  379. /package/dist/{cjs/interfaces → interfaces}/days-off.interface.d.ts +0 -0
  380. /package/dist/{mjs/interfaces/drop-request.interface.js → interfaces/days-off.interface.js} +0 -0
  381. /package/dist/{cjs/interfaces → interfaces}/document.interface.d.ts +0 -0
  382. /package/dist/{mjs/interfaces/group.interface.js → interfaces/document.interface.js} +0 -0
  383. /package/dist/{cjs/interfaces → interfaces}/drop-request.interface.d.ts +0 -0
  384. /package/dist/{mjs/interfaces/holiday_allowance.interface.js → interfaces/drop-request.interface.js} +0 -0
  385. /package/dist/{cjs/interfaces → interfaces}/group.interface.d.ts +0 -0
  386. /package/dist/{mjs/interfaces/leave-date.interface.js → interfaces/group.interface.js} +0 -0
  387. /package/dist/{cjs/interfaces → interfaces}/holiday_allowance.interface.d.ts +0 -0
  388. /package/dist/{mjs/interfaces/leave-embargo.interface.js → interfaces/holiday_allowance.interface.js} +0 -0
  389. /package/dist/{cjs/interfaces → interfaces}/index.d.ts +0 -0
  390. /package/dist/{mjs/interfaces → interfaces}/index.js +0 -0
  391. /package/dist/{mjs/interfaces/leave-rate.interface.js → interfaces/launch-terminal.interface.js} +0 -0
  392. /package/dist/{cjs/interfaces → interfaces}/leave-date.interface.d.ts +0 -0
  393. /package/dist/{mjs/interfaces/leave-request.interface.js → interfaces/leave-date.interface.js} +0 -0
  394. /package/dist/{cjs/interfaces → interfaces}/leave-embargo.interface.d.ts +0 -0
  395. /package/dist/{mjs/interfaces/leave-type.interface.js → interfaces/leave-embargo.interface.js} +0 -0
  396. /package/dist/{cjs/interfaces → interfaces}/leave-rate.interface.d.ts +0 -0
  397. /package/dist/{mjs/interfaces/leave.interface.js → interfaces/leave-rate.interface.js} +0 -0
  398. /package/dist/{mjs/interfaces/location-coordinate.interface.js → interfaces/leave-request.interface.js} +0 -0
  399. /package/dist/{cjs/interfaces → interfaces}/leave-type.interface.d.ts +0 -0
  400. /package/dist/{mjs/interfaces/location.interface.js → interfaces/leave-type.interface.js} +0 -0
  401. /package/dist/{mjs/interfaces/logbook-category.interface.js → interfaces/leave.interface.js} +0 -0
  402. /package/dist/{cjs/interfaces → interfaces}/location-coordinate.interface.d.ts +0 -0
  403. /package/dist/{mjs/interfaces/logbook-event.interface.js → interfaces/location-coordinate.interface.js} +0 -0
  404. /package/dist/{cjs/interfaces → interfaces}/location.interface.d.ts +0 -0
  405. /package/dist/{mjs/interfaces/pay-period.interface.js → interfaces/location.interface.js} +0 -0
  406. /package/dist/{cjs/interfaces → interfaces}/logbook-category.interface.d.ts +0 -0
  407. /package/dist/{mjs/interfaces/pin.interface.js → interfaces/logbook-category.interface.js} +0 -0
  408. /package/dist/{cjs/interfaces → interfaces}/logbook-event.interface.d.ts +0 -0
  409. /package/dist/{mjs/interfaces/query-params/attendance-query-params.interface.js → interfaces/logbook-event.interface.js} +0 -0
  410. /package/dist/{cjs/interfaces → interfaces}/pay-period.interface.d.ts +0 -0
  411. /package/dist/{mjs/interfaces/query-params/availability-patterns-query-params.interface.js → interfaces/pay-period.interface.js} +0 -0
  412. /package/dist/{cjs/interfaces → interfaces}/pin.interface.d.ts +0 -0
  413. /package/dist/{mjs/interfaces/query-params/availability-query-params.interface.js → interfaces/pin.interface.js} +0 -0
  414. /package/dist/{cjs/interfaces → interfaces}/query-params/attendance-query-params.interface.d.ts +0 -0
  415. /package/dist/{mjs/interfaces/query-params/common-shift-times-query-params.interface.js → interfaces/query-params/attendance-query-params.interface.js} +0 -0
  416. /package/dist/{cjs/interfaces → interfaces}/query-params/availability-patterns-query-params.interface.d.ts +0 -0
  417. /package/dist/{mjs/interfaces/query-params/daily-budgets-query-params.interface.js → interfaces/query-params/availability-patterns-query-params.interface.js} +0 -0
  418. /package/dist/{cjs/interfaces → interfaces}/query-params/availability-query-params.interface.d.ts +0 -0
  419. /package/dist/{mjs/interfaces/query-params/daily-revenue-query-params.interface.js → interfaces/query-params/availability-query-params.interface.js} +0 -0
  420. /package/dist/{cjs/interfaces → interfaces}/query-params/common-shift-times-query-params.interface.d.ts +0 -0
  421. /package/dist/{mjs/interfaces/query-params/day-notes-query-params.interface.js → interfaces/query-params/common-shift-times-query-params.interface.js} +0 -0
  422. /package/dist/{cjs/interfaces → interfaces}/query-params/daily-budgets-query-params.interface.d.ts +0 -0
  423. /package/dist/{mjs/interfaces/query-params/days-off-patterns-query-params.interface.js → interfaces/query-params/daily-budgets-query-params.interface.js} +0 -0
  424. /package/dist/{cjs/interfaces → interfaces}/query-params/daily-revenue-query-params.interface.d.ts +0 -0
  425. /package/dist/{mjs/interfaces/query-params/days-off-query-params.interface.js → interfaces/query-params/daily-revenue-query-params.interface.js} +0 -0
  426. /package/dist/{cjs/interfaces → interfaces}/query-params/day-notes-query-params.interface.d.ts +0 -0
  427. /package/dist/{mjs/interfaces/query-params/documents-query-params.interface.js → interfaces/query-params/day-notes-query-params.interface.js} +0 -0
  428. /package/dist/{cjs/interfaces → interfaces}/query-params/days-off-patterns-query-params.interface.d.ts +0 -0
  429. /package/dist/{mjs/interfaces/query-params/groups-query-params.interface.js → interfaces/query-params/days-off-patterns-query-params.interface.js} +0 -0
  430. /package/dist/{cjs/interfaces → interfaces}/query-params/days-off-query-params.interface.d.ts +0 -0
  431. /package/dist/{mjs/interfaces/query-params/leave-embargoes-query-params.interface.js → interfaces/query-params/days-off-query-params.interface.js} +0 -0
  432. /package/dist/{cjs/interfaces → interfaces}/query-params/documents-query-params.interface.d.ts +0 -0
  433. /package/dist/{mjs/interfaces/query-params/leave-query-params.interface.js → interfaces/query-params/documents-query-params.interface.js} +0 -0
  434. /package/dist/{cjs/interfaces → interfaces}/query-params/groups-query-params.interface.d.ts +0 -0
  435. /package/dist/{mjs/interfaces/query-params/leave-requests-query-params.interface.js → interfaces/query-params/groups-query-params.interface.js} +0 -0
  436. /package/dist/{cjs/interfaces → interfaces}/query-params/index.d.ts +0 -0
  437. /package/dist/{mjs/interfaces → interfaces}/query-params/index.js +0 -0
  438. /package/dist/{cjs/interfaces → interfaces}/query-params/leave-embargoes-query-params.interface.d.ts +0 -0
  439. /package/dist/{mjs/interfaces/query-params/locations-query-params.interface.js → interfaces/query-params/leave-embargoes-query-params.interface.js} +0 -0
  440. /package/dist/{cjs/interfaces → interfaces}/query-params/leave-query-params.interface.d.ts +0 -0
  441. /package/dist/{mjs/interfaces/query-params/logbook-events-query-params.interface.js → interfaces/query-params/leave-query-params.interface.js} +0 -0
  442. /package/dist/{cjs/interfaces → interfaces}/query-params/leave-requests-query-params.interface.d.ts +0 -0
  443. /package/dist/{mjs/interfaces/query-params/pay-periods-query-params.interface.js → interfaces/query-params/leave-requests-query-params.interface.js} +0 -0
  444. /package/dist/{cjs/interfaces → interfaces}/query-params/locations-query-params.interface.d.ts +0 -0
  445. /package/dist/{mjs/interfaces/query-params/roles-query-params.interface.js → interfaces/query-params/locations-query-params.interface.js} +0 -0
  446. /package/dist/{cjs/interfaces → interfaces}/query-params/logbook-events-query-params.interface.d.ts +0 -0
  447. /package/dist/{mjs/interfaces/query-params/settings-query-params.interface.js → interfaces/query-params/logbook-events-query-params.interface.js} +0 -0
  448. /package/dist/{cjs/interfaces → interfaces}/query-params/pay-periods-query-params.interface.d.ts +0 -0
  449. /package/dist/{mjs/interfaces/query-params/shifts-query-params.interface.js → interfaces/query-params/pay-periods-query-params.interface.js} +0 -0
  450. /package/dist/{cjs/interfaces → interfaces}/query-params/roles-query-params.interface.d.ts +0 -0
  451. /package/dist/{mjs/interfaces/query-params/swap-requests-query-params.interface.js → interfaces/query-params/roles-query-params.interface.js} +0 -0
  452. /package/dist/{cjs/interfaces → interfaces}/query-params/settings-query-params.interface.d.ts +0 -0
  453. /package/dist/{mjs/interfaces/query-params/terminals-query-params.interface.js → interfaces/query-params/settings-query-params.interface.js} +0 -0
  454. /package/dist/{cjs/interfaces → interfaces}/query-params/shifts-query-params.interface.d.ts +0 -0
  455. /package/dist/{mjs/interfaces/query-params/toil-accruals-query-params.interface.js → interfaces/query-params/shifts-query-params.interface.js} +0 -0
  456. /package/dist/{cjs/interfaces → interfaces}/query-params/swap-requests-query-params.interface.d.ts +0 -0
  457. /package/dist/{mjs/interfaces/query-params/toil-allowance-query-params.interface.js → interfaces/query-params/swap-requests-query-params.interface.js} +0 -0
  458. /package/dist/{cjs/interfaces → interfaces}/query-params/terminals-query-params.interface.d.ts +0 -0
  459. /package/dist/{mjs/interfaces/query-params/unavailability-requests-query-params.interface.js → interfaces/query-params/terminals-query-params.interface.js} +0 -0
  460. /package/dist/{cjs/interfaces → interfaces}/query-params/toil-accruals-query-params.interface.d.ts +0 -0
  461. /package/dist/{mjs/interfaces/query-params/users-query-params.interface.js → interfaces/query-params/toil-accruals-query-params.interface.js} +0 -0
  462. /package/dist/{mjs/interfaces/role-rate.interface.js → interfaces/query-params/toil-allowance-query-params.interface.js} +0 -0
  463. /package/dist/{cjs/interfaces → interfaces}/query-params/unavailability-requests-query-params.interface.d.ts +0 -0
  464. /package/dist/{mjs/interfaces/role.interface.js → interfaces/query-params/unavailability-requests-query-params.interface.js} +0 -0
  465. /package/dist/{cjs/interfaces → interfaces}/query-params/users-query-params.interface.d.ts +0 -0
  466. /package/dist/{mjs/interfaces/settings.interface.js → interfaces/query-params/users-query-params.interface.js} +0 -0
  467. /package/dist/{cjs/interfaces → interfaces}/role-rate.interface.d.ts +0 -0
  468. /package/dist/{mjs/interfaces/shift.interface.js → interfaces/role-rate.interface.js} +0 -0
  469. /package/dist/{cjs/interfaces → interfaces}/role.interface.d.ts +0 -0
  470. /package/dist/{mjs/interfaces/swap-request.interface.js → interfaces/role.interface.js} +0 -0
  471. /package/dist/{mjs/interfaces → interfaces}/sdk-config.interface.js +0 -0
  472. /package/dist/{cjs/interfaces → interfaces}/settings.interface.d.ts +0 -0
  473. /package/dist/{mjs/interfaces/terminal.interface.js → interfaces/settings.interface.js} +0 -0
  474. /package/dist/{mjs/interfaces/time-zone.interface.js → interfaces/shift.interface.js} +0 -0
  475. /package/dist/{cjs/interfaces → interfaces}/swap-request.interface.d.ts +0 -0
  476. /package/dist/{mjs/interfaces/toil-accrual.interface.js → interfaces/swap-request.interface.js} +0 -0
  477. /package/dist/{cjs/interfaces → interfaces}/terminal.interface.d.ts +0 -0
  478. /package/dist/{mjs/interfaces/toil-allowance.interface.js → interfaces/terminal.interface.js} +0 -0
  479. /package/dist/{cjs/interfaces → interfaces}/time-zone.interface.d.ts +0 -0
  480. /package/dist/{mjs/interfaces/user.interface.js → interfaces/time-zone.interface.js} +0 -0
  481. /package/dist/{cjs/interfaces → interfaces}/toil-accrual.interface.d.ts +0 -0
  482. /package/dist/{mjs/interfaces/users-clocked-in.interface.js → interfaces/toil-accrual.interface.js} +0 -0
  483. /package/dist/{cjs/interfaces → interfaces}/toil-allowance.interface.d.ts +0 -0
  484. /package/dist/{mjs/interfaces/users-clocked-out.interface.js → interfaces/toil-allowance.interface.js} +0 -0
  485. /package/dist/{cjs/interfaces → interfaces}/users-clocked-in.interface.d.ts +0 -0
  486. /package/dist/{cjs/interfaces → interfaces}/users-clocked-out.interface.d.ts +0 -0
  487. /package/dist/{cjs/models → models}/index.d.ts +0 -0
  488. /package/dist/{mjs/models → models}/index.js +0 -0
@@ -1,12 +0,0 @@
1
- import { Service } from './index.js';
2
- export class PinsService extends Service {
3
- constructor() {
4
- super(...arguments);
5
- this.apiPath = '/pins';
6
- }
7
- get(id, options) {
8
- return super
9
- .fetch({ url: `${this.apiPath}/${id}` }, options)
10
- .then((res) => (options?.rawResponse ? res : res.data));
11
- }
12
- }
@@ -1,51 +0,0 @@
1
- import { AxiosResponse } from 'axios';
2
- import { Role } from '../interfaces/index.js';
3
- import { Service, Options, RequirementsOf, OptionsExtended } from './index.js';
4
- import { RolesQueryParams } from '../interfaces/query-params/roles-query-params.interface.js';
5
- type RequiredProps = 'name';
6
- export declare class RolesService extends Service<Role> {
7
- private apiPath;
8
- create(data: RequirementsOf<Role, RequiredProps>): Promise<Role>;
9
- create(data: RequirementsOf<Role, RequiredProps>, options: {
10
- rawResponse: true;
11
- } & Options): Promise<AxiosResponse<Role, any>>;
12
- create(data: RequirementsOf<Role, RequiredProps>, options: Options): Promise<Role>;
13
- get(id: number): Promise<Role>;
14
- get<F extends keyof Role>(id: number, options: {
15
- fields: F[];
16
- rawResponse: true;
17
- } & OptionsExtended<Role>): Promise<AxiosResponse<Pick<Role, F>>>;
18
- get<F extends keyof Role>(id: number, options: {
19
- fields: F[];
20
- } & OptionsExtended<Role>): Promise<Pick<Role, F>>;
21
- get(id: number, options: {
22
- rawResponse: true;
23
- } & Options): Promise<AxiosResponse<Role>>;
24
- get(id: number, options?: OptionsExtended<Role>): Promise<Role>;
25
- list(query?: RolesQueryParams): AsyncGenerator<Role>;
26
- list<F extends keyof Role>(query: RolesQueryParams, options: {
27
- fields: F[];
28
- } & OptionsExtended<Role>): AsyncGenerator<Pick<Role, F>>;
29
- list(query?: RolesQueryParams, options?: OptionsExtended<Role>): AsyncGenerator<Role>;
30
- listAll(query?: RolesQueryParams): Promise<Role[]>;
31
- listAll<F extends keyof Role>(query: RolesQueryParams, options: {
32
- fields: F[];
33
- } & OptionsExtended<Role>): Promise<Pick<Role, F>[]>;
34
- listAll(query?: RolesQueryParams, options?: OptionsExtended<Role>): Promise<Role[]>;
35
- listByPage(query?: RolesQueryParams): AsyncGenerator<AxiosResponse<Role[]>>;
36
- listByPage<F extends keyof Role>(query: RolesQueryParams, options: {
37
- fields: F[];
38
- } & OptionsExtended<Role>): AsyncGenerator<AxiosResponse<Pick<Role, F>[]>>;
39
- listByPage(query?: RolesQueryParams, options?: OptionsExtended<Role>): AsyncGenerator<AxiosResponse<Role[]>>;
40
- update(id: number, data: Partial<Role>): Promise<Role>;
41
- update(id: number, data: Partial<Role>, options: {
42
- rawResponse: true;
43
- } & Options): Promise<AxiosResponse<Role, any>>;
44
- update(id: number, data: Partial<Role>, options: Options): Promise<Role>;
45
- delete(id: number): Promise<number>;
46
- delete(id: number, options: {
47
- rawResponse: true;
48
- } & Options): Promise<AxiosResponse<void>>;
49
- delete(id: number, options: Options): Promise<number>;
50
- }
51
- export {};
@@ -1,44 +0,0 @@
1
- import { Service } from './index.js';
2
- export class RolesService extends Service {
3
- constructor() {
4
- super(...arguments);
5
- this.apiPath = '/roles';
6
- }
7
- create(data, options) {
8
- return super
9
- .fetch({ url: this.apiPath, data, method: 'POST' }, options)
10
- .then((res) => (options?.rawResponse ? res : res.data));
11
- }
12
- get(id, options) {
13
- return super
14
- .fetch({ url: `${this.apiPath}/${id}` }, options)
15
- .then((res) => (options?.rawResponse ? res : res.data));
16
- }
17
- async *list(query, options) {
18
- yield* super.iterator({ url: this.apiPath, params: query }, options);
19
- }
20
- async listAll(query, options) {
21
- const roles = [];
22
- for await (const role of this.list(query, options)) {
23
- roles.push(role);
24
- }
25
- return roles;
26
- }
27
- listByPage(query, options) {
28
- return super.iterator({ url: this.apiPath, params: query }, options).byPage();
29
- }
30
- update(id, data, options) {
31
- return super
32
- .fetch({
33
- url: `${this.apiPath}/${id}`,
34
- data,
35
- method: 'POST',
36
- }, options)
37
- .then((res) => (options?.rawResponse ? res : res.data));
38
- }
39
- delete(id, options) {
40
- return super
41
- .fetch({ url: `${this.apiPath}/${id}`, method: 'DELETE' }, options)
42
- .then((res) => (options?.rawResponse ? res : res.status));
43
- }
44
- }
@@ -1,47 +0,0 @@
1
- import { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
2
- import { SDKConfig } from '../interfaces';
3
- export type RequirementsOf<T, K extends keyof T> = Required<Pick<T, K>> & Partial<T>;
4
- export type Options = {
5
- rawResponse?: boolean;
6
- maxResults?: number;
7
- limit?: never;
8
- offset?: number;
9
- dryRun?: boolean;
10
- } | {
11
- rawResponse?: boolean;
12
- maxResults?: never;
13
- /** @deprecated use `maxResults` instead */
14
- limit?: number;
15
- offset?: number;
16
- dryRun?: boolean;
17
- };
18
- export type OptionsExtended<T = unknown> = Options & {
19
- fields?: (keyof T)[];
20
- };
21
- export declare abstract class Service<ApiResponse = any> {
22
- protected client: AxiosInstance;
23
- protected readonly options: {
24
- config: SDKConfig;
25
- };
26
- constructor(client: AxiosInstance, options: {
27
- config: SDKConfig;
28
- });
29
- private isLeaveRequest;
30
- private buildQueryParams;
31
- fetch<T = ApiResponse>(reqConfig: AxiosRequestConfig): Promise<AxiosResponse<T>>;
32
- fetch<T = ApiResponse>(reqConfig: AxiosRequestConfig, options: {
33
- fields: Required<OptionsExtended<T>>['fields'];
34
- } & OptionsExtended<T>): Promise<AxiosResponse<Pick<T, (typeof options)['fields'][number]>>>;
35
- fetch<T extends unknown[] = ApiResponse[], E = T[number]>(reqConfig: AxiosRequestConfig, options: {
36
- fields: Required<OptionsExtended<E>>['fields'];
37
- } & OptionsExtended<E>): Promise<AxiosResponse<Pick<E, (typeof options)['fields'][number]>[]>>;
38
- fetch<T extends unknown[] = ApiResponse[]>(reqConfig: AxiosRequestConfig, options?: Options): Promise<AxiosResponse<T>>;
39
- fetch<T = ApiResponse>(reqConfig: AxiosRequestConfig, options?: Options): Promise<AxiosResponse<T | Partial<T>>>;
40
- /** Iterates through every page for a potentially paginated request */
41
- private fetchPages;
42
- private listResponses;
43
- iterator<T = ApiResponse>(reqConfig: AxiosRequestConfig<T[]>, options?: Options): {
44
- [Symbol.asyncIterator]: () => AsyncGenerator<Awaited<T>, void, undefined>;
45
- byPage: () => AsyncGenerator<AxiosResponse<T[], any>, any, unknown>;
46
- };
47
- }
@@ -1,101 +0,0 @@
1
- import { Version } from '../version.js';
2
- export class Service {
3
- constructor(client,
4
- // opt to use options object here, so we could
5
- // define the config property as a getter
6
- // in RotaCloud class. With this change config in
7
- // this class will always be up-to-date with
8
- // RotaCloud client config
9
- options) {
10
- this.client = client;
11
- this.options = options;
12
- }
13
- isLeaveRequest(endpoint) {
14
- return endpoint === '/leave_requests';
15
- }
16
- buildQueryParams(options, extraParams) {
17
- const queryParams = {
18
- fields: options?.fields,
19
- limit: options?.maxResults ?? options?.limit,
20
- offset: options?.offset,
21
- dry_run: options?.dryRun,
22
- ...extraParams,
23
- // NOTE: Should not overridable so must come after spread of params
24
- exclude_link_header: true,
25
- };
26
- const reducedParams = Object.entries(queryParams ?? {}).reduce((params, [key, val]) => {
27
- if (val !== undefined && val !== '') {
28
- if (Array.isArray(val))
29
- params.push(...val.map((item) => [`${key}[]`, String(item)]));
30
- else
31
- params.push([key, String(val)]);
32
- }
33
- return params;
34
- }, []);
35
- return new URLSearchParams(reducedParams);
36
- }
37
- fetch(reqConfig, options) {
38
- const headers = {
39
- Authorization: this.options.config.apiKey
40
- ? `Bearer ${this.options.config.apiKey}`
41
- : `Basic ${this.options.config.basicAuth}`,
42
- 'SDK-Version': Version.version,
43
- };
44
- const extraHeaders = this.options.config.headers;
45
- if (extraHeaders && typeof extraHeaders === 'object') {
46
- for (const [key, val] of Object.entries(extraHeaders)) {
47
- if (typeof key === 'string' && typeof val === 'string') {
48
- headers[key] = val;
49
- }
50
- }
51
- }
52
- if (this.options.config.accountId) {
53
- headers.Account = String(this.options.config.accountId);
54
- }
55
- else {
56
- // need to convert user field in payload to a header for creating leave_requests when using an API key
57
- this.isLeaveRequest(reqConfig.url) ? (headers.User = `${reqConfig.data.user}`) : undefined;
58
- }
59
- const finalReqConfig = {
60
- ...reqConfig,
61
- baseURL: this.options.config.baseUri,
62
- headers,
63
- params: this.buildQueryParams(options, reqConfig.params),
64
- };
65
- return this.client.request(finalReqConfig);
66
- }
67
- async *fetchPages(reqConfig, options) {
68
- const fallbackLimit = 20;
69
- const res = await this.fetch(reqConfig, options);
70
- yield res;
71
- const limit = Number(res.headers['x-limit']) || fallbackLimit;
72
- const entityCount = Number(res.headers['x-total-count']) || 0;
73
- const requestOffset = Number(res.headers['x-offset']) || 0;
74
- for (let offset = requestOffset + limit; offset < entityCount; offset += limit) {
75
- yield this.fetch(reqConfig, { ...options, offset });
76
- }
77
- }
78
- async *listResponses(reqConfig, options) {
79
- if (!options?.maxResults) {
80
- for await (const res of this.fetchPages(reqConfig, options)) {
81
- yield* res.data;
82
- }
83
- return;
84
- }
85
- let entityCount = 0;
86
- for await (const res of this.fetchPages(reqConfig, options)) {
87
- for (const entity of res.data) {
88
- yield entity;
89
- entityCount += 1;
90
- if (entityCount >= options.maxResults)
91
- return;
92
- }
93
- }
94
- }
95
- iterator(reqConfig, options) {
96
- return {
97
- [Symbol.asyncIterator]: () => this.listResponses(reqConfig, options),
98
- byPage: () => this.fetchPages(reqConfig, options),
99
- };
100
- }
101
- }
@@ -1,12 +0,0 @@
1
- import { AxiosResponse } from 'axios';
2
- import { Service, Options } from './index.js';
3
- import { Settings } from '../interfaces/index.js';
4
- import { SettingsQueryParams } from '../rotacloud.js';
5
- export declare class SettingsService extends Service<Settings> {
6
- private apiPath;
7
- get(query: SettingsQueryParams): Promise<Settings>;
8
- get(query: SettingsQueryParams, options: {
9
- rawResponse: true;
10
- } & Options): Promise<AxiosResponse<Settings, any>>;
11
- get(query: SettingsQueryParams, options: Options): Promise<Settings>;
12
- }
@@ -1,12 +0,0 @@
1
- import { Service } from './index.js';
2
- export class SettingsService extends Service {
3
- constructor() {
4
- super(...arguments);
5
- this.apiPath = '/settings';
6
- }
7
- get(query, options) {
8
- return super
9
- .fetch({ url: `${this.apiPath}`, params: query }, options)
10
- .then((res) => (options?.rawResponse ? res : res.data));
11
- }
12
- }
@@ -1,120 +0,0 @@
1
- import { AxiosResponse } from 'axios';
2
- import { Shift } from '../interfaces/index.js';
3
- import { Options, OptionsExtended, RequirementsOf, Service } from './index.js';
4
- import { ShiftDropRequest } from '../interfaces/drop-request.interface.js';
5
- import { ShiftsQueryParams } from '../interfaces/query-params/shifts-query-params.interface.js';
6
- import { ShiftSwapRequest } from '../interfaces/swap-request.interface.js';
7
- type RequiredProps = 'end_time' | 'start_time' | 'location';
8
- export declare class ShiftsService extends Service<Shift> {
9
- private apiPath;
10
- create(data: RequirementsOf<Shift, RequiredProps>): Promise<Shift>;
11
- create(data: RequirementsOf<Shift, RequiredProps>, options: {
12
- rawResponse: true;
13
- } & Options): Promise<AxiosResponse<Shift, any>>;
14
- create(data: RequirementsOf<Shift, RequiredProps>, options: Options): Promise<Shift>;
15
- get(id: number): Promise<Shift>;
16
- get<F extends keyof Shift>(id: number, options: {
17
- fields: F[];
18
- rawResponse: true;
19
- } & OptionsExtended<Shift>): Promise<AxiosResponse<Pick<Shift, F>>>;
20
- get<F extends keyof Shift>(id: number, options: {
21
- fields: F[];
22
- } & OptionsExtended<Shift>): Promise<Pick<Shift, F>>;
23
- get(id: number, options: {
24
- rawResponse: true;
25
- } & Options): Promise<AxiosResponse<Shift>>;
26
- get(id: number, options?: OptionsExtended<Shift>): Promise<Shift>;
27
- list(query: ShiftsQueryParams): AsyncGenerator<Shift>;
28
- list<F extends keyof Shift>(query: ShiftsQueryParams, options: {
29
- fields: F[];
30
- } & OptionsExtended<Shift>): AsyncGenerator<Pick<Shift, F>>;
31
- list(query: ShiftsQueryParams, options?: OptionsExtended<Shift>): AsyncGenerator<Shift>;
32
- listAll(query: ShiftsQueryParams): Promise<Shift[]>;
33
- listAll<F extends keyof Shift>(query: ShiftsQueryParams, options: {
34
- fields: F[];
35
- } & OptionsExtended<Shift>): Promise<Pick<Shift, F>[]>;
36
- listAll(query: ShiftsQueryParams, options?: OptionsExtended<Shift>): Promise<Shift[]>;
37
- listByPage(query: ShiftsQueryParams): AsyncGenerator<AxiosResponse<Shift[]>>;
38
- listByPage<F extends keyof Shift>(query: ShiftsQueryParams, options: {
39
- fields: F[];
40
- } & OptionsExtended<Shift>): AsyncGenerator<AxiosResponse<Pick<Shift, F>[]>>;
41
- listByPage(query: ShiftsQueryParams, options?: OptionsExtended<Shift>): AsyncGenerator<AxiosResponse<Shift[]>>;
42
- update(shift: RequirementsOf<Shift, 'id'>): Promise<Shift>;
43
- update(shift: RequirementsOf<Shift, 'id'>, options: {
44
- rawResponse: true;
45
- } & Options): Promise<AxiosResponse<Shift>>;
46
- update(shift: RequirementsOf<Shift, 'id'>, options: Options): Promise<Shift>;
47
- update(shifts: RequirementsOf<Shift, 'id'>[]): Promise<{
48
- success: Shift[];
49
- failed: {
50
- id: number;
51
- error: string;
52
- }[];
53
- }>;
54
- update(shifts: RequirementsOf<Shift, 'id'>[], options: {
55
- rawResponse: true;
56
- } & Options): Promise<AxiosResponse<{
57
- code: number;
58
- data?: Shift;
59
- error?: string;
60
- }[]>>;
61
- update(shifts: RequirementsOf<Shift, 'id'>[], options: Options): Promise<{
62
- success: Shift[];
63
- failed: {
64
- id: number;
65
- error: string;
66
- }[];
67
- }>;
68
- delete(ids: number | number[]): Promise<number>;
69
- delete(ids: number | number[], options: {
70
- rawResponse: true;
71
- } & Options): Promise<AxiosResponse<void>>;
72
- delete(ids: number | number[], options: Options): Promise<number>;
73
- acknowledge(shifts: number[]): Promise<number>;
74
- acknowledge(shifts: number[], options: {
75
- rawResponse: true;
76
- } & Options): Promise<AxiosResponse<any>>;
77
- acknowledge(shifts: number[], options: Options): Promise<number>;
78
- publish(data: {
79
- shifts: number[];
80
- }): Promise<number>;
81
- publish(data: {
82
- shifts: number[];
83
- }, options: {
84
- rawResponse: true;
85
- } & Options): Promise<AxiosResponse<any>>;
86
- publish(data: {
87
- shifts: number[];
88
- }, options: Options): Promise<number>;
89
- unpublish(data: {
90
- shifts: number[];
91
- }): Promise<number>;
92
- unpublish(data: {
93
- shifts: number[];
94
- }, options: {
95
- rawResponse: true;
96
- } & Options): Promise<AxiosResponse<any>>;
97
- unpublish(data: {
98
- shifts: number[];
99
- }, options: Options): Promise<number>;
100
- updateSwap(data: ShiftSwapRequest): Promise<ShiftSwapRequest>;
101
- updateSwap(data: ShiftSwapRequest, options: {
102
- rawResponse: true;
103
- } & Options): Promise<AxiosResponse<ShiftSwapRequest>>;
104
- updateSwap(data: ShiftSwapRequest, options: Options): Promise<ShiftSwapRequest>;
105
- updateDrop(data: {
106
- request: RequirementsOf<ShiftDropRequest, 'id' | 'user_message'>;
107
- approved: boolean;
108
- }): Promise<ShiftDropRequest>;
109
- updateDrop(data: {
110
- request: RequirementsOf<ShiftDropRequest, 'id' | 'user_message'>;
111
- approved: boolean;
112
- }, options: {
113
- rawResponse: true;
114
- } & Options): Promise<AxiosResponse<ShiftDropRequest>>;
115
- updateDrop(data: {
116
- request: RequirementsOf<ShiftDropRequest, 'id' | 'user_message'>;
117
- approved: boolean;
118
- }, options: Options): Promise<ShiftDropRequest>;
119
- }
120
- export {};
@@ -1,96 +0,0 @@
1
- import { Service } from './index.js';
2
- export class ShiftsService extends Service {
3
- constructor() {
4
- super(...arguments);
5
- this.apiPath = '/shifts';
6
- }
7
- create(data, options) {
8
- return super
9
- .fetch({ url: this.apiPath, data, method: 'POST' }, options)
10
- .then((res) => (options?.rawResponse ? res : res.data));
11
- }
12
- get(id, options) {
13
- return super
14
- .fetch({ url: `${this.apiPath}/${id}` }, options)
15
- .then((res) => (options?.rawResponse ? res : res.data));
16
- }
17
- async *list(query, options) {
18
- yield* super.iterator({ url: this.apiPath, params: query }, options);
19
- }
20
- async listAll(query, options) {
21
- const shifts = [];
22
- for await (const shift of this.list(query, options)) {
23
- shifts.push(shift);
24
- }
25
- return shifts;
26
- }
27
- listByPage(query, options) {
28
- return super.iterator({ url: this.apiPath, params: query }, options).byPage();
29
- }
30
- update(shifts, options) {
31
- if (!Array.isArray(shifts)) {
32
- return super
33
- .fetch({
34
- url: `${this.apiPath}/${shifts.id}`,
35
- data: shifts,
36
- method: 'POST',
37
- }, options)
38
- .then((res) => (options?.rawResponse ? res : res.data));
39
- }
40
- return super
41
- .fetch({
42
- url: this.apiPath,
43
- data: shifts,
44
- method: 'POST',
45
- }, options)
46
- .then((res) => {
47
- if (options?.rawResponse)
48
- return res;
49
- const success = [];
50
- const failed = [];
51
- for (let shiftIdx = 0; shiftIdx < res.data.length; shiftIdx += 1) {
52
- const { data, error } = res.data[shiftIdx];
53
- if (data)
54
- success.push(data);
55
- if (error)
56
- failed.push({ id: shifts[shiftIdx].id, error });
57
- }
58
- return { success, failed };
59
- });
60
- }
61
- delete(ids, options) {
62
- const params = Array.isArray(ids)
63
- ? { url: this.apiPath, data: { ids }, method: 'DELETE' }
64
- : { url: `${this.apiPath}/${ids}`, method: 'DELETE' };
65
- return super.fetch(params, options).then((res) => (options?.rawResponse ? res : res.status));
66
- }
67
- acknowledge(shifts, options) {
68
- return super
69
- .fetch({ url: '/shifts_acknowledged', data: { shifts }, method: 'POST' }, options)
70
- .then((res) => (options?.rawResponse ? res : res.status));
71
- }
72
- publish(data, options) {
73
- return super
74
- .fetch({ url: '/shifts_published', data, method: 'POST' }, options)
75
- .then((res) => (options?.rawResponse ? res : res.status));
76
- }
77
- unpublish(data, options) {
78
- return super
79
- .fetch({ url: '/shifts_published', data, method: 'DELETE' }, options)
80
- .then((res) => (options?.rawResponse ? res : res.status));
81
- }
82
- updateSwap(data, options) {
83
- return super
84
- .fetch({ url: `/swap_requests/${data.id}`, data, method: 'POST' }, options)
85
- .then((res) => (options?.rawResponse ? res : res.data));
86
- }
87
- updateDrop(data, options) {
88
- return super
89
- .fetch({
90
- url: `/unavailability_requests/${data.request.id}/${data.approved ? 'approve' : 'deny'}`,
91
- data: { message: data.request.user_message },
92
- method: 'POST',
93
- }, options)
94
- .then((res) => (options?.rawResponse ? res : res.data));
95
- }
96
- }
@@ -1,46 +0,0 @@
1
- import { AxiosResponse } from 'axios';
2
- import { Terminal, TerminalLocation } from '../interfaces/index.js';
3
- import { Service, Options, OptionsExtended } from './index.js';
4
- interface LaunchTerminal {
5
- terminal: number;
6
- device: string;
7
- location?: TerminalLocation;
8
- }
9
- interface PingTerminal {
10
- action: string;
11
- device: string;
12
- }
13
- export declare class TerminalsActiveService extends Service<Terminal> {
14
- private apiPath;
15
- launchTerminal(data: LaunchTerminal): Promise<Terminal>;
16
- launchTerminal(data: LaunchTerminal, options: {
17
- rawResponse: true;
18
- } & Options): Promise<AxiosResponse<Terminal>>;
19
- launchTerminal(data: LaunchTerminal, options: Options): Promise<Terminal>;
20
- pingTerminal(id: number, data: PingTerminal): Promise<number>;
21
- pingTerminal(id: number, data: PingTerminal, options: {
22
- rawResponse: true;
23
- } & Options): Promise<AxiosResponse<number>>;
24
- pingTerminal(id: number, data: PingTerminal, options: Options): Promise<number>;
25
- list(): AsyncGenerator<Terminal>;
26
- list<F extends keyof Terminal>(options: {
27
- fields: F[];
28
- } & OptionsExtended<Terminal>): AsyncGenerator<Pick<Terminal, F>>;
29
- list(options?: OptionsExtended<Terminal>): AsyncGenerator<Terminal>;
30
- listAll(): Promise<Terminal[]>;
31
- listAll<F extends keyof Terminal>(options: {
32
- fields: F[];
33
- } & OptionsExtended<Terminal>): Promise<Pick<Terminal, F>[]>;
34
- listAll(options?: OptionsExtended<Terminal>): Promise<Terminal[]>;
35
- listByPage(): AsyncGenerator<AxiosResponse<Terminal[]>>;
36
- listByPage<F extends keyof Terminal>(options: {
37
- fields: F[];
38
- } & OptionsExtended<Terminal>): AsyncGenerator<AxiosResponse<Pick<Terminal, F>[]>>;
39
- listByPage(options?: OptionsExtended<Terminal>): AsyncGenerator<AxiosResponse<Terminal[]>>;
40
- closeTerminal(id: number): Promise<number>;
41
- closeTerminal(id: number, options: {
42
- rawResponse: true;
43
- } & Options): Promise<AxiosResponse<void>>;
44
- closeTerminal(id: number, options: Options): Promise<number>;
45
- }
46
- export {};
@@ -1,39 +0,0 @@
1
- import { Service } from './index.js';
2
- export class TerminalsActiveService extends Service {
3
- constructor() {
4
- super(...arguments);
5
- this.apiPath = '/terminals_active';
6
- }
7
- launchTerminal(data, options) {
8
- return super
9
- .fetch({
10
- url: this.apiPath,
11
- data,
12
- method: 'POST',
13
- }, options)
14
- .then((res) => (options?.rawResponse ? res : res.data));
15
- }
16
- pingTerminal(id, data, options) {
17
- return super
18
- .fetch({ url: `${this.apiPath}/${id}`, data, method: 'POST' }, options)
19
- .then((res) => (options?.rawResponse ? res : res.data));
20
- }
21
- async *list(options) {
22
- yield* super.iterator({ url: this.apiPath }, options);
23
- }
24
- async listAll(options) {
25
- const users = [];
26
- for await (const user of this.list(options)) {
27
- users.push(user);
28
- }
29
- return users;
30
- }
31
- listByPage(options) {
32
- return super.iterator({ url: this.apiPath }, options).byPage();
33
- }
34
- closeTerminal(id, options) {
35
- return super
36
- .fetch({ url: `${this.apiPath}/${id}`, method: 'DELETE' }, options)
37
- .then((res) => (options?.rawResponse ? res : res.status));
38
- }
39
- }
@@ -1,50 +0,0 @@
1
- import { AxiosResponse } from 'axios';
2
- import { Terminal } from '../interfaces/index.js';
3
- import { Service, Options, RequirementsOf, OptionsExtended } from './index.js';
4
- type RequiredProps = 'name' | 'timezone';
5
- export declare class TerminalsService extends Service<Terminal> {
6
- private apiPath;
7
- create(data: RequirementsOf<Terminal, RequiredProps>): Promise<Terminal>;
8
- create(data: RequirementsOf<Terminal, RequiredProps>, options: {
9
- rawResponse: true;
10
- } & Options): Promise<AxiosResponse<Terminal, any>>;
11
- create(data: RequirementsOf<Terminal, RequiredProps>, options: Options): Promise<Terminal>;
12
- get(id: number): Promise<Terminal>;
13
- get<F extends keyof Terminal>(id: number, options: {
14
- fields: F[];
15
- rawResponse: true;
16
- } & OptionsExtended<Terminal>): Promise<AxiosResponse<Pick<Terminal, F>>>;
17
- get<F extends keyof Terminal>(id: number, options: {
18
- fields: F[];
19
- } & OptionsExtended<Terminal>): Promise<Pick<Terminal, F>>;
20
- get(id: number, options: {
21
- rawResponse: true;
22
- } & Options): Promise<AxiosResponse<Terminal>>;
23
- get(id: number, options?: OptionsExtended<Terminal>): Promise<Terminal>;
24
- update(id: number, data: Partial<Terminal>): Promise<Terminal>;
25
- update(id: number, data: Partial<Terminal>, options: {
26
- rawResponse: true;
27
- } & Options): Promise<AxiosResponse<Terminal, any>>;
28
- update(id: number, data: Partial<Terminal>, options: Options): Promise<Terminal>;
29
- closeTerminal(id: number): Promise<number>;
30
- closeTerminal(id: number, options: {
31
- rawResponse: true;
32
- } & Options): Promise<AxiosResponse<void>>;
33
- closeTerminal(id: number, options: Options): Promise<number>;
34
- list(): AsyncGenerator<Terminal>;
35
- list<F extends keyof Terminal>(options: {
36
- fields: F[];
37
- } & OptionsExtended<Terminal>): AsyncGenerator<Pick<Terminal, F>>;
38
- list(options?: OptionsExtended<Terminal>): AsyncGenerator<Terminal>;
39
- listAll(): Promise<Terminal[]>;
40
- listAll<F extends keyof Terminal>(options: {
41
- fields: F[];
42
- } & OptionsExtended<Terminal>): Promise<Pick<Terminal, F>[]>;
43
- listAll(options?: OptionsExtended<Terminal>): Promise<Terminal[]>;
44
- listByPage(): AsyncGenerator<AxiosResponse<Terminal[]>>;
45
- listByPage<F extends keyof Terminal>(options: {
46
- fields: F[];
47
- } & OptionsExtended<Terminal>): AsyncGenerator<AxiosResponse<Pick<Terminal, F>[]>>;
48
- listByPage(options?: OptionsExtended<Terminal>): AsyncGenerator<AxiosResponse<Terminal[]>>;
49
- }
50
- export {};