@greensecurity/javascript-sdk 0.44.0-beta.56 → 0.44.0-beta.58

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 (332) hide show
  1. package/README.md +19 -1
  2. package/dist/commonjs/__tests__/reports.test.d.ts +2 -0
  3. package/dist/commonjs/__tests__/reports.test.d.ts.map +1 -0
  4. package/dist/commonjs/__tests__/reports.test.js +53 -0
  5. package/dist/commonjs/__tests__/reports.test.js.map +1 -0
  6. package/dist/commonjs/__tests__/smartBadgeGetPsks.test.d.ts +2 -0
  7. package/dist/commonjs/__tests__/smartBadgeGetPsks.test.d.ts.map +1 -0
  8. package/dist/commonjs/__tests__/smartBadgeGetPsks.test.js +60 -0
  9. package/dist/commonjs/__tests__/smartBadgeGetPsks.test.js.map +1 -0
  10. package/dist/commonjs/__tests__/smartBadgeReportVerifiedPsk.test.d.ts +2 -0
  11. package/dist/commonjs/__tests__/smartBadgeReportVerifiedPsk.test.d.ts.map +1 -0
  12. package/dist/commonjs/__tests__/smartBadgeReportVerifiedPsk.test.js +46 -0
  13. package/dist/commonjs/__tests__/smartBadgeReportVerifiedPsk.test.js.map +1 -0
  14. package/dist/commonjs/__tests__/vendors.test.js +1 -1
  15. package/dist/commonjs/__tests__/vendorscans.test.js +44 -0
  16. package/dist/commonjs/__tests__/vendorscans.test.js.map +1 -1
  17. package/dist/commonjs/__tests__/webhooks.test.js +1 -1
  18. package/dist/commonjs/__tests__/webhooks.test.js.map +1 -1
  19. package/dist/commonjs/__tests__/zones.test.js +12 -15
  20. package/dist/commonjs/__tests__/zones.test.js.map +1 -1
  21. package/dist/commonjs/admin-funcs/smartBadgeGetPsks.d.ts +3 -0
  22. package/dist/commonjs/admin-funcs/smartBadgeGetPsks.d.ts.map +1 -0
  23. package/dist/commonjs/admin-funcs/smartBadgeGetPsks.js +23 -0
  24. package/dist/commonjs/admin-funcs/smartBadgeGetPsks.js.map +1 -0
  25. package/dist/commonjs/admin-funcs/smartBadgeMacAddress.d.ts +2 -0
  26. package/dist/commonjs/admin-funcs/smartBadgeMacAddress.d.ts.map +1 -0
  27. package/dist/commonjs/admin-funcs/smartBadgeMacAddress.js +25 -0
  28. package/dist/commonjs/admin-funcs/smartBadgeMacAddress.js.map +1 -0
  29. package/dist/commonjs/admin-funcs/smartBadgeReportVerifiedPsk.d.ts +6 -0
  30. package/dist/commonjs/admin-funcs/smartBadgeReportVerifiedPsk.d.ts.map +1 -0
  31. package/dist/commonjs/admin-funcs/smartBadgeReportVerifiedPsk.js +18 -0
  32. package/dist/commonjs/admin-funcs/smartBadgeReportVerifiedPsk.js.map +1 -0
  33. package/dist/commonjs/funcs/reportsGetFullReport.d.ts +43 -0
  34. package/dist/commonjs/funcs/reportsGetFullReport.d.ts.map +1 -0
  35. package/dist/commonjs/funcs/reportsGetFullReport.js +148 -0
  36. package/dist/commonjs/funcs/reportsGetFullReport.js.map +1 -0
  37. package/dist/commonjs/funcs/reportsInitiateScheduledReport.d.ts +37 -0
  38. package/dist/commonjs/funcs/reportsInitiateScheduledReport.d.ts.map +1 -0
  39. package/dist/commonjs/funcs/reportsInitiateScheduledReport.js +139 -0
  40. package/dist/commonjs/funcs/reportsInitiateScheduledReport.js.map +1 -0
  41. package/dist/commonjs/funcs/vendorScansVendorScanGpsCheckoutConfig.d.ts +18 -0
  42. package/dist/commonjs/funcs/vendorScansVendorScanGpsCheckoutConfig.d.ts.map +1 -0
  43. package/dist/commonjs/funcs/vendorScansVendorScanGpsCheckoutConfig.js +124 -0
  44. package/dist/commonjs/funcs/vendorScansVendorScanGpsCheckoutConfig.js.map +1 -0
  45. package/dist/commonjs/funcs/vendorScansVendorScanGpsScanOut.d.ts +20 -0
  46. package/dist/commonjs/funcs/vendorScansVendorScanGpsScanOut.d.ts.map +1 -0
  47. package/dist/commonjs/funcs/vendorScansVendorScanGpsScanOut.js +126 -0
  48. package/dist/commonjs/funcs/vendorScansVendorScanGpsScanOut.js.map +1 -0
  49. package/dist/commonjs/funcs/vendorsUpdateVendorDetails.d.ts +14 -1
  50. package/dist/commonjs/funcs/vendorsUpdateVendorDetails.d.ts.map +1 -1
  51. package/dist/commonjs/funcs/vendorsUpdateVendorDetails.js +14 -1
  52. package/dist/commonjs/funcs/vendorsUpdateVendorDetails.js.map +1 -1
  53. package/dist/commonjs/index.extras.d.ts +4 -0
  54. package/dist/commonjs/index.extras.d.ts.map +1 -1
  55. package/dist/commonjs/index.extras.js +5 -1
  56. package/dist/commonjs/index.extras.js.map +1 -1
  57. package/dist/commonjs/lib/config.d.ts +3 -3
  58. package/dist/commonjs/lib/config.js +3 -3
  59. package/dist/commonjs/models/components/facility.d.ts +10 -0
  60. package/dist/commonjs/models/components/facility.d.ts.map +1 -1
  61. package/dist/commonjs/models/components/facility.js +8 -0
  62. package/dist/commonjs/models/components/facility.js.map +1 -1
  63. package/dist/commonjs/models/components/zone.d.ts +7 -0
  64. package/dist/commonjs/models/components/zone.d.ts.map +1 -1
  65. package/dist/commonjs/models/components/zone.js +8 -0
  66. package/dist/commonjs/models/components/zone.js.map +1 -1
  67. package/dist/commonjs/models/errors/apivalidationerrorresponse.d.ts +38 -0
  68. package/dist/commonjs/models/errors/apivalidationerrorresponse.d.ts.map +1 -0
  69. package/dist/commonjs/models/errors/apivalidationerrorresponse.js +78 -0
  70. package/dist/commonjs/models/errors/apivalidationerrorresponse.js.map +1 -0
  71. package/dist/commonjs/models/errors/index.d.ts +2 -0
  72. package/dist/commonjs/models/errors/index.d.ts.map +1 -1
  73. package/dist/commonjs/models/errors/index.js +2 -0
  74. package/dist/commonjs/models/errors/index.js.map +1 -1
  75. package/dist/commonjs/models/errors/unprocessableentityorvalidationerror.d.ts +13 -0
  76. package/dist/commonjs/models/errors/unprocessableentityorvalidationerror.d.ts.map +1 -0
  77. package/dist/commonjs/models/errors/unprocessableentityorvalidationerror.js +20 -0
  78. package/dist/commonjs/models/errors/unprocessableentityorvalidationerror.js.map +1 -0
  79. package/dist/commonjs/models/operations/getfullreport.d.ts +73 -0
  80. package/dist/commonjs/models/operations/getfullreport.d.ts.map +1 -0
  81. package/dist/commonjs/models/operations/getfullreport.js +107 -0
  82. package/dist/commonjs/models/operations/getfullreport.js.map +1 -0
  83. package/dist/commonjs/models/operations/index.d.ts +4 -0
  84. package/dist/commonjs/models/operations/index.d.ts.map +1 -1
  85. package/dist/commonjs/models/operations/index.js +4 -0
  86. package/dist/commonjs/models/operations/index.js.map +1 -1
  87. package/dist/commonjs/models/operations/initiatescheduledreport.d.ts +30 -0
  88. package/dist/commonjs/models/operations/initiatescheduledreport.d.ts.map +1 -0
  89. package/dist/commonjs/models/operations/initiatescheduledreport.js +69 -0
  90. package/dist/commonjs/models/operations/initiatescheduledreport.js.map +1 -0
  91. package/dist/commonjs/models/operations/vendorscangpscheckoutconfig.d.ts +57 -0
  92. package/dist/commonjs/models/operations/vendorscangpscheckoutconfig.d.ts.map +1 -0
  93. package/dist/commonjs/models/operations/vendorscangpscheckoutconfig.js +81 -0
  94. package/dist/commonjs/models/operations/vendorscangpscheckoutconfig.js.map +1 -0
  95. package/dist/commonjs/models/operations/vendorscangpsscanout.d.ts +81 -0
  96. package/dist/commonjs/models/operations/vendorscangpsscanout.d.ts.map +1 -0
  97. package/dist/commonjs/models/operations/vendorscangpsscanout.js +96 -0
  98. package/dist/commonjs/models/operations/vendorscangpsscanout.js.map +1 -0
  99. package/dist/commonjs/react-query/index.d.ts +4 -0
  100. package/dist/commonjs/react-query/index.d.ts.map +1 -1
  101. package/dist/commonjs/react-query/index.js +4 -0
  102. package/dist/commonjs/react-query/index.js.map +1 -1
  103. package/dist/commonjs/react-query/reportsGetFullReport.core.d.ts +12 -0
  104. package/dist/commonjs/react-query/reportsGetFullReport.core.d.ts.map +1 -0
  105. package/dist/commonjs/react-query/reportsGetFullReport.core.js +39 -0
  106. package/dist/commonjs/react-query/reportsGetFullReport.core.js.map +1 -0
  107. package/dist/commonjs/react-query/reportsGetFullReport.d.ts +75 -0
  108. package/dist/commonjs/react-query/reportsGetFullReport.d.ts.map +1 -0
  109. package/dist/commonjs/react-query/reportsGetFullReport.js +111 -0
  110. package/dist/commonjs/react-query/reportsGetFullReport.js.map +1 -0
  111. package/dist/commonjs/react-query/reportsInitiateScheduledReport.d.ts +46 -0
  112. package/dist/commonjs/react-query/reportsInitiateScheduledReport.d.ts.map +1 -0
  113. package/dist/commonjs/react-query/reportsInitiateScheduledReport.js +68 -0
  114. package/dist/commonjs/react-query/reportsInitiateScheduledReport.js.map +1 -0
  115. package/dist/commonjs/react-query/vendorScansVendorScanGpsCheckoutConfig.core.d.ts +12 -0
  116. package/dist/commonjs/react-query/vendorScansVendorScanGpsCheckoutConfig.core.d.ts.map +1 -0
  117. package/dist/commonjs/react-query/vendorScansVendorScanGpsCheckoutConfig.core.js +39 -0
  118. package/dist/commonjs/react-query/vendorScansVendorScanGpsCheckoutConfig.core.js.map +1 -0
  119. package/dist/commonjs/react-query/vendorScansVendorScanGpsCheckoutConfig.d.ts +29 -0
  120. package/dist/commonjs/react-query/vendorScansVendorScanGpsCheckoutConfig.d.ts.map +1 -0
  121. package/dist/commonjs/react-query/vendorScansVendorScanGpsCheckoutConfig.js +69 -0
  122. package/dist/commonjs/react-query/vendorScansVendorScanGpsCheckoutConfig.js.map +1 -0
  123. package/dist/commonjs/react-query/vendorScansVendorScanGpsScanOut.d.ts +31 -0
  124. package/dist/commonjs/react-query/vendorScansVendorScanGpsScanOut.d.ts.map +1 -0
  125. package/dist/commonjs/react-query/vendorScansVendorScanGpsScanOut.js +53 -0
  126. package/dist/commonjs/react-query/vendorScansVendorScanGpsScanOut.js.map +1 -0
  127. package/dist/commonjs/react-query/vendorsUpdateVendorDetails.d.ts +14 -1
  128. package/dist/commonjs/react-query/vendorsUpdateVendorDetails.d.ts.map +1 -1
  129. package/dist/commonjs/react-query/vendorsUpdateVendorDetails.js +14 -1
  130. package/dist/commonjs/react-query/vendorsUpdateVendorDetails.js.map +1 -1
  131. package/dist/commonjs/sdk/reports.d.ts +59 -0
  132. package/dist/commonjs/sdk/reports.d.ts.map +1 -0
  133. package/dist/commonjs/sdk/reports.js +72 -0
  134. package/dist/commonjs/sdk/reports.js.map +1 -0
  135. package/dist/commonjs/sdk/sdk.d.ts +3 -0
  136. package/dist/commonjs/sdk/sdk.d.ts.map +1 -1
  137. package/dist/commonjs/sdk/sdk.js +4 -0
  138. package/dist/commonjs/sdk/sdk.js.map +1 -1
  139. package/dist/commonjs/sdk/vendors.d.ts +14 -1
  140. package/dist/commonjs/sdk/vendors.d.ts.map +1 -1
  141. package/dist/commonjs/sdk/vendors.js +14 -1
  142. package/dist/commonjs/sdk/vendors.js.map +1 -1
  143. package/dist/commonjs/sdk/vendorscans.d.ts +16 -0
  144. package/dist/commonjs/sdk/vendorscans.d.ts.map +1 -1
  145. package/dist/commonjs/sdk/vendorscans.js +22 -0
  146. package/dist/commonjs/sdk/vendorscans.js.map +1 -1
  147. package/dist/esm/__tests__/reports.test.d.ts +2 -0
  148. package/dist/esm/__tests__/reports.test.d.ts.map +1 -0
  149. package/dist/esm/__tests__/reports.test.js +51 -0
  150. package/dist/esm/__tests__/reports.test.js.map +1 -0
  151. package/dist/esm/__tests__/smartBadgeGetPsks.test.d.ts +2 -0
  152. package/dist/esm/__tests__/smartBadgeGetPsks.test.d.ts.map +1 -0
  153. package/dist/esm/__tests__/smartBadgeGetPsks.test.js +58 -0
  154. package/dist/esm/__tests__/smartBadgeGetPsks.test.js.map +1 -0
  155. package/dist/esm/__tests__/smartBadgeReportVerifiedPsk.test.d.ts +2 -0
  156. package/dist/esm/__tests__/smartBadgeReportVerifiedPsk.test.d.ts.map +1 -0
  157. package/dist/esm/__tests__/smartBadgeReportVerifiedPsk.test.js +44 -0
  158. package/dist/esm/__tests__/smartBadgeReportVerifiedPsk.test.js.map +1 -0
  159. package/dist/esm/__tests__/vendors.test.js +1 -1
  160. package/dist/esm/__tests__/vendorscans.test.js +44 -0
  161. package/dist/esm/__tests__/vendorscans.test.js.map +1 -1
  162. package/dist/esm/__tests__/webhooks.test.js +1 -1
  163. package/dist/esm/__tests__/webhooks.test.js.map +1 -1
  164. package/dist/esm/__tests__/zones.test.js +12 -15
  165. package/dist/esm/__tests__/zones.test.js.map +1 -1
  166. package/dist/esm/admin-funcs/smartBadgeGetPsks.d.ts +3 -0
  167. package/dist/esm/admin-funcs/smartBadgeGetPsks.d.ts.map +1 -0
  168. package/dist/esm/admin-funcs/smartBadgeGetPsks.js +20 -0
  169. package/dist/esm/admin-funcs/smartBadgeGetPsks.js.map +1 -0
  170. package/dist/esm/admin-funcs/smartBadgeMacAddress.d.ts +2 -0
  171. package/dist/esm/admin-funcs/smartBadgeMacAddress.d.ts.map +1 -0
  172. package/dist/esm/admin-funcs/smartBadgeMacAddress.js +22 -0
  173. package/dist/esm/admin-funcs/smartBadgeMacAddress.js.map +1 -0
  174. package/dist/esm/admin-funcs/smartBadgeReportVerifiedPsk.d.ts +6 -0
  175. package/dist/esm/admin-funcs/smartBadgeReportVerifiedPsk.d.ts.map +1 -0
  176. package/dist/esm/admin-funcs/smartBadgeReportVerifiedPsk.js +15 -0
  177. package/dist/esm/admin-funcs/smartBadgeReportVerifiedPsk.js.map +1 -0
  178. package/dist/esm/funcs/reportsGetFullReport.d.ts +43 -0
  179. package/dist/esm/funcs/reportsGetFullReport.d.ts.map +1 -0
  180. package/dist/esm/funcs/reportsGetFullReport.js +112 -0
  181. package/dist/esm/funcs/reportsGetFullReport.js.map +1 -0
  182. package/dist/esm/funcs/reportsInitiateScheduledReport.d.ts +37 -0
  183. package/dist/esm/funcs/reportsInitiateScheduledReport.d.ts.map +1 -0
  184. package/dist/esm/funcs/reportsInitiateScheduledReport.js +103 -0
  185. package/dist/esm/funcs/reportsInitiateScheduledReport.js.map +1 -0
  186. package/dist/esm/funcs/vendorScansVendorScanGpsCheckoutConfig.d.ts +18 -0
  187. package/dist/esm/funcs/vendorScansVendorScanGpsCheckoutConfig.d.ts.map +1 -0
  188. package/dist/esm/funcs/vendorScansVendorScanGpsCheckoutConfig.js +88 -0
  189. package/dist/esm/funcs/vendorScansVendorScanGpsCheckoutConfig.js.map +1 -0
  190. package/dist/esm/funcs/vendorScansVendorScanGpsScanOut.d.ts +20 -0
  191. package/dist/esm/funcs/vendorScansVendorScanGpsScanOut.d.ts.map +1 -0
  192. package/dist/esm/funcs/vendorScansVendorScanGpsScanOut.js +90 -0
  193. package/dist/esm/funcs/vendorScansVendorScanGpsScanOut.js.map +1 -0
  194. package/dist/esm/funcs/vendorsUpdateVendorDetails.d.ts +14 -1
  195. package/dist/esm/funcs/vendorsUpdateVendorDetails.d.ts.map +1 -1
  196. package/dist/esm/funcs/vendorsUpdateVendorDetails.js +14 -1
  197. package/dist/esm/funcs/vendorsUpdateVendorDetails.js.map +1 -1
  198. package/dist/esm/index.extras.d.ts +4 -0
  199. package/dist/esm/index.extras.d.ts.map +1 -1
  200. package/dist/esm/index.extras.js +5 -1
  201. package/dist/esm/index.extras.js.map +1 -1
  202. package/dist/esm/lib/config.d.ts +3 -3
  203. package/dist/esm/lib/config.js +3 -3
  204. package/dist/esm/models/components/facility.d.ts +10 -0
  205. package/dist/esm/models/components/facility.d.ts.map +1 -1
  206. package/dist/esm/models/components/facility.js +8 -0
  207. package/dist/esm/models/components/facility.js.map +1 -1
  208. package/dist/esm/models/components/zone.d.ts +7 -0
  209. package/dist/esm/models/components/zone.d.ts.map +1 -1
  210. package/dist/esm/models/components/zone.js +8 -0
  211. package/dist/esm/models/components/zone.js.map +1 -1
  212. package/dist/esm/models/errors/apivalidationerrorresponse.d.ts +38 -0
  213. package/dist/esm/models/errors/apivalidationerrorresponse.d.ts.map +1 -0
  214. package/dist/esm/models/errors/apivalidationerrorresponse.js +41 -0
  215. package/dist/esm/models/errors/apivalidationerrorresponse.js.map +1 -0
  216. package/dist/esm/models/errors/index.d.ts +2 -0
  217. package/dist/esm/models/errors/index.d.ts.map +1 -1
  218. package/dist/esm/models/errors/index.js +2 -0
  219. package/dist/esm/models/errors/index.js.map +1 -1
  220. package/dist/esm/models/errors/unprocessableentityorvalidationerror.d.ts +13 -0
  221. package/dist/esm/models/errors/unprocessableentityorvalidationerror.d.ts.map +1 -0
  222. package/dist/esm/models/errors/unprocessableentityorvalidationerror.js +16 -0
  223. package/dist/esm/models/errors/unprocessableentityorvalidationerror.js.map +1 -0
  224. package/dist/esm/models/operations/getfullreport.d.ts +73 -0
  225. package/dist/esm/models/operations/getfullreport.d.ts.map +1 -0
  226. package/dist/esm/models/operations/getfullreport.js +68 -0
  227. package/dist/esm/models/operations/getfullreport.js.map +1 -0
  228. package/dist/esm/models/operations/index.d.ts +4 -0
  229. package/dist/esm/models/operations/index.d.ts.map +1 -1
  230. package/dist/esm/models/operations/index.js +4 -0
  231. package/dist/esm/models/operations/index.js.map +1 -1
  232. package/dist/esm/models/operations/initiatescheduledreport.d.ts +30 -0
  233. package/dist/esm/models/operations/initiatescheduledreport.d.ts.map +1 -0
  234. package/dist/esm/models/operations/initiatescheduledreport.js +31 -0
  235. package/dist/esm/models/operations/initiatescheduledreport.js.map +1 -0
  236. package/dist/esm/models/operations/vendorscangpscheckoutconfig.d.ts +57 -0
  237. package/dist/esm/models/operations/vendorscangpscheckoutconfig.d.ts.map +1 -0
  238. package/dist/esm/models/operations/vendorscangpscheckoutconfig.js +43 -0
  239. package/dist/esm/models/operations/vendorscangpscheckoutconfig.js.map +1 -0
  240. package/dist/esm/models/operations/vendorscangpsscanout.d.ts +81 -0
  241. package/dist/esm/models/operations/vendorscangpsscanout.d.ts.map +1 -0
  242. package/dist/esm/models/operations/vendorscangpsscanout.js +57 -0
  243. package/dist/esm/models/operations/vendorscangpsscanout.js.map +1 -0
  244. package/dist/esm/react-query/index.d.ts +4 -0
  245. package/dist/esm/react-query/index.d.ts.map +1 -1
  246. package/dist/esm/react-query/index.js +4 -0
  247. package/dist/esm/react-query/index.js.map +1 -1
  248. package/dist/esm/react-query/reportsGetFullReport.core.d.ts +12 -0
  249. package/dist/esm/react-query/reportsGetFullReport.core.d.ts.map +1 -0
  250. package/dist/esm/react-query/reportsGetFullReport.core.js +34 -0
  251. package/dist/esm/react-query/reportsGetFullReport.core.js.map +1 -0
  252. package/dist/esm/react-query/reportsGetFullReport.d.ts +75 -0
  253. package/dist/esm/react-query/reportsGetFullReport.d.ts.map +1 -0
  254. package/dist/esm/react-query/reportsGetFullReport.js +101 -0
  255. package/dist/esm/react-query/reportsGetFullReport.js.map +1 -0
  256. package/dist/esm/react-query/reportsInitiateScheduledReport.d.ts +46 -0
  257. package/dist/esm/react-query/reportsInitiateScheduledReport.d.ts.map +1 -0
  258. package/dist/esm/react-query/reportsInitiateScheduledReport.js +63 -0
  259. package/dist/esm/react-query/reportsInitiateScheduledReport.js.map +1 -0
  260. package/dist/esm/react-query/vendorScansVendorScanGpsCheckoutConfig.core.d.ts +12 -0
  261. package/dist/esm/react-query/vendorScansVendorScanGpsCheckoutConfig.core.d.ts.map +1 -0
  262. package/dist/esm/react-query/vendorScansVendorScanGpsCheckoutConfig.core.js +34 -0
  263. package/dist/esm/react-query/vendorScansVendorScanGpsCheckoutConfig.core.js.map +1 -0
  264. package/dist/esm/react-query/vendorScansVendorScanGpsCheckoutConfig.d.ts +29 -0
  265. package/dist/esm/react-query/vendorScansVendorScanGpsCheckoutConfig.d.ts.map +1 -0
  266. package/dist/esm/react-query/vendorScansVendorScanGpsCheckoutConfig.js +59 -0
  267. package/dist/esm/react-query/vendorScansVendorScanGpsCheckoutConfig.js.map +1 -0
  268. package/dist/esm/react-query/vendorScansVendorScanGpsScanOut.d.ts +31 -0
  269. package/dist/esm/react-query/vendorScansVendorScanGpsScanOut.d.ts.map +1 -0
  270. package/dist/esm/react-query/vendorScansVendorScanGpsScanOut.js +48 -0
  271. package/dist/esm/react-query/vendorScansVendorScanGpsScanOut.js.map +1 -0
  272. package/dist/esm/react-query/vendorsUpdateVendorDetails.d.ts +14 -1
  273. package/dist/esm/react-query/vendorsUpdateVendorDetails.d.ts.map +1 -1
  274. package/dist/esm/react-query/vendorsUpdateVendorDetails.js +14 -1
  275. package/dist/esm/react-query/vendorsUpdateVendorDetails.js.map +1 -1
  276. package/dist/esm/sdk/reports.d.ts +59 -0
  277. package/dist/esm/sdk/reports.d.ts.map +1 -0
  278. package/dist/esm/sdk/reports.js +68 -0
  279. package/dist/esm/sdk/reports.js.map +1 -0
  280. package/dist/esm/sdk/sdk.d.ts +3 -0
  281. package/dist/esm/sdk/sdk.d.ts.map +1 -1
  282. package/dist/esm/sdk/sdk.js +4 -0
  283. package/dist/esm/sdk/sdk.js.map +1 -1
  284. package/dist/esm/sdk/vendors.d.ts +14 -1
  285. package/dist/esm/sdk/vendors.d.ts.map +1 -1
  286. package/dist/esm/sdk/vendors.js +14 -1
  287. package/dist/esm/sdk/vendors.js.map +1 -1
  288. package/dist/esm/sdk/vendorscans.d.ts +16 -0
  289. package/dist/esm/sdk/vendorscans.d.ts.map +1 -1
  290. package/dist/esm/sdk/vendorscans.js +22 -0
  291. package/dist/esm/sdk/vendorscans.js.map +1 -1
  292. package/jsr.json +1 -1
  293. package/package.json +1 -1
  294. package/src/__tests__/reports.test.ts +57 -0
  295. package/src/__tests__/smartBadgeGetPsks.test.ts +76 -0
  296. package/src/__tests__/smartBadgeReportVerifiedPsk.test.ts +61 -0
  297. package/src/__tests__/vendors.test.ts +1 -1
  298. package/src/__tests__/vendorscans.test.ts +50 -0
  299. package/src/__tests__/webhooks.test.ts +1 -1
  300. package/src/__tests__/zones.test.ts +12 -15
  301. package/src/admin-funcs/smartBadgeGetPsks.ts +23 -0
  302. package/src/admin-funcs/smartBadgeMacAddress.ts +25 -0
  303. package/src/admin-funcs/smartBadgeReportVerifiedPsk.ts +25 -0
  304. package/src/funcs/reportsGetFullReport.ts +204 -0
  305. package/src/funcs/reportsInitiateScheduledReport.ts +205 -0
  306. package/src/funcs/vendorScansVendorScanGpsCheckoutConfig.ts +180 -0
  307. package/src/funcs/vendorScansVendorScanGpsScanOut.ts +182 -0
  308. package/src/funcs/vendorsUpdateVendorDetails.ts +14 -1
  309. package/src/index.extras.ts +5 -1
  310. package/src/lib/config.ts +3 -3
  311. package/src/models/components/facility.ts +18 -0
  312. package/src/models/components/zone.ts +15 -0
  313. package/src/models/errors/apivalidationerrorresponse.ts +71 -0
  314. package/src/models/errors/index.ts +2 -0
  315. package/src/models/errors/unprocessableentityorvalidationerror.ts +45 -0
  316. package/src/models/operations/getfullreport.ts +159 -0
  317. package/src/models/operations/index.ts +4 -0
  318. package/src/models/operations/initiatescheduledreport.ts +87 -0
  319. package/src/models/operations/vendorscangpscheckoutconfig.ts +118 -0
  320. package/src/models/operations/vendorscangpsscanout.ts +167 -0
  321. package/src/react-query/index.ts +4 -0
  322. package/src/react-query/reportsGetFullReport.core.ts +76 -0
  323. package/src/react-query/reportsGetFullReport.ts +190 -0
  324. package/src/react-query/reportsInitiateScheduledReport.ts +133 -0
  325. package/src/react-query/vendorScansVendorScanGpsCheckoutConfig.core.ts +78 -0
  326. package/src/react-query/vendorScansVendorScanGpsCheckoutConfig.ts +150 -0
  327. package/src/react-query/vendorScansVendorScanGpsScanOut.ts +117 -0
  328. package/src/react-query/vendorsUpdateVendorDetails.ts +14 -1
  329. package/src/sdk/reports.ts +85 -0
  330. package/src/sdk/sdk.ts +6 -0
  331. package/src/sdk/vendors.ts +14 -1
  332. package/src/sdk/vendorscans.ts +40 -0
@@ -0,0 +1,57 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { expect, test } from "vitest";
6
+ import { GreenSecurity } from "../index.js";
7
+ import { createTestHTTPClient } from "./testclient.js";
8
+
9
+ test("Reports Initiate Scheduled Report", async () => {
10
+ const testHttpClient = createTestHTTPClient("initiateScheduledReport");
11
+
12
+ const greenSecurity = new GreenSecurity({
13
+ serverURL: process.env["TEST_SERVER_URL"] ?? "https://localhost:3000/api",
14
+ httpClient: testHttpClient,
15
+ security: {
16
+ token: process.env["GREEN_SECURITY_TOKEN"] ?? "value",
17
+ },
18
+ });
19
+
20
+ const result = await greenSecurity.reports.initiateScheduledReport({
21
+ scheduledReportId: 298326,
22
+ });
23
+ expect(result).toBeDefined();
24
+ expect(result).toEqual({
25
+ pollUrl: "https://vivid-spring.info/",
26
+ success: true,
27
+ });
28
+ });
29
+
30
+ test("Reports Get Full Report", async () => {
31
+ const testHttpClient = createTestHTTPClient("getFullReport");
32
+
33
+ const greenSecurity = new GreenSecurity({
34
+ serverURL: process.env["TEST_SERVER_URL"] ?? "https://localhost:3000/api",
35
+ httpClient: testHttpClient,
36
+ security: {
37
+ token: process.env["GREEN_SECURITY_TOKEN"] ?? "value",
38
+ },
39
+ });
40
+
41
+ const result = await greenSecurity.reports.getFullReport({
42
+ fullReportId: 350249,
43
+ });
44
+ expect(result).toBeDefined();
45
+ expect(result).toEqual({
46
+ fullReport: {
47
+ id: 833364,
48
+ reportClass: "<value>",
49
+ dataType: "blob",
50
+ dateSubmitted: new Date("2025-11-10T00:32:20.213Z"),
51
+ userId: 751048,
52
+ status: "completed",
53
+ reportUrl: "https://upright-litter.info/",
54
+ },
55
+ success: true,
56
+ });
57
+ });
@@ -0,0 +1,76 @@
1
+ import { beforeEach, describe, expect, it, vi } from "vitest";
2
+
3
+ // The parameters are declared, rather than `vi.fn(() => ...)`, so that mock.calls is typed as the
4
+ // argument tuple. Without them it is typed `[][]`, destructuring `[route]` off it is a TS2493 error, and
5
+ // tshy compiles this directory even though tsconfig.json excludes it — so it breaks SDK generation
6
+ // rather than anything a local `tsc -p tsconfig.json` or `npm run lint` would report.
7
+ const { doGetSingleMock } = vi.hoisted(() => ({
8
+ doGetSingleMock: vi.fn((_route: string, _options: unknown) =>
9
+ Promise.resolve([{ ok: true }, { status: "complete" }])
10
+ ),
11
+ }));
12
+
13
+ vi.mock("../admin-funcs/doAdmin.js", () => ({
14
+ $doGetSingle: doGetSingleMock,
15
+ }));
16
+
17
+ import { smartBadgeGetPsks } from "../admin-funcs/smartBadgeGetPsks.js";
18
+
19
+ describe("smartBadgeGetPsks", () => {
20
+ beforeEach(() => {
21
+ doGetSingleMock.mockClear();
22
+ });
23
+
24
+ it("calls the badge-specific PSK endpoint with no query parameters", () => {
25
+ const request = smartBadgeGetPsks("c3000083ba4d");
26
+
27
+ expect(doGetSingleMock).toHaveBeenCalledWith("/smart-badges/c3000083ba4d/psks", {});
28
+ expect(request).toBeDefined();
29
+ });
30
+
31
+ // The MAC address is what scopes the response, so it has to reach the path rather than being
32
+ // dropped or sent as a query parameter. Percent-encoded, because this is interpolated into the path
33
+ // rather than passed through pathToFunc.
34
+ it("puts the MAC address in the path, percent-encoded", () => {
35
+ smartBadgeGetPsks("C3:00:00:83:BA:4D");
36
+
37
+ expect(doGetSingleMock).toHaveBeenLastCalledWith("/smart-badges/C3%3A00%3A00%3A83%3ABA%3A4D/psks", {});
38
+ });
39
+
40
+ // Encoding alone did not close this. `.` is in encodeURIComponent's unreserved set, so a bare `..`
41
+ // passed through untouched and _createRequest's `new URL(path, baseURL)` then canonicalized
42
+ // `/api/smart-badges/../psks` down to `/api/psks` — off the route entirely, before the backend saw
43
+ // anything. `.` collapsed to `/api/smart-badges/psks` the same way. Hence validation, not encoding.
44
+ it.each([["..", "dot-dot"], [".", "single dot"], ["../badge-firmware?x=", "traversal with query"], ["", "empty"]])(
45
+ "refuses to build a route from %s (%s)",
46
+ (macAddress) => {
47
+ expect(() => smartBadgeGetPsks(macAddress)).toThrow(/Invalid smart badge MAC address/);
48
+ expect(doGetSingleMock).not.toHaveBeenCalled();
49
+ }
50
+ );
51
+
52
+ it("refuses a MAC address with mixed separators", () => {
53
+ expect(() => smartBadgeGetPsks("c3:00-00:83:ba:4d")).toThrow(/Invalid smart badge MAC address/);
54
+ });
55
+
56
+ // The dot-separated form normalize_mac_address accepts, which cannot survive a Rails path segment.
57
+ it("refuses the dot-separated form", () => {
58
+ expect(() => smartBadgeGetPsks("c300.0083.ba4d")).toThrow(/Invalid smart badge MAC address/);
59
+ });
60
+
61
+ // Asserted on the URL the SDK actually requests, not just the argument handed to the helper, because
62
+ // the canonicalization that caused this happens in `new URL(path, baseURL)` rather than here.
63
+ it("survives URL resolution unchanged for every accepted form", () => {
64
+ const base = new URL("https://api.example.com/api/");
65
+
66
+ for (const mac of ["c3000083ba4d", "C3:00:00:83:BA:4D", "c3-00-00-83-ba-4d"]) {
67
+ doGetSingleMock.mockClear();
68
+ smartBadgeGetPsks(mac);
69
+ const [route] = doGetSingleMock.mock.calls.at(-1) ?? [];
70
+
71
+ const resolved = new URL(`/api${route}`, base);
72
+ expect(resolved.pathname).toBe(`/api/smart-badges/${encodeURIComponent(mac)}/psks`);
73
+ expect(resolved.pathname).toContain("/smart-badges/");
74
+ }
75
+ });
76
+ });
@@ -0,0 +1,61 @@
1
+ import { beforeEach, describe, expect, it, vi } from "vitest";
2
+
3
+ const { doPostMock } = vi.hoisted(() => ({
4
+ doPostMock: vi.fn((_route: string, _body: unknown) => Promise.resolve([{ ok: true }, { status: "complete" }])),
5
+ }));
6
+
7
+ vi.mock("../admin-funcs/doAdmin.js", () => ({
8
+ $doPost: doPostMock,
9
+ }));
10
+
11
+ import { smartBadgeReportVerifiedPsk } from "../admin-funcs/smartBadgeReportVerifiedPsk.js";
12
+
13
+ describe("smartBadgeReportVerifiedPsk", () => {
14
+ beforeEach(() => {
15
+ doPostMock.mockClear();
16
+ });
17
+
18
+ // Sending the key in the body rather than the query string is a security property of this change:
19
+ // query strings land in access and proxy logs. $doPost is what puts it in the body, so a switch to
20
+ // $doGetSingle-style query passing has to fail here.
21
+ it("sends the key in the request body, not the path or query", () => {
22
+ const psk = "d8e5f864952dfded7125ee61bd1d7925";
23
+
24
+ const request = smartBadgeReportVerifiedPsk("c3000083ba4d", { psk });
25
+
26
+ expect(doPostMock).toHaveBeenCalledWith("/smart-badges/c3000083ba4d/psk-verified", { psk });
27
+ expect(request).toBeDefined();
28
+ });
29
+
30
+ // This POST is authenticated, so a MAC that escapes the route redirects a write rather than a read.
31
+ // `..` is the case encoding could not catch: encodeURIComponent leaves `.` alone and _createRequest's
32
+ // `new URL(path, baseURL)` then canonicalizes `/api/smart-badges/../psk-verified` to
33
+ // `/api/psk-verified`.
34
+ it.each([["..", "dot-dot"], [".", "single dot"], ["../../zones/badge-write-failed", "traversal"], ["", "empty"]])(
35
+ "refuses to build a route from %s (%s)",
36
+ (macAddress) => {
37
+ expect(() => smartBadgeReportVerifiedPsk(macAddress, { psk: "d8e5f864952dfded7125ee61bd1d7925" })).toThrow(
38
+ /Invalid smart badge MAC address/
39
+ );
40
+ expect(doPostMock).not.toHaveBeenCalled();
41
+ }
42
+ );
43
+
44
+ // Asserted after URL resolution, since that is where the canonicalization happens.
45
+ it("keeps an accepted MAC address on the badge route through URL resolution", () => {
46
+ smartBadgeReportVerifiedPsk("c3:00:00:83:ba:4d", { psk: "d8e5f864952dfded7125ee61bd1d7925" });
47
+
48
+ const [route] = doPostMock.mock.calls.at(-1) ?? [];
49
+ const resolved = new URL(`/api${route}`, new URL("https://api.example.com/api/"));
50
+ expect(resolved.pathname).toBe("/api/smart-badges/c3%3A00%3A00%3A83%3Aba%3A4d/psk-verified");
51
+ });
52
+
53
+ it("does not put the key anywhere in the route", () => {
54
+ const psk = "d8e5f864952dfded7125ee61bd1d7925";
55
+
56
+ smartBadgeReportVerifiedPsk("c3000083ba4d", { psk });
57
+
58
+ const [route] = doPostMock.mock.calls.at(-1) ?? [];
59
+ expect(route).not.toContain(psk);
60
+ });
61
+ });
@@ -121,7 +121,7 @@ test("Vendors List Vendor Credits", async () => {
121
121
  page: 1,
122
122
  useUrlParams: false,
123
123
  },
124
- creditBalance: 180.48,
124
+ creditBalance: 7634.4,
125
125
  });
126
126
  });
127
127
 
@@ -198,3 +198,53 @@ test("Vendor Scans Download Vendor Scans Export", async () => {
198
198
  ),
199
199
  ).toEqual(await filesToByteArray(".speakeasy/testfiles/example.file"));
200
200
  });
201
+
202
+ test("Vendor Scans Vendor Scan Gps Checkout Config", async () => {
203
+ const testHttpClient = createTestHTTPClient("vendorScanGpsCheckoutConfig");
204
+
205
+ const greenSecurity = new GreenSecurity({
206
+ serverURL: process.env["TEST_SERVER_URL"] ?? "https://localhost:3000/api",
207
+ httpClient: testHttpClient,
208
+ security: {
209
+ token: process.env["GREEN_SECURITY_TOKEN"] ?? "value",
210
+ },
211
+ });
212
+
213
+ const result = await greenSecurity.vendorScans.vendorScanGpsCheckoutConfig({
214
+ id: 603032,
215
+ });
216
+ expect(result).toBeDefined();
217
+ expect(result).toEqual({
218
+ enabled: true,
219
+ level: "facility",
220
+ latitude: 6011.7,
221
+ longitude: 1303.03,
222
+ radiusFt: 569907,
223
+ locationName: "<value>",
224
+ });
225
+ });
226
+
227
+ test("Vendor Scans Vendor Scan Gps Scan Out", async () => {
228
+ const testHttpClient = createTestHTTPClient("vendorScanGpsScanOut");
229
+
230
+ const greenSecurity = new GreenSecurity({
231
+ serverURL: process.env["TEST_SERVER_URL"] ?? "https://localhost:3000/api",
232
+ httpClient: testHttpClient,
233
+ security: {
234
+ token: process.env["GREEN_SECURITY_TOKEN"] ?? "value",
235
+ },
236
+ });
237
+
238
+ const result = await greenSecurity.vendorScans.vendorScanGpsScanOut({
239
+ id: 818416,
240
+ requestBody: {
241
+ latitude: 9788.59,
242
+ longitude: 5803.63,
243
+ },
244
+ });
245
+ expect(result).toBeDefined();
246
+ expect(result).toEqual({
247
+ success: true,
248
+ outcome: "possibly_left",
249
+ });
250
+ });
@@ -20,7 +20,7 @@ test("Webhooks List All Webhook Endpoints", async () => {
20
20
  const testWebhookListForVendorUserResult = await greenSecurity.webhooks
21
21
  .listAllWebhookEndpoints({
22
22
  itemsPerPage: 25,
23
- desc: 0,
23
+ desc: true,
24
24
  sort: "",
25
25
  });
26
26
  expect(testWebhookListForVendorUserResult).toBeDefined();
@@ -35,40 +35,37 @@ test("Zones List Or Search Security Zones", async () => {
35
35
  useUrlParams: false,
36
36
  },
37
37
  items: [
38
- {
39
- facility: {},
40
- },
41
38
  {
42
39
  facility: {
43
40
  contacts: {
44
- contact: {
45
- status: "Active",
46
- department: 123,
47
- },
41
+ contact: null,
48
42
  adminContact: {
49
- status: "Active",
43
+ status: "Inactive",
50
44
  department: 123,
51
45
  },
52
46
  techContact: {
53
- status: "Inactive",
47
+ status: "Deleted",
54
48
  department: 123,
55
49
  },
56
50
  greenSecurityCsm: {
57
51
  status: "Active",
58
- department: 123,
52
+ department: null,
59
53
  },
60
54
  accountManager: {
61
- status: "Inactive",
55
+ status: "Active",
62
56
  department: 123,
63
57
  },
64
58
  },
65
59
  vendorGuestPolicy: {
66
- enabled: false,
60
+ enabled: true,
67
61
  vendorGuestLimitAndOr: "and",
68
62
  vendorGuestRequireEmail: false,
69
63
  },
70
64
  },
71
65
  },
66
+ {
67
+ facility: {},
68
+ },
72
69
  ],
73
70
  });
74
71
  });
@@ -85,9 +82,9 @@ test("Zones Security Zone Checkin", async () => {
85
82
  });
86
83
 
87
84
  const result = await greenSecurity.zones.securityZoneCheckin({
88
- longitude: 6436.85,
89
- latitude: 6346.87,
90
- zoneId: 138233,
85
+ longitude: 4275.84,
86
+ latitude: 5120.17,
87
+ zoneId: 673216,
91
88
  });
92
89
  expect(result).toBeDefined();
93
90
  expect(result).toEqual({});
@@ -0,0 +1,23 @@
1
+ import { APIPromise } from "../types/async.js";
2
+ import { $doGetSingle, internalApiResult } from "./doAdmin.js";
3
+ import { smartBadgeMacAddressPathSegment } from "./smartBadgeMacAddress.js";
4
+
5
+ // The pre-shared keys to try when writing to a smart badge, in the order worth trying.
6
+ //
7
+ // Badges from the two production runs carry different keys and only the badge can say which one it
8
+ // holds, so the backend derives the candidates and the client works through them. This exists so
9
+ // clients do not have to hold any key in code.
10
+ //
11
+ // macAddress may be bare hex, colon-separated or dash-separated, and the backend normalizes it. Not
12
+ // the dot-separated form: Rails treats a dot in a path segment as a format separator, so
13
+ // `c300.0083.ba4d` would not reach this route at all.
14
+ //
15
+ // Validated and encoded before it reaches the path, rather than interpolated raw: this builds the route
16
+ // directly instead of going through pathToFunc, which is what applies charEncoding for generated
17
+ // operations. See smartBadgeMacAddress for why encoding alone is not enough.
18
+ export function smartBadgeGetPsks(macAddress: string): internalApiResult {
19
+ return new APIPromise($doGetSingle(
20
+ `/smart-badges/${smartBadgeMacAddressPathSegment(macAddress)}/psks`,
21
+ {}
22
+ ));
23
+ }
@@ -0,0 +1,25 @@
1
+ // Turns a badge MAC address into a path segment for the smart badge routes.
2
+ //
3
+ // Validated rather than only encoded. encodeURIComponent leaves `.` untouched — it is in the unreserved
4
+ // set — and GreenSecurityCore._createRequest resolves the finished route with `new URL(path, baseURL)`
5
+ // (lib/sdks.ts:136), which canonicalizes dot segments. So a macAddress of `..` survives encoding intact
6
+ // and turns `/api/smart-badges/../psks` into `/api/psks`, leaving the intended route before the backend
7
+ // validates anything; `.` collapses to `/api/smart-badges/psks` the same way. Encoding cannot close
8
+ // that, because there is nothing to encode. Rejecting anything that is not a MAC address can.
9
+ //
10
+ // The accepted forms are bare hex, colon-separated and dash-separated, matching what the backend's
11
+ // VendorScan.normalize_mac_address handles minus the dot-separated form: Rails treats a dot in a path
12
+ // segment as a format separator, so that form never reaches these routes anyway. The backreference
13
+ // keeps the separator consistent, so `c3:00-00:83:ba:4d` is not accepted either.
14
+ const MAC_ADDRESS = /^(?:[0-9a-fA-F]{12}|[0-9a-fA-F]{2}([:-])(?:[0-9a-fA-F]{2}\1){4}[0-9a-fA-F]{2})$/;
15
+
16
+ export function smartBadgeMacAddressPathSegment(macAddress: string): string {
17
+ if (!MAC_ADDRESS.test(macAddress)) {
18
+ throw new Error(
19
+ "Invalid smart badge MAC address: expected 12 hex digits, optionally colon- or dash-separated, " +
20
+ `got ${JSON.stringify(macAddress)}`
21
+ );
22
+ }
23
+
24
+ return encodeURIComponent(macAddress);
25
+ }
@@ -0,0 +1,25 @@
1
+ import { APIPromise } from "../types/async.js";
2
+ import { $doPost, internalApiResult } from "./doAdmin.js";
3
+ import { smartBadgeMacAddressPathSegment } from "./smartBadgeMacAddress.js";
4
+
5
+ export type smartBadgeReportVerifiedPskRequest = {
6
+ psk: string;
7
+ };
8
+
9
+ // Records which pre-shared key a badge actually accepted, so the next write to it goes straight to
10
+ // that key instead of paying for a rejected handshake and a reconnect.
11
+ //
12
+ // The key travels in the body rather than the query string to keep it out of access and proxy logs.
13
+ //
14
+ // macAddress is validated and encoded for the same reason as in smartBadgeGetPsks, and it matters more
15
+ // here: this request is an authenticated POST, so a value that escapes the route redirects that rather
16
+ // than a read.
17
+ export function smartBadgeReportVerifiedPsk(
18
+ macAddress: string,
19
+ request: smartBadgeReportVerifiedPskRequest
20
+ ): internalApiResult {
21
+ return new APIPromise($doPost(
22
+ `/smart-badges/${smartBadgeMacAddressPathSegment(macAddress)}/psk-verified`,
23
+ request
24
+ ));
25
+ }
@@ -0,0 +1,204 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { GreenSecurityCore } from "../core.js";
6
+ import { encodeSimple } from "../lib/encodings.js";
7
+ import { matchStatusCode } from "../lib/http.js";
8
+ import * as M from "../lib/matchers.js";
9
+ import { compactMap } from "../lib/primitives.js";
10
+ import { safeParse } from "../lib/schemas.js";
11
+ import { RequestOptions } from "../lib/sdks.js";
12
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
13
+ import { pathToFunc } from "../lib/url.js";
14
+ import { GreenSecurityError } from "../models/errors/greensecurityerror.js";
15
+ import {
16
+ ConnectionError,
17
+ InvalidRequestError,
18
+ RequestAbortedError,
19
+ RequestTimeoutError,
20
+ UnexpectedClientError,
21
+ } from "../models/errors/httpclienterrors.js";
22
+ import * as errors from "../models/errors/index.js";
23
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
24
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
25
+ import * as operations from "../models/operations/index.js";
26
+ import { APICall, APIPromise } from "../types/async.js";
27
+ import { Result } from "../types/fp.js";
28
+
29
+ /**
30
+ * Get a generated report's status and download URL
31
+ *
32
+ * @remarks
33
+ * Returns a completed report run and a short-lived signed `report_url` (valid 5 minutes).
34
+ *
35
+ * Only a completed run returns the `full_report` payload. A run that has not finished does
36
+ * **not** come back with a `status` field to inspect — it returns an error envelope. Poll on
37
+ * the status code alone; `409` is the only retryable outcome, so no error-message matching is
38
+ * needed:
39
+ *
40
+ * | Status | Meaning | What to do |
41
+ * | --- | --- | --- |
42
+ * | `200` | The run finished. | Download `full_report.report_url` within 5 minutes. |
43
+ * | `409` | Still pending or processing. | Retry, but bound it — see below. |
44
+ * | `422` | Terminal: the run was canceled or failed, or the id is not a positive integer. | Stop. |
45
+ * | `404` | No such run, or it is outside your access scope. | Stop. |
46
+ * | `403` | Your account is locked, or lacks the `scheduled_reports` view permission. | Stop. |
47
+ *
48
+ * **Bound your polling.** A `409` is not a promise that the run will finish. Report
49
+ * generation has no terminal failure state today, so a run whose generation crashed part way
50
+ * through stays in `processing` and keeps answering `409` indefinitely. Apply your own
51
+ * timeout or maximum attempt count and treat exhaustion as a failure; do not retry forever.
52
+ *
53
+ * Access control: the URL's `full_report_id` must be in the caller's read scope for
54
+ * `FullReport` — the facility or system it was run for, a recipient of the schedule that
55
+ * produced it, or a report whose app is activated for the API user. Callers outside that
56
+ * scope receive `404 Full report not found`.
57
+ *
58
+ * If set, this operation will use {@link Security.bearerJwt} from the global security.
59
+ */
60
+ export function reportsGetFullReport(
61
+ client: GreenSecurityCore,
62
+ request: operations.GetFullReportRequest,
63
+ options?: RequestOptions,
64
+ ): APIPromise<
65
+ Result<
66
+ operations.GetFullReportGetFullReportOk,
67
+ | errors.ApiErrorResponse
68
+ | errors.UnprocessableEntityOrValidationError
69
+ | GreenSecurityError
70
+ | ResponseValidationError
71
+ | ConnectionError
72
+ | RequestAbortedError
73
+ | RequestTimeoutError
74
+ | InvalidRequestError
75
+ | UnexpectedClientError
76
+ | SDKValidationError
77
+ >
78
+ > {
79
+ return new APIPromise($do(
80
+ client,
81
+ request,
82
+ options,
83
+ ));
84
+ }
85
+
86
+ async function $do(
87
+ client: GreenSecurityCore,
88
+ request: operations.GetFullReportRequest,
89
+ options?: RequestOptions,
90
+ ): Promise<
91
+ [
92
+ Result<
93
+ operations.GetFullReportGetFullReportOk,
94
+ | errors.ApiErrorResponse
95
+ | errors.UnprocessableEntityOrValidationError
96
+ | GreenSecurityError
97
+ | ResponseValidationError
98
+ | ConnectionError
99
+ | RequestAbortedError
100
+ | RequestTimeoutError
101
+ | InvalidRequestError
102
+ | UnexpectedClientError
103
+ | SDKValidationError
104
+ >,
105
+ APICall,
106
+ ]
107
+ > {
108
+ const parsed = safeParse(
109
+ request,
110
+ (value) => operations.GetFullReportRequest$outboundSchema.parse(value),
111
+ "Input validation failed",
112
+ );
113
+ if (!parsed.ok) {
114
+ return [parsed, { status: "invalid" }];
115
+ }
116
+ const payload = parsed.value;
117
+ const body = null;
118
+
119
+ const pathParams = {
120
+ full_report_id: encodeSimple("full_report_id", payload.full_report_id, {
121
+ explode: false,
122
+ charEncoding: "percent",
123
+ }),
124
+ };
125
+ const path = pathToFunc("/reports/{full_report_id}")(pathParams);
126
+
127
+ const headers = new Headers(compactMap({
128
+ Accept: "application/json",
129
+ }));
130
+
131
+ const securityInput = await extractSecurity(client._options.security);
132
+ const requestSecurity = resolveGlobalSecurity(securityInput, [1]);
133
+
134
+ const context = {
135
+ options: client._options,
136
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
137
+ operationID: "getFullReport",
138
+ oAuth2Scopes: null,
139
+
140
+ resolvedSecurity: requestSecurity,
141
+
142
+ securitySource: client._options.security,
143
+ retryConfig: options?.retries
144
+ || client._options.retryConfig
145
+ || { strategy: "none" },
146
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
147
+ };
148
+
149
+ const requestRes = client._createRequest(context, {
150
+ security: requestSecurity,
151
+ method: "GET",
152
+ baseURL: options?.serverURL,
153
+ path: path,
154
+ headers: headers,
155
+ body: body,
156
+ userAgent: client._options.userAgent,
157
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
158
+ }, options);
159
+ if (!requestRes.ok) {
160
+ return [requestRes, { status: "invalid" }];
161
+ }
162
+ const req = requestRes.value;
163
+
164
+ const doResult = await client._do(req, {
165
+ context,
166
+ isErrorStatusCode: (statusCode: number) =>
167
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
168
+ retryConfig: context.retryConfig,
169
+ retryCodes: context.retryCodes,
170
+ });
171
+ if (!doResult.ok) {
172
+ return [doResult, { status: "request-error", request: req }];
173
+ }
174
+ const response = doResult.value;
175
+
176
+ const responseFields = {
177
+ HttpMeta: { Response: response, Request: req },
178
+ };
179
+
180
+ const [result] = await M.match<
181
+ operations.GetFullReportGetFullReportOk,
182
+ | errors.ApiErrorResponse
183
+ | errors.UnprocessableEntityOrValidationError
184
+ | GreenSecurityError
185
+ | ResponseValidationError
186
+ | ConnectionError
187
+ | RequestAbortedError
188
+ | RequestTimeoutError
189
+ | InvalidRequestError
190
+ | UnexpectedClientError
191
+ | SDKValidationError
192
+ >(
193
+ M.json(200, operations.GetFullReportGetFullReportOk$inboundSchema),
194
+ M.jsonErr([400, 401, 403, 404, 409], errors.ApiErrorResponse$inboundSchema),
195
+ M.jsonErr(422, errors.UnprocessableEntityOrValidationError$inboundSchema),
196
+ M.fail("4XX"),
197
+ M.fail([500, "5XX"]),
198
+ )(response, req, { extraFields: responseFields });
199
+ if (!result.ok) {
200
+ return [result, { status: "complete", request: req, response }];
201
+ }
202
+
203
+ return [result, { status: "complete", request: req, response }];
204
+ }