rotacloud 1.5.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +5 -4
  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 +16 -4
  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 -47
  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
package/dist/main.d.ts ADDED
@@ -0,0 +1,203 @@
1
+ export * from './interfaces/index.js';
2
+ export * from './interfaces/query-params/index.js';
3
+ export * from './models/index.js';
4
+ export declare const createRotaCloudClient: (config: import("./interfaces/sdk-config.interface.js").SDKConfig) => import("./client-builder.js").SdkClient<{
5
+ account: {
6
+ endpoint: "accounts";
7
+ endpointVersion: "v1";
8
+ operations: ("get" | "list" | "listAll")[];
9
+ };
10
+ attendance: {
11
+ endpoint: "attendance";
12
+ endpointVersion: "v1";
13
+ operations: ("get" | "delete" | "list" | "listAll" | "create" | "update")[];
14
+ };
15
+ auth: {
16
+ endpoint: "auth";
17
+ endpointVersion: "v1";
18
+ operations: never[];
19
+ customOperations: {
20
+ get: ({ request, service }: import("./ops.js").OperationContext) => import("./ops.js").RequestConfig<void, import("./interfaces/auth.interface.js").Auth>;
21
+ };
22
+ };
23
+ availability: {
24
+ endpoint: "availability";
25
+ endpointVersion: "v1";
26
+ operations: ("delete" | "list" | "listAll" | "create" | "update")[];
27
+ customOperations: {
28
+ update: ({ request, service }: import("./ops.js").OperationContext, entity: import("./interfaces/availability.interface.js").Availability) => import("./ops.js").RequestConfig<typeof entity, import("./interfaces/availability.interface.js").Availability>;
29
+ delete: ({ request, service }: import("./ops.js").OperationContext, entity: {
30
+ user: number;
31
+ dates: string[];
32
+ }) => import("./ops.js").RequestConfig<import("./interfaces/availability.interface.js").Availability, import("./interfaces/availability.interface.js").Availability>;
33
+ };
34
+ };
35
+ dailyBudget: {
36
+ endpoint: "daily_budgets";
37
+ endpointVersion: "v1";
38
+ operations: ("list" | "listAll" | "updateBatch")[];
39
+ customOperations: {
40
+ updateBatch: ({ request, service }: import("./ops.js").OperationContext, entities: import("./interfaces/daily-budgets.interface.js").DailyBudgets[]) => import("./ops.js").RequestConfig<typeof entities, void>;
41
+ };
42
+ };
43
+ dailyRevenue: {
44
+ endpoint: "daily_revenue";
45
+ endpointVersion: "v1";
46
+ operations: ("list" | "listAll" | "updateBatch")[];
47
+ customOperations: {
48
+ updateBatch: ({ request, service }: import("./ops.js").OperationContext, entities: import("./interfaces/daily-revenue.interface.js").DailyRevenue[]) => import("./ops.js").RequestConfig<typeof entities, void>;
49
+ };
50
+ };
51
+ dayNote: {
52
+ endpoint: "day_notes";
53
+ endpointVersion: "v1";
54
+ operations: ("get" | "delete" | "list" | "listAll" | "create" | "update")[];
55
+ };
56
+ dayOff: {
57
+ endpoint: "days_off";
58
+ endpointVersion: "v1";
59
+ operations: ("delete" | "list" | "listAll" | "create")[];
60
+ };
61
+ document: {
62
+ endpoint: "documents";
63
+ endpointVersion: "v1";
64
+ operations: ("get" | "delete" | "list" | "listAll" | "create" | "update")[];
65
+ };
66
+ group: {
67
+ endpoint: "groups";
68
+ endpointVersion: "v1";
69
+ operations: ("get" | "delete" | "list" | "listAll" | "create" | "update")[];
70
+ };
71
+ leaveEmbargo: {
72
+ endpoint: "leave_embargoes";
73
+ endpointVersion: "v1";
74
+ operations: ("get" | "delete" | "list" | "listAll" | "create" | "update")[];
75
+ };
76
+ leaveRequest: {
77
+ endpoint: "leave_requests";
78
+ endpointVersion: "v1";
79
+ operations: ("get" | "delete" | "list" | "listAll" | "create" | "update")[];
80
+ };
81
+ leave: {
82
+ endpoint: "leave";
83
+ endpointVersion: "v1";
84
+ operations: ("get" | "delete" | "list" | "listAll" | "create" | "update")[];
85
+ customOperations: {
86
+ create: ({ request, service, sdkConfig }: import("./ops.js").OperationContext, entity: import("./endpoint.js").EndpointEntityMap["v1"]["leave"]["createType"], opts?: import("./utils.js").RequestOptions<import("./interfaces/leave.interface.js").Leave>) => import("./ops.js").RequestConfig<typeof entity, import("./interfaces/leave.interface.js").Leave[]>;
87
+ types: ({ request }: import("./ops.js").OperationContext) => import("./ops.js").RequestConfig<void, import("./interfaces/leave-type.interface.js").LeaveType[]>;
88
+ };
89
+ };
90
+ location: {
91
+ endpoint: "locations";
92
+ endpointVersion: "v1";
93
+ operations: ("get" | "delete" | "list" | "listAll" | "create" | "update")[];
94
+ };
95
+ pin: {
96
+ endpoint: "pins";
97
+ endpointVersion: "v1";
98
+ operations: "get"[];
99
+ };
100
+ role: {
101
+ endpoint: "roles";
102
+ endpointVersion: "v1";
103
+ operations: ("get" | "delete" | "list" | "listAll")[];
104
+ };
105
+ settings: {
106
+ endpoint: "settings";
107
+ endpointVersion: "v1";
108
+ operations: ("list" | "listAll")[];
109
+ };
110
+ shift: {
111
+ endpoint: "shifts";
112
+ endpointVersion: "v1";
113
+ operations: ("get" | "delete" | "list" | "listAll" | "deleteBatch" | "create" | "update" | "updateBatch")[];
114
+ customOperations: {
115
+ acknowledge: ({ request }: import("./ops.js").OperationContext, shiftIds: number[]) => import("./ops.js").RequestConfig<{
116
+ shifts: number[];
117
+ }, void>;
118
+ history: ({ request, service }: import("./ops.js").OperationContext, id: number) => import("./ops.js").RequestConfig<void, import("./interfaces/shift.interface.js").ShiftHistoryRecord[]>;
119
+ publish: ({ request }: import("./ops.js").OperationContext, shiftIds: number[]) => import("./ops.js").RequestConfig<{
120
+ shifts: number[];
121
+ }, void>;
122
+ unpublish: ({ request }: import("./ops.js").OperationContext, shiftIds: number[]) => import("./ops.js").RequestConfig<{
123
+ shifts: number[];
124
+ }, void>;
125
+ updateSwap: ({ request }: import("./ops.js").OperationContext, swapRequest: import("./utils.js").RequirementsOf<import("./interfaces/swap-request.interface.js").ShiftSwapRequest, "id">) => import("./ops.js").RequestConfig<{
126
+ admin_approved: boolean;
127
+ } | {
128
+ user_approved: boolean;
129
+ }, import("./interfaces/swap-request.interface.js").ShiftSwapRequest>;
130
+ updateDrop: ({ request }: import("./ops.js").OperationContext, dropRequest: {
131
+ request: import("./utils.js").RequirementsOf<import("./interfaces/drop-request.interface.js").ShiftDropRequest, "id" | "user_message">;
132
+ approved: boolean;
133
+ }) => import("./ops.js").RequestConfig<{
134
+ message: string;
135
+ }, import("./interfaces/drop-request.interface.js").ShiftDropRequest>;
136
+ };
137
+ };
138
+ terminal: {
139
+ endpoint: "terminals";
140
+ endpointVersion: "v1";
141
+ operations: ("get" | "list" | "listAll" | "create" | "update")[];
142
+ customOperations: {
143
+ close: ({ request, service }: import("./ops.js").OperationContext, id: number) => import("./ops.js").RequestConfig<void, void>;
144
+ };
145
+ };
146
+ terminalActive: {
147
+ endpoint: "terminals";
148
+ endpointVersion: "v1";
149
+ operations: ("list" | "listAll")[];
150
+ customOperations: {
151
+ launch: ({ request, service }: import("./ops.js").OperationContext, id: import("./interfaces/launch-terminal.interface.js").LaunchTerminal) => import("./ops.js").RequestConfig<void, import("./interfaces/terminal.interface.js").Terminal>;
152
+ ping: ({ request, service }: import("./ops.js").OperationContext, id: {
153
+ id: number;
154
+ action: string;
155
+ device: string;
156
+ }) => import("./ops.js").RequestConfig<void, void>;
157
+ close: ({ request, service }: import("./ops.js").OperationContext, id: number) => import("./ops.js").RequestConfig<void, void>;
158
+ };
159
+ };
160
+ timeZone: {
161
+ endpoint: "timezones";
162
+ endpointVersion: "v1";
163
+ operations: ("get" | "list" | "listAll")[];
164
+ };
165
+ toilAccrual: {
166
+ endpoint: "toil_accruals";
167
+ endpointVersion: "v1";
168
+ operations: ("get" | "delete" | "list" | "listAll" | "listByPage" | "create")[];
169
+ };
170
+ toilAllowance: {
171
+ endpoint: "toil_allowance";
172
+ endpointVersion: "v1";
173
+ operations: ("list" | "listAll")[];
174
+ customOperations: {
175
+ list: (ctx: import("./ops.js").OperationContext, query: import("./interfaces/query-params/toil-allowance-query-params.interface.js").ToilAllowanceQueryParams, opts: import("./utils.js").RequestOptions<unknown> | undefined) => AsyncGenerator<import("./interfaces/toil-allowance.interface.js").ToilAllowance, any, any>;
176
+ listAll: (ctx: import("./ops.js").OperationContext, query: import("./interfaces/query-params/toil-allowance-query-params.interface.js").ToilAllowanceQueryParams, opts: import("./utils.js").RequestOptions<unknown> | undefined) => Promise<import("./interfaces/toil-allowance.interface.js").ToilAllowance[]>;
177
+ };
178
+ };
179
+ userClockIn: {
180
+ endpoint: "users_clocked_in";
181
+ endpointVersion: "v1";
182
+ operations: ("get" | "list" | "listAll")[];
183
+ customOperations: {
184
+ clockIn: ({ request, service }: import("./ops.js").OperationContext, entity: {
185
+ id: number;
186
+ } & import("./utils.js").RequirementsOf<import("./interfaces/user-clock-in.interface.js").UserClockIn, "method">) => import("./ops.js").RequestConfig<typeof entity, import("./interfaces/users-clocked-in.interface.js").UserClockedIn>;
187
+ clockOut: ({ request, service }: import("./ops.js").OperationContext, entity: {
188
+ id: number;
189
+ } & import("./utils.js").RequirementsOf<import("./interfaces/user-clock-in.interface.js").UserClockOut, "method">) => import("./ops.js").RequestConfig<typeof entity, import("./interfaces/users-clocked-out.interface.js").UserClockedOut>;
190
+ startBreak: ({ request, service }: import("./ops.js").OperationContext, entity: {
191
+ id: number;
192
+ } & import("./utils.js").RequirementsOf<import("./interfaces/user-clock-in.interface.js").UserBreakRequest, "method" | "action">) => import("./ops.js").RequestConfig<typeof entity, import("./interfaces/user.interface.js").UserBreak>;
193
+ endBreak: ({ request, service }: import("./ops.js").OperationContext, entity: {
194
+ id: number;
195
+ } & import("./utils.js").RequirementsOf<import("./interfaces/user-clock-in.interface.js").UserBreakRequest, "method" | "action">) => import("./ops.js").RequestConfig<typeof entity, import("./interfaces/user.interface.js").UserBreak>;
196
+ };
197
+ };
198
+ user: {
199
+ endpoint: "users";
200
+ endpointVersion: "v1";
201
+ operations: ("get" | "delete" | "list" | "listAll" | "create" | "update")[];
202
+ };
203
+ }>;
package/dist/main.js ADDED
@@ -0,0 +1,6 @@
1
+ import { createSdkClient } from './client-builder.js';
2
+ import { SERVICES } from './service.js';
3
+ export * from './interfaces/index.js';
4
+ export * from './interfaces/query-params/index.js';
5
+ export * from './models/index.js';
6
+ export const createRotaCloudClient = createSdkClient(SERVICES);
@@ -0,0 +1,15 @@
1
+ export declare class SDKError extends Error {
2
+ name: string;
3
+ /** HTTP status code of the error */
4
+ readonly code?: number;
5
+ /** Data returned by the API in the event of an error */
6
+ readonly data?: unknown;
7
+ /** URL that triggered the error */
8
+ readonly url?: string;
9
+ constructor(errorConfig: {
10
+ message?: string;
11
+ code?: number;
12
+ data?: unknown;
13
+ url?: string;
14
+ });
15
+ }
@@ -1,10 +1,17 @@
1
1
  export class SDKError extends Error {
2
+ name = 'SDKError';
3
+ /** HTTP status code of the error */
4
+ code;
5
+ /** Data returned by the API in the event of an error */
6
+ data;
7
+ /** URL that triggered the error */
8
+ url;
2
9
  constructor(errorConfig) {
3
10
  super(errorConfig.message);
4
- this.name = 'SDKError';
5
- Error.captureStackTrace?.(this, SDKError);
6
11
  // optional chaining needed as is v8 specific https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#static_methods
7
- this.data = errorConfig.data;
12
+ Error.captureStackTrace?.(this, SDKError);
8
13
  this.code = errorConfig.code;
14
+ this.url = errorConfig.url;
15
+ this.data = errorConfig.data;
9
16
  }
10
17
  }
package/dist/ops.d.ts ADDED
@@ -0,0 +1,195 @@
1
+ import { Axios, AxiosRequestConfig, AxiosResponse } from 'axios';
2
+ import { ServiceSpecification } from './service.js';
3
+ import { RequestOptions, QueryParameterValue, RequirementsOf } from './utils.js';
4
+ import { Endpoint } from './endpoint.js';
5
+ import { SDKConfig } from './main.js';
6
+ /** Supported common operations */
7
+ export type Operation = 'get' | 'list' | 'listAll' | 'listByPage' | 'delete' | 'deleteBatch' | 'create' | 'update' | 'updateBatch';
8
+ /** Context provided to all operations */
9
+ export type OperationContext = {
10
+ client: Readonly<Axios>;
11
+ request: Readonly<AxiosRequestConfig>;
12
+ service: Readonly<ServiceSpecification>;
13
+ sdkConfig: Readonly<SDKConfig>;
14
+ };
15
+ /** Defines the mapping between the data sent for a given request (e.g with
16
+ * "POST" method) and the return type expected back
17
+ *
18
+ * NOTE: This is not type safe on purpose. There is no way to guarantee that a
19
+ * given HTTP call will return a specific type in TS alone
20
+ */
21
+ export type RequestConfig<RequestData, ResponseData> = AxiosRequestConfig<RequestData>;
22
+ /** Function to define an {@see OpFunction}
23
+ *
24
+ * This is intended as a convenient way of defining {@see OpFunction}s that can then be
25
+ * "built" ready for the end user to call ({@see buildOp})
26
+ * */
27
+ export type OpDef<T, Param = any, Opts extends Partial<RequestOptions<any>> = RequestOptions<unknown>, Return = T> = ((ctx: OperationContext, param: Param, opts?: Opts) => RequestConfig<T, Return>) | ((ctx: OperationContext, param: Param, opts?: Opts) => AsyncIterable<T>) | ((ctx: OperationContext, param: Param, opts?: Opts) => Promise<T>);
28
+ /** Operation function type to be called by the end user of the SDK.
29
+ *
30
+ * All methods on services follow this typing
31
+ * */
32
+ export type OpFunction<R = any, Param = undefined, Opts = RequestOptions<unknown>> = R extends AsyncIterable<infer U> | Promise<Iterable<infer U>> ? Param extends undefined ? {
33
+ (query?: Param): R;
34
+ <F extends keyof U>(query: Param, options: {
35
+ fields: F[];
36
+ } & RequestOptions<U>): R extends AsyncIterable<U> ? Promise<AsyncIterable<Pick<U, F>>> : R extends Promise<Array<U>> ? Promise<Array<Pick<U, F>>> : Promise<Iterable<Pick<U, F>>>;
37
+ (query: Param, options?: Opts): R;
38
+ } : Partial<Param> extends Param ? {
39
+ (query?: Param): R;
40
+ <F extends keyof U>(query: Param, options: {
41
+ fields: F[];
42
+ } & RequestOptions<U>): R extends AsyncIterable<U> ? Promise<AsyncIterable<Pick<U, F>>> : R extends Promise<Array<U>> ? Promise<Array<Pick<U, F>>> : Promise<Iterable<Pick<U, F>>>;
43
+ (query?: Param, options?: Opts): R;
44
+ } : {
45
+ (query: Param): R;
46
+ <F extends keyof U>(query: Param, options: {
47
+ fields: F[];
48
+ } & RequestOptions<U>): R extends AsyncIterable<U> ? Promise<AsyncIterable<Pick<U, F>>> : R extends Promise<Array<U>> ? Promise<Array<Pick<U, F>>> : Promise<Iterable<Pick<U, F>>>;
49
+ (query: Param, Options?: Opts): R;
50
+ } : Param extends number ? {
51
+ (id: Param): R;
52
+ <F extends keyof Awaited<R>>(id: Param, options: {
53
+ fields: F[];
54
+ rawResponse: true;
55
+ } & RequestOptions<Awaited<R>>): Promise<AxiosResponse<Pick<Awaited<R>, F>>>;
56
+ <F extends keyof Awaited<R>>(id: Param, options: {
57
+ fields: F[];
58
+ } & RequestOptions<Awaited<R>>): Promise<Pick<Awaited<R>, F>>;
59
+ (id: Param, options?: {
60
+ rawResponse: true;
61
+ } & RequestOptions<Awaited<R>>): Promise<AxiosResponse<Awaited<R>>>;
62
+ (id: Param, options?: RequestOptions<Awaited<R>>): R;
63
+ } : Param extends undefined ? {
64
+ (entity?: Param): R;
65
+ <F extends keyof Awaited<R>>(entity: Param, options: {
66
+ fields: F[];
67
+ rawResponse: true;
68
+ } & RequestOptions<Awaited<R>>): Promise<AxiosResponse<Pick<Awaited<R>, F>>>;
69
+ <F extends keyof Awaited<R>>(entity: Param, options: {
70
+ fields: F[];
71
+ } & RequestOptions<Awaited<R>>): Promise<Pick<Awaited<R>, F>>;
72
+ (entity?: Param, options?: {
73
+ rawResponse: true;
74
+ } & RequestOptions<Awaited<R>>): Promise<AxiosResponse<Awaited<R>>>;
75
+ (entity?: Param, options?: RequestOptions<Awaited<R>>): R;
76
+ } : {
77
+ (entity: Param): R;
78
+ <F extends keyof Awaited<R>>(entity: Param, options: {
79
+ fields: F[];
80
+ rawResponse: true;
81
+ } & RequestOptions<Awaited<R>>): Promise<AxiosResponse<Pick<Awaited<R>, F>>>;
82
+ <F extends keyof Awaited<R>>(entity: Param, options: {
83
+ fields: F[];
84
+ } & RequestOptions<Awaited<R>>): Promise<Pick<Awaited<R>, F>>;
85
+ (entity: Param, options?: {
86
+ rawResponse: true;
87
+ } & RequestOptions<Awaited<R>>): Promise<AxiosResponse<Awaited<R>>>;
88
+ (entity: Param, options?: RequestOptions<Awaited<R>>): R;
89
+ };
90
+ /** Wrapper type for expressing the response returned by a v2 list op supported endpoint */
91
+ interface PagedResponse<T> {
92
+ /** List of entities in a page */
93
+ data: T[];
94
+ /** Metadata about the current page */
95
+ pagination: {
96
+ /**
97
+ * The "cursor" for the next page where `null` means there is no next page
98
+ *
99
+ * Used as a value to the query parameter `cursor` in a supported endpoint
100
+ */
101
+ next: string | null;
102
+ /** Total count of entities matching the list query */
103
+ count: number;
104
+ };
105
+ }
106
+ /** Utility for creating a query params map needed by most API requests */
107
+ export declare function paramsFromOptions<T>(opts: RequestOptions<T>): Record<string, QueryParameterValue>;
108
+ /** Operation for deleting an entity */
109
+ declare function deleteOp(ctx: OperationContext, id: number): RequestConfig<unknown, void>;
110
+ /** Operation for deleting a list of entities */
111
+ declare function deleteBatchOp(ctx: OperationContext, ids: number[]): RequestConfig<unknown, void>;
112
+ /** Operation for listing all entities on a v1 endpoint for a given query by
113
+ * automatically handling pagination as and when needed
114
+ */
115
+ export declare function listOp<T, Query>(ctx: OperationContext, query: Query, opts?: RequestOptions<T[]> & {
116
+ offset?: number;
117
+ }): AsyncGenerator<T>;
118
+ /** Operation for listing all entities on a v2 endpoint for a given query by
119
+ * automatically handling pagination as and when needed
120
+ */
121
+ export declare function listV2Op<T, Query>(ctx: OperationContext, query: Query, opts?: RequestOptions<T[]>): AsyncGenerator<T>;
122
+ /** Operation for listing all entities on a v1 endpoint for a given query as an array */
123
+ export declare function listAllOp<T, Query>(ctx: OperationContext, query: Query, opts?: RequestOptions<T[]> & {
124
+ offset?: number;
125
+ }): Promise<T[]>;
126
+ /** Operation for listing all entities on a v2 endpoint for a given query as an array */
127
+ export declare function listAllV2Op<T, Query>(ctx: OperationContext, query: Query, opts?: RequestOptions<T[]>): Promise<T[]>;
128
+ /** Builds an {@see Op} definition into an {@see OpFunction} ready to be called
129
+ * by the end user
130
+ *
131
+ * This will map typings and parameters defined on an {@see Op} into a more
132
+ * convenient and type safe format for use by the end user
133
+ */
134
+ export declare function buildOp<F extends OpDef<any>, Param = Parameters<F>[1], Opts = Parameters<F>[2], Return = ReturnType<F> extends RequestConfig<infer _, infer T> ? Promise<T> : ReturnType<F>>(ctx: OperationContext, opFunc: F): OpFunction<Return, Param, Opts>;
135
+ /** Function to return type safe mapping between a given endpoint; endpoint
136
+ * version and a common "op"
137
+ *
138
+ * NOTE: This is a function rather than a constant so that type generics work as
139
+ * intended. It's currently not possible to define a constant with generics
140
+ */
141
+ export declare function getOpMap<E extends Endpoint<any, any>, T extends E['type'] = E['type']>(): {
142
+ v1: {
143
+ get: (ctx: OperationContext, id: number) => RequestConfig<unknown, T>;
144
+ delete: typeof deleteOp;
145
+ deleteBatch: typeof deleteBatchOp;
146
+ list: (ctx: OperationContext, query: E["queryParameters"], opts?: (RequestOptions<T[]> & {
147
+ offset?: number;
148
+ }) | undefined) => AsyncGenerator<T, any, any>;
149
+ listAll: (ctx: OperationContext, query: E["queryParameters"], opts?: (RequestOptions<T[]> & {
150
+ offset?: number;
151
+ }) | undefined) => Promise<T[]>;
152
+ listByPage: (ctx: OperationContext, query: E["queryParameters"], opts?: (RequestOptions<T[]> & {
153
+ offset?: number;
154
+ }) | undefined) => AsyncGenerator<AxiosResponse<T[], any>, any, any>;
155
+ create: (ctx: OperationContext, newEntity: E["createType"]) => RequestConfig<E["createType"], T>;
156
+ update: (ctx: OperationContext, entity: T extends {
157
+ id: number;
158
+ } ? RequirementsOf<T, "id"> : never) => RequestConfig<T extends {
159
+ id: number;
160
+ } ? RequirementsOf<T, "id"> : never, T>;
161
+ updateBatch: (ctx: OperationContext, entities: (T extends {
162
+ id: number;
163
+ } ? RequirementsOf<T, "id"> : never)[]) => Promise<{
164
+ success: T[];
165
+ failed: {
166
+ id: number;
167
+ error: string;
168
+ }[];
169
+ }>;
170
+ };
171
+ v2: {
172
+ get: (ctx: OperationContext, id: number) => RequestConfig<unknown, T>;
173
+ delete: typeof deleteOp;
174
+ deleteBatch: typeof deleteBatchOp;
175
+ list: (ctx: OperationContext, query: E["queryParameters"], opts?: RequestOptions<T[]> | undefined) => AsyncGenerator<T, any, any>;
176
+ listAll: (ctx: OperationContext, query: E["queryParameters"], opts?: RequestOptions<T[]> | undefined) => Promise<T[]>;
177
+ listByPage: (ctx: OperationContext, query: E["queryParameters"], opts?: RequestOptions<T[]> | undefined) => AsyncGenerator<AxiosResponse<PagedResponse<T>, any>, any, any>;
178
+ create: (ctx: OperationContext, newEntity: E["createType"]) => RequestConfig<E["createType"], T>;
179
+ update: (ctx: OperationContext, entity: T extends {
180
+ id: number;
181
+ } ? RequirementsOf<T, "id"> : never) => RequestConfig<T extends {
182
+ id: number;
183
+ } ? RequirementsOf<T, "id"> : never, T>;
184
+ updateBatch: (ctx: OperationContext, entities: (T extends {
185
+ id: number;
186
+ } ? RequirementsOf<T, "id"> : never)[]) => Promise<{
187
+ success: T[];
188
+ failed: {
189
+ id: number;
190
+ error: string;
191
+ }[];
192
+ }>;
193
+ };
194
+ };
195
+ export {};