@3sixty/api-models 0.0.0-stage → 0.20.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +24 -2
  3. package/dist/es/errors/forbiddenError.js +23 -0
  4. package/dist/es/errors/forbiddenError.js.map +1 -0
  5. package/dist/es/errors/tooManyRequestsError.js +25 -0
  6. package/dist/es/errors/tooManyRequestsError.js.map +1 -0
  7. package/dist/es/factories/mimeTypeProcessorFactory.js +9 -0
  8. package/dist/es/factories/mimeTypeProcessorFactory.js.map +1 -0
  9. package/dist/es/factories/restClientProcessorFactory.js +9 -0
  10. package/dist/es/factories/restClientProcessorFactory.js.map +1 -0
  11. package/dist/es/factories/restRouteProcessorFactory.js +9 -0
  12. package/dist/es/factories/restRouteProcessorFactory.js.map +1 -0
  13. package/dist/es/factories/socketRouteProcessorFactory.js +9 -0
  14. package/dist/es/factories/socketRouteProcessorFactory.js.map +1 -0
  15. package/dist/es/helpers/httpErrorHelper.js +75 -0
  16. package/dist/es/helpers/httpErrorHelper.js.map +1 -0
  17. package/dist/es/helpers/httpHeaderHelper.js +120 -0
  18. package/dist/es/helpers/httpHeaderHelper.js.map +1 -0
  19. package/dist/es/helpers/httpParameterHelper.js +41 -0
  20. package/dist/es/helpers/httpParameterHelper.js.map +1 -0
  21. package/dist/es/helpers/httpUrlHelper.js +156 -0
  22. package/dist/es/helpers/httpUrlHelper.js.map +1 -0
  23. package/dist/es/index.js +81 -0
  24. package/dist/es/index.js.map +1 -0
  25. package/dist/es/models/IHealth.js +2 -0
  26. package/dist/es/models/IHealth.js.map +1 -0
  27. package/dist/es/models/api/IServerFavIconResponse.js +2 -0
  28. package/dist/es/models/api/IServerFavIconResponse.js.map +1 -0
  29. package/dist/es/models/api/IServerHealthResponse.js +2 -0
  30. package/dist/es/models/api/IServerHealthResponse.js.map +1 -0
  31. package/dist/es/models/api/IServerInfoResponse.js +2 -0
  32. package/dist/es/models/api/IServerInfoResponse.js.map +1 -0
  33. package/dist/es/models/api/IServerLivezResponse.js +2 -0
  34. package/dist/es/models/api/IServerLivezResponse.js.map +1 -0
  35. package/dist/es/models/api/IServerReadyzResponse.js +2 -0
  36. package/dist/es/models/api/IServerReadyzResponse.js.map +1 -0
  37. package/dist/es/models/api/IServerRootResponse.js +2 -0
  38. package/dist/es/models/api/IServerRootResponse.js.map +1 -0
  39. package/dist/es/models/api/IServerSpecResponse.js +2 -0
  40. package/dist/es/models/api/IServerSpecResponse.js.map +1 -0
  41. package/dist/es/models/client/IRestClientProcessor.js +2 -0
  42. package/dist/es/models/client/IRestClientProcessor.js.map +1 -0
  43. package/dist/es/models/client/IRestClientProcessorContext.js +2 -0
  44. package/dist/es/models/client/IRestClientProcessorContext.js.map +1 -0
  45. package/dist/es/models/config/IBaseRestClientConfig.js +2 -0
  46. package/dist/es/models/config/IBaseRestClientConfig.js.map +1 -0
  47. package/dist/es/models/config/IBaseSocketClientConfig.js +2 -0
  48. package/dist/es/models/config/IBaseSocketClientConfig.js.map +1 -0
  49. package/dist/es/models/healthCategory.js +17 -0
  50. package/dist/es/models/healthCategory.js.map +1 -0
  51. package/dist/es/models/healthStatus.js +21 -0
  52. package/dist/es/models/healthStatus.js.map +1 -0
  53. package/dist/es/models/httpContextIdKeys.js +39 -0
  54. package/dist/es/models/httpContextIdKeys.js.map +1 -0
  55. package/dist/es/models/protocol/IHttpRequest.js +2 -0
  56. package/dist/es/models/protocol/IHttpRequest.js.map +1 -0
  57. package/dist/es/models/protocol/IHttpRequestContext.js +2 -0
  58. package/dist/es/models/protocol/IHttpRequestContext.js.map +1 -0
  59. package/dist/es/models/protocol/IHttpRequestPathParams.js +4 -0
  60. package/dist/es/models/protocol/IHttpRequestPathParams.js.map +1 -0
  61. package/dist/es/models/protocol/IHttpRequestQuery.js +4 -0
  62. package/dist/es/models/protocol/IHttpRequestQuery.js.map +1 -0
  63. package/dist/es/models/protocol/IHttpResponse.js +2 -0
  64. package/dist/es/models/protocol/IHttpResponse.js.map +1 -0
  65. package/dist/es/models/protocol/IHttpServerRequest.js +2 -0
  66. package/dist/es/models/protocol/IHttpServerRequest.js.map +1 -0
  67. package/dist/es/models/protocol/ISocketRequestContext.js +2 -0
  68. package/dist/es/models/protocol/ISocketRequestContext.js.map +1 -0
  69. package/dist/es/models/protocol/ISocketServerRequest.js +2 -0
  70. package/dist/es/models/protocol/ISocketServerRequest.js.map +1 -0
  71. package/dist/es/models/requests/INoContentRequest.js +2 -0
  72. package/dist/es/models/requests/INoContentRequest.js.map +1 -0
  73. package/dist/es/models/responses/errors/IBadRequestResponse.js +2 -0
  74. package/dist/es/models/responses/errors/IBadRequestResponse.js.map +1 -0
  75. package/dist/es/models/responses/errors/IConflictResponse.js +2 -0
  76. package/dist/es/models/responses/errors/IConflictResponse.js.map +1 -0
  77. package/dist/es/models/responses/errors/IForbiddenResponse.js +2 -0
  78. package/dist/es/models/responses/errors/IForbiddenResponse.js.map +1 -0
  79. package/dist/es/models/responses/errors/IInternalServerErrorResponse.js +2 -0
  80. package/dist/es/models/responses/errors/IInternalServerErrorResponse.js.map +1 -0
  81. package/dist/es/models/responses/errors/INotFoundResponse.js +2 -0
  82. package/dist/es/models/responses/errors/INotFoundResponse.js.map +1 -0
  83. package/dist/es/models/responses/errors/INotImplementedResponse.js +2 -0
  84. package/dist/es/models/responses/errors/INotImplementedResponse.js.map +1 -0
  85. package/dist/es/models/responses/errors/ITooManyRequestsResponse.js +2 -0
  86. package/dist/es/models/responses/errors/ITooManyRequestsResponse.js.map +1 -0
  87. package/dist/es/models/responses/errors/IUnauthorizedResponse.js +2 -0
  88. package/dist/es/models/responses/errors/IUnauthorizedResponse.js.map +1 -0
  89. package/dist/es/models/responses/errors/IUnprocessableEntityResponse.js +2 -0
  90. package/dist/es/models/responses/errors/IUnprocessableEntityResponse.js.map +1 -0
  91. package/dist/es/models/responses/success/IAcceptedResponse.js +2 -0
  92. package/dist/es/models/responses/success/IAcceptedResponse.js.map +1 -0
  93. package/dist/es/models/responses/success/ICreatedResponse.js +2 -0
  94. package/dist/es/models/responses/success/ICreatedResponse.js.map +1 -0
  95. package/dist/es/models/responses/success/INoContentResponse.js +2 -0
  96. package/dist/es/models/responses/success/INoContentResponse.js.map +1 -0
  97. package/dist/es/models/responses/success/IOkResponse.js +2 -0
  98. package/dist/es/models/responses/success/IOkResponse.js.map +1 -0
  99. package/dist/es/models/routes/IBaseRoute.js +2 -0
  100. package/dist/es/models/routes/IBaseRoute.js.map +1 -0
  101. package/dist/es/models/routes/IBaseRouteEntryPoint.js +2 -0
  102. package/dist/es/models/routes/IBaseRouteEntryPoint.js.map +1 -0
  103. package/dist/es/models/routes/IRestRoute.js +2 -0
  104. package/dist/es/models/routes/IRestRoute.js.map +1 -0
  105. package/dist/es/models/routes/IRestRouteEntryPoint.js +2 -0
  106. package/dist/es/models/routes/IRestRouteEntryPoint.js.map +1 -0
  107. package/dist/es/models/routes/IRestRouteExample.js +4 -0
  108. package/dist/es/models/routes/IRestRouteExample.js.map +1 -0
  109. package/dist/es/models/routes/IRestRouteRequestExample.js +2 -0
  110. package/dist/es/models/routes/IRestRouteRequestExample.js.map +1 -0
  111. package/dist/es/models/routes/IRestRouteResponseAttachmentOptions.js +4 -0
  112. package/dist/es/models/routes/IRestRouteResponseAttachmentOptions.js.map +1 -0
  113. package/dist/es/models/routes/IRestRouteResponseExample.js +2 -0
  114. package/dist/es/models/routes/IRestRouteResponseExample.js.map +1 -0
  115. package/dist/es/models/routes/IRestRouteResponseOptions.js +2 -0
  116. package/dist/es/models/routes/IRestRouteResponseOptions.js.map +1 -0
  117. package/dist/es/models/routes/IRouteAuthorization.js +4 -0
  118. package/dist/es/models/routes/IRouteAuthorization.js.map +1 -0
  119. package/dist/es/models/routes/ISocketRoute.js +2 -0
  120. package/dist/es/models/routes/ISocketRoute.js.map +1 -0
  121. package/dist/es/models/routes/ISocketRouteEntryPoint.js +2 -0
  122. package/dist/es/models/routes/ISocketRouteEntryPoint.js.map +1 -0
  123. package/dist/es/models/routes/ITag.js +4 -0
  124. package/dist/es/models/routes/ITag.js.map +1 -0
  125. package/dist/es/models/routes/httpBodyLimit.js +17 -0
  126. package/dist/es/models/routes/httpBodyLimit.js.map +1 -0
  127. package/dist/es/models/server/IBaseRouteProcessor.js +2 -0
  128. package/dist/es/models/server/IBaseRouteProcessor.js.map +1 -0
  129. package/dist/es/models/server/IMimeTypeProcessor.js +2 -0
  130. package/dist/es/models/server/IMimeTypeProcessor.js.map +1 -0
  131. package/dist/es/models/server/IRestRouteProcessor.js +2 -0
  132. package/dist/es/models/server/IRestRouteProcessor.js.map +1 -0
  133. package/dist/es/models/server/ISocketRouteProcessor.js +2 -0
  134. package/dist/es/models/server/ISocketRouteProcessor.js.map +1 -0
  135. package/dist/es/models/server/IWebServer.js +2 -0
  136. package/dist/es/models/server/IWebServer.js.map +1 -0
  137. package/dist/es/models/server/IWebServerOptions.js +2 -0
  138. package/dist/es/models/server/IWebServerOptions.js.map +1 -0
  139. package/dist/es/models/services/IHealthApplicationCallback.js +2 -0
  140. package/dist/es/models/services/IHealthApplicationCallback.js.map +1 -0
  141. package/dist/es/models/services/IHealthComponent.js +2 -0
  142. package/dist/es/models/services/IHealthComponent.js.map +1 -0
  143. package/dist/es/models/services/IHealthProviderComponent.js +2 -0
  144. package/dist/es/models/services/IHealthProviderComponent.js.map +1 -0
  145. package/dist/es/models/services/IInformationComponent.js +2 -0
  146. package/dist/es/models/services/IInformationComponent.js.map +1 -0
  147. package/dist/es/models/services/IPlatformComponent.js +2 -0
  148. package/dist/es/models/services/IPlatformComponent.js.map +1 -0
  149. package/dist/es/models/services/IServerInfo.js +4 -0
  150. package/dist/es/models/services/IServerInfo.js.map +1 -0
  151. package/dist/es/models/services/ITenant.js +4 -0
  152. package/dist/es/models/services/ITenant.js.map +1 -0
  153. package/dist/es/models/services/ITenantAdminComponent.js +2 -0
  154. package/dist/es/models/services/ITenantAdminComponent.js.map +1 -0
  155. package/dist/es/models/services/tenantEventCallback.js +2 -0
  156. package/dist/es/models/services/tenantEventCallback.js.map +1 -0
  157. package/dist/es/models/services/tenantEventType.js +21 -0
  158. package/dist/es/models/services/tenantEventType.js.map +1 -0
  159. package/dist/types/errors/forbiddenError.d.ts +20 -0
  160. package/dist/types/errors/tooManyRequestsError.d.ts +22 -0
  161. package/dist/types/factories/mimeTypeProcessorFactory.d.ts +6 -0
  162. package/dist/types/factories/restClientProcessorFactory.d.ts +6 -0
  163. package/dist/types/factories/restRouteProcessorFactory.d.ts +6 -0
  164. package/dist/types/factories/socketRouteProcessorFactory.d.ts +6 -0
  165. package/dist/types/helpers/httpErrorHelper.d.ts +32 -0
  166. package/dist/types/helpers/httpHeaderHelper.d.ts +62 -0
  167. package/dist/types/helpers/httpParameterHelper.d.ts +29 -0
  168. package/dist/types/helpers/httpUrlHelper.d.ts +73 -0
  169. package/dist/types/index.d.ts +77 -0
  170. package/dist/types/models/IHealth.d.ts +42 -0
  171. package/dist/types/models/api/IServerFavIconResponse.d.ts +23 -0
  172. package/dist/types/models/api/IServerHealthResponse.d.ts +14 -0
  173. package/dist/types/models/api/IServerInfoResponse.d.ts +10 -0
  174. package/dist/types/models/api/IServerLivezResponse.d.ts +16 -0
  175. package/dist/types/models/api/IServerReadyzResponse.d.ts +16 -0
  176. package/dist/types/models/api/IServerRootResponse.d.ts +16 -0
  177. package/dist/types/models/api/IServerSpecResponse.d.ts +14 -0
  178. package/dist/types/models/client/IRestClientProcessor.d.ts +22 -0
  179. package/dist/types/models/client/IRestClientProcessorContext.d.ts +42 -0
  180. package/dist/types/models/config/IBaseRestClientConfig.d.ts +46 -0
  181. package/dist/types/models/config/IBaseSocketClientConfig.d.ts +22 -0
  182. package/dist/types/models/healthCategory.d.ts +17 -0
  183. package/dist/types/models/healthStatus.d.ts +21 -0
  184. package/dist/types/models/httpContextIdKeys.d.ts +38 -0
  185. package/dist/types/models/protocol/IHttpRequest.d.ts +24 -0
  186. package/dist/types/models/protocol/IHttpRequestContext.d.ts +20 -0
  187. package/dist/types/models/protocol/IHttpRequestPathParams.d.ts +6 -0
  188. package/dist/types/models/protocol/IHttpRequestQuery.d.ts +6 -0
  189. package/dist/types/models/protocol/IHttpResponse.d.ts +18 -0
  190. package/dist/types/models/protocol/IHttpServerRequest.d.ts +15 -0
  191. package/dist/types/models/protocol/ISocketRequestContext.d.ts +10 -0
  192. package/dist/types/models/protocol/ISocketServerRequest.d.ts +10 -0
  193. package/dist/types/models/requests/INoContentRequest.d.ts +22 -0
  194. package/dist/types/models/responses/errors/IBadRequestResponse.d.ts +15 -0
  195. package/dist/types/models/responses/errors/IConflictResponse.d.ts +15 -0
  196. package/dist/types/models/responses/errors/IForbiddenResponse.d.ts +15 -0
  197. package/dist/types/models/responses/errors/IInternalServerErrorResponse.d.ts +15 -0
  198. package/dist/types/models/responses/errors/INotFoundResponse.d.ts +20 -0
  199. package/dist/types/models/responses/errors/INotImplementedResponse.d.ts +15 -0
  200. package/dist/types/models/responses/errors/ITooManyRequestsResponse.d.ts +15 -0
  201. package/dist/types/models/responses/errors/IUnauthorizedResponse.d.ts +15 -0
  202. package/dist/types/models/responses/errors/IUnprocessableEntityResponse.d.ts +15 -0
  203. package/dist/types/models/responses/success/IAcceptedResponse.d.ts +19 -0
  204. package/dist/types/models/responses/success/ICreatedResponse.d.ts +19 -0
  205. package/dist/types/models/responses/success/INoContentResponse.d.ts +10 -0
  206. package/dist/types/models/responses/success/IOkResponse.d.ts +10 -0
  207. package/dist/types/models/routes/IBaseRoute.d.ts +39 -0
  208. package/dist/types/models/routes/IBaseRouteEntryPoint.d.ts +22 -0
  209. package/dist/types/models/routes/IRestRoute.d.ts +80 -0
  210. package/dist/types/models/routes/IRestRouteEntryPoint.d.ts +6 -0
  211. package/dist/types/models/routes/IRestRouteExample.d.ts +13 -0
  212. package/dist/types/models/routes/IRestRouteRequestExample.d.ts +10 -0
  213. package/dist/types/models/routes/IRestRouteResponseAttachmentOptions.d.ts +17 -0
  214. package/dist/types/models/routes/IRestRouteResponseExample.d.ts +10 -0
  215. package/dist/types/models/routes/IRestRouteResponseOptions.d.ts +10 -0
  216. package/dist/types/models/routes/IRouteAuthorization.d.ts +17 -0
  217. package/dist/types/models/routes/ISocketRoute.d.ts +41 -0
  218. package/dist/types/models/routes/ISocketRouteEntryPoint.d.ts +6 -0
  219. package/dist/types/models/routes/ITag.d.ts +13 -0
  220. package/dist/types/models/routes/httpBodyLimit.d.ts +17 -0
  221. package/dist/types/models/server/IBaseRouteProcessor.d.ts +42 -0
  222. package/dist/types/models/server/IMimeTypeProcessor.d.ts +17 -0
  223. package/dist/types/models/server/IRestRouteProcessor.d.ts +24 -0
  224. package/dist/types/models/server/ISocketRouteProcessor.d.ts +38 -0
  225. package/dist/types/models/server/IWebServer.d.ts +36 -0
  226. package/dist/types/models/server/IWebServerOptions.d.ts +54 -0
  227. package/dist/types/models/services/IHealthApplicationCallback.d.ts +6 -0
  228. package/dist/types/models/services/IHealthComponent.d.ts +16 -0
  229. package/dist/types/models/services/IHealthProviderComponent.d.ts +31 -0
  230. package/dist/types/models/services/IInformationComponent.d.ts +41 -0
  231. package/dist/types/models/services/IPlatformComponent.d.ts +44 -0
  232. package/dist/types/models/services/IServerInfo.d.ts +13 -0
  233. package/dist/types/models/services/ITenant.d.ts +37 -0
  234. package/dist/types/models/services/ITenantAdminComponent.d.ts +70 -0
  235. package/dist/types/models/services/tenantEventCallback.d.ts +6 -0
  236. package/dist/types/models/services/tenantEventType.d.ts +21 -0
  237. package/docs/changelog.md +10 -0
  238. package/docs/examples.md +200 -0
  239. package/docs/reference/classes/ForbiddenError.md +57 -0
  240. package/docs/reference/classes/HttpErrorHelper.md +99 -0
  241. package/docs/reference/classes/HttpHeaderHelper.md +182 -0
  242. package/docs/reference/classes/HttpParameterHelper.md +125 -0
  243. package/docs/reference/classes/HttpUrlHelper.md +262 -0
  244. package/docs/reference/classes/TooManyRequestsError.md +69 -0
  245. package/docs/reference/index.md +95 -0
  246. package/docs/reference/interfaces/IAcceptedResponse.md +25 -0
  247. package/docs/reference/interfaces/IBadRequestResponse.md +19 -0
  248. package/docs/reference/interfaces/IBaseRestClientConfig.md +99 -0
  249. package/docs/reference/interfaces/IBaseRoute.md +89 -0
  250. package/docs/reference/interfaces/IBaseRouteEntryPoint.md +55 -0
  251. package/docs/reference/interfaces/IBaseRouteProcessor.md +134 -0
  252. package/docs/reference/interfaces/IBaseSocketClientConfig.md +35 -0
  253. package/docs/reference/interfaces/IConflictResponse.md +19 -0
  254. package/docs/reference/interfaces/ICreatedResponse.md +25 -0
  255. package/docs/reference/interfaces/IForbiddenResponse.md +19 -0
  256. package/docs/reference/interfaces/IHealth.md +71 -0
  257. package/docs/reference/interfaces/IHealthComponent.md +21 -0
  258. package/docs/reference/interfaces/IHealthProviderComponent.md +76 -0
  259. package/docs/reference/interfaces/IHttpRequest.md +46 -0
  260. package/docs/reference/interfaces/IHttpRequestContext.md +35 -0
  261. package/docs/reference/interfaces/IHttpRequestPathParams.md +7 -0
  262. package/docs/reference/interfaces/IHttpRequestQuery.md +7 -0
  263. package/docs/reference/interfaces/IHttpResponse.md +33 -0
  264. package/docs/reference/interfaces/IHttpServerRequest.md +81 -0
  265. package/docs/reference/interfaces/IInformationComponent.md +91 -0
  266. package/docs/reference/interfaces/IInternalServerErrorResponse.md +19 -0
  267. package/docs/reference/interfaces/IMimeTypeProcessor.md +43 -0
  268. package/docs/reference/interfaces/INoContentRequest.md +55 -0
  269. package/docs/reference/interfaces/INoContentResponse.md +11 -0
  270. package/docs/reference/interfaces/INotFoundResponse.md +27 -0
  271. package/docs/reference/interfaces/INotImplementedResponse.md +19 -0
  272. package/docs/reference/interfaces/IOkResponse.md +11 -0
  273. package/docs/reference/interfaces/IPlatformComponent.md +139 -0
  274. package/docs/reference/interfaces/IRestClientProcessor.md +69 -0
  275. package/docs/reference/interfaces/IRestClientProcessorContext.md +75 -0
  276. package/docs/reference/interfaces/IRestRoute.md +245 -0
  277. package/docs/reference/interfaces/IRestRouteExample.md +24 -0
  278. package/docs/reference/interfaces/IRestRouteProcessor.md +177 -0
  279. package/docs/reference/interfaces/IRestRouteRequestExample.md +45 -0
  280. package/docs/reference/interfaces/IRestRouteResponseAttachmentOptions.md +27 -0
  281. package/docs/reference/interfaces/IRestRouteResponseExample.md +45 -0
  282. package/docs/reference/interfaces/IRestRouteResponseOptions.md +11 -0
  283. package/docs/reference/interfaces/IRouteAuthorization.md +27 -0
  284. package/docs/reference/interfaces/IServerFavIconResponse.md +33 -0
  285. package/docs/reference/interfaces/IServerHealthResponse.md +19 -0
  286. package/docs/reference/interfaces/IServerInfo.md +19 -0
  287. package/docs/reference/interfaces/IServerInfoResponse.md +11 -0
  288. package/docs/reference/interfaces/IServerLivezResponse.md +23 -0
  289. package/docs/reference/interfaces/IServerReadyzResponse.md +23 -0
  290. package/docs/reference/interfaces/IServerRootResponse.md +23 -0
  291. package/docs/reference/interfaces/IServerSpecResponse.md +19 -0
  292. package/docs/reference/interfaces/ISocketRequestContext.md +55 -0
  293. package/docs/reference/interfaces/ISocketRoute.md +198 -0
  294. package/docs/reference/interfaces/ISocketRouteProcessor.md +247 -0
  295. package/docs/reference/interfaces/ISocketServerRequest.md +93 -0
  296. package/docs/reference/interfaces/ITag.md +19 -0
  297. package/docs/reference/interfaces/ITenant.md +67 -0
  298. package/docs/reference/interfaces/ITenantAdminComponent.md +227 -0
  299. package/docs/reference/interfaces/ITooManyRequestsResponse.md +19 -0
  300. package/docs/reference/interfaces/IUnauthorizedResponse.md +19 -0
  301. package/docs/reference/interfaces/IUnprocessableEntityResponse.md +19 -0
  302. package/docs/reference/interfaces/IWebServer.md +109 -0
  303. package/docs/reference/interfaces/IWebServerOptions.md +113 -0
  304. package/docs/reference/type-aliases/HealthApplicationCallback.md +16 -0
  305. package/docs/reference/type-aliases/HealthCategory.md +5 -0
  306. package/docs/reference/type-aliases/HealthStatus.md +5 -0
  307. package/docs/reference/type-aliases/HttpBodyLimit.md +5 -0
  308. package/docs/reference/type-aliases/HttpContextIdKeys.md +5 -0
  309. package/docs/reference/type-aliases/IRestRouteEntryPoint.md +5 -0
  310. package/docs/reference/type-aliases/ISocketRouteEntryPoint.md +5 -0
  311. package/docs/reference/type-aliases/TenantEventCallback.md +20 -0
  312. package/docs/reference/type-aliases/TenantEventType.md +5 -0
  313. package/docs/reference/variables/HealthCategory.md +19 -0
  314. package/docs/reference/variables/HealthStatus.md +25 -0
  315. package/docs/reference/variables/HttpBodyLimit.md +19 -0
  316. package/docs/reference/variables/HttpContextIdKeys.md +50 -0
  317. package/docs/reference/variables/MimeTypeProcessorFactory.md +5 -0
  318. package/docs/reference/variables/RestClientProcessorFactory.md +5 -0
  319. package/docs/reference/variables/RestRouteProcessorFactory.md +5 -0
  320. package/docs/reference/variables/SocketRouteProcessorFactory.md +5 -0
  321. package/docs/reference/variables/TenantEventType.md +25 -0
  322. package/locales/en.json +8 -0
  323. package/package.json +53 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IInternalServerErrorResponse.js","sources":["../../../../../src/models/responses/errors/IInternalServerErrorResponse.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IError } from \"@3sixty/core\";\nimport type { HttpStatusCode } from \"@3sixty/web\";\n\n/**\n * The server has encountered a situation it does not know how to handle, see the content for more details.\n */\nexport interface IInternalServerErrorResponse {\n\t/**\n\t * Response status code.\n\t */\n\tstatusCode: typeof HttpStatusCode.internalServerError;\n\n\t/**\n\t * The body which contains the error.\n\t */\n\tbody: IError;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=INotFoundResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"INotFoundResponse.js","sources":["../../../../../src/models/responses/errors/INotFoundResponse.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IError } from \"@3sixty/core\";\nimport type { HttpStatusCode } from \"@3sixty/web\";\n\n/**\n * The resource you tried to access does not exist, see the content for more details.\n */\nexport interface INotFoundResponse {\n\t/**\n\t * Response status code.\n\t */\n\tstatusCode: typeof HttpStatusCode.notFound;\n\n\t/**\n\t * The body which contains the error.\n\t */\n\tbody: IError & {\n\t\t/**\n\t\t * The id if the item that was not found.\n\t\t */\n\t\tnotFoundId?: string;\n\t};\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=INotImplementedResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"INotImplementedResponse.js","sources":["../../../../../src/models/responses/errors/INotImplementedResponse.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IError } from \"@3sixty/core\";\nimport type { HttpStatusCode } from \"@3sixty/web\";\n\n/**\n * The operation that you tried to perform is not implemented, see the content for more details.\n */\nexport interface INotImplementedResponse {\n\t/**\n\t * Response status code.\n\t */\n\tstatusCode: typeof HttpStatusCode.notImplemented;\n\n\t/**\n\t * The body which contains the error.\n\t */\n\tbody: IError;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ITooManyRequestsResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITooManyRequestsResponse.js","sources":["../../../../../src/models/responses/errors/ITooManyRequestsResponse.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IError } from \"@3sixty/core\";\nimport type { HttpStatusCode } from \"@3sixty/web\";\n\n/**\n * The request resulted in too many requests, see the content for more details.\n */\nexport interface ITooManyRequestsResponse {\n\t/**\n\t * Response status code.\n\t */\n\tstatusCode: typeof HttpStatusCode.tooManyRequests;\n\n\t/**\n\t * The body which contains the error.\n\t */\n\tbody: IError;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IUnauthorizedResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IUnauthorizedResponse.js","sources":["../../../../../src/models/responses/errors/IUnauthorizedResponse.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IError } from \"@3sixty/core\";\nimport type { HttpStatusCode } from \"@3sixty/web\";\n\n/**\n * You are not authorized to use the API or no credentials were supplied, see the content for more details.\n */\nexport interface IUnauthorizedResponse {\n\t/**\n\t * Response status code.\n\t */\n\tstatusCode: typeof HttpStatusCode.unauthorized;\n\n\t/**\n\t * The body which contains the error.\n\t */\n\tbody: IError;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IUnprocessableEntityResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IUnprocessableEntityResponse.js","sources":["../../../../../src/models/responses/errors/IUnprocessableEntityResponse.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IError } from \"@3sixty/core\";\nimport type { HttpStatusCode } from \"@3sixty/web\";\n\n/**\n * The server cannot process the request, see the content for more details.\n */\nexport interface IUnprocessableEntityResponse {\n\t/**\n\t * Response status code.\n\t */\n\tstatusCode: typeof HttpStatusCode.unprocessableEntity;\n\n\t/**\n\t * The body which contains the error.\n\t */\n\tbody: IError;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IAcceptedResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAcceptedResponse.js","sources":["../../../../../src/models/responses/success/IAcceptedResponse.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { HttpStatusCode } from \"@3sixty/web\";\n\n/**\n * The rest request ended in accepted response.\n */\nexport interface IAcceptedResponse {\n\t/**\n\t * Response status code.\n\t */\n\tstatusCode: typeof HttpStatusCode.accepted;\n\n\t/**\n\t * Additional response headers.\n\t */\n\theaders: {\n\t\t/**\n\t\t * The location where the resource was accepted.\n\t\t */\n\t\tlocation: string;\n\t};\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ICreatedResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICreatedResponse.js","sources":["../../../../../src/models/responses/success/ICreatedResponse.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { HeaderTypes, HttpStatusCode } from \"@3sixty/web\";\n\n/**\n * The rest request ended in created response.\n */\nexport interface ICreatedResponse {\n\t/**\n\t * Response status code.\n\t */\n\tstatusCode: typeof HttpStatusCode.created;\n\n\t/**\n\t * Additional response headers.\n\t */\n\theaders: {\n\t\t/**\n\t\t * The location where the resource was created.\n\t\t */\n\t\t[HeaderTypes.Location]: string;\n\t};\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=INoContentResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"INoContentResponse.js","sources":["../../../../../src/models/responses/success/INoContentResponse.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { HttpStatusCode } from \"@3sixty/web\";\n\n/**\n * The rest request ended in success with no data.\n */\nexport interface INoContentResponse {\n\t/**\n\t * Response status code.\n\t */\n\tstatusCode: typeof HttpStatusCode.noContent;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IOkResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IOkResponse.js","sources":["../../../../../src/models/responses/success/IOkResponse.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { HttpStatusCode } from \"@3sixty/web\";\n\n/**\n * The rest request ended in success with no data.\n */\nexport interface IOkResponse {\n\t/**\n\t * Response status code.\n\t */\n\tstatusCode: typeof HttpStatusCode.ok;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IBaseRoute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IBaseRoute.js","sources":["../../../../src/models/routes/IBaseRoute.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// Copyright 2026 3Sixty Trade Ltd.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IRouteAuthorization } from \"./IRouteAuthorization.js\";\n\n/**\n * Interface which defines a route.\n */\nexport interface IBaseRoute {\n\t/**\n\t * The id of the operation.\n\t */\n\toperationId: string;\n\n\t/**\n\t * The path to use for routing.\n\t */\n\tpath: string;\n\n\t/**\n\t * Skips the authentication requirement for this route.\n\t * @default false\n\t */\n\tskipAuth?: boolean;\n\n\t/**\n\t * Skips the tenant requirement for this route.\n\t * @default false\n\t */\n\tskipTenant?: boolean;\n\n\t/**\n\t * Requires authorization for this route.\n\t * @default true\n\t */\n\trequiresAuthorization?: boolean;\n\n\t/**\n\t * The default authorization which can access this route, used to seed the RBAC rules.\n\t */\n\tdefaultAuthorization?: IRouteAuthorization;\n\n\t/**\n\t * Set to true to prevent callers from using the overrideTenant query parameter on this route.\n\t * Tenant override is allowed by default, but you must hold the escalated privilege role to use it.\n\t * @default false\n\t */\n\tdisableTenantOverride?: boolean;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IBaseRouteEntryPoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IBaseRouteEntryPoint.js","sources":["../../../../src/models/routes/IBaseRouteEntryPoint.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ITag } from \"./ITag.js\";\n\n/**\n * Route entry points are used for exposing the routes from a package.\n */\nexport interface IBaseRouteEntryPoint<T> {\n\t/**\n\t * The name of the routes.\n\t */\n\tname: string;\n\n\t/**\n\t * The default base route name for the routes.\n\t */\n\tdefaultBaseRoute: string;\n\n\t/**\n\t * The tags for the routes.\n\t */\n\ttags: ITag[];\n\n\t/**\n\t * The method to generate the routes.\n\t */\n\tgenerateRoutes: (baseRouteName: string, componentName: string) => T[];\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IRestRoute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRestRoute.js","sources":["../../../../src/models/routes/IRestRoute.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { HttpMethod } from \"@3sixty/web\";\nimport type { IBaseRoute } from \"./IBaseRoute.js\";\nimport type { IRestRouteRequestExample } from \"./IRestRouteRequestExample.js\";\nimport type { IRestRouteResponseExample } from \"./IRestRouteResponseExample.js\";\nimport type { IRestRouteResponseOptions } from \"./IRestRouteResponseOptions.js\";\nimport type { IHttpRequest } from \"../protocol/IHttpRequest.js\";\nimport type { IHttpRequestContext } from \"../protocol/IHttpRequestContext.js\";\nimport type { IHttpResponse } from \"../protocol/IHttpResponse.js\";\n\n/**\n * Interface which defines a REST route.\n */\nexport interface IRestRoute<\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tT extends IHttpRequest = any,\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tU extends IHttpResponse & IRestRouteResponseOptions = any\n> extends IBaseRoute {\n\t/**\n\t * Summary of what task the operation performs.\n\t */\n\tsummary: string;\n\n\t/**\n\t * Tag for the operation.\n\t */\n\ttag: string;\n\n\t/**\n\t * The http method.\n\t */\n\tmethod: HttpMethod;\n\n\t/**\n\t * The handler module.\n\t */\n\thandler: (\n\t\t/**\n\t\t * The http request context.\n\t\t */\n\t\thttpRequestContext: IHttpRequestContext,\n\n\t\t/**\n\t\t * The request object, combined query param, path params and body.\n\t\t */\n\t\trequest: T\n\t) => Promise<U>;\n\n\t/**\n\t * The type of the request object.\n\t */\n\trequestType?: {\n\t\t/**\n\t\t * The object type for the request.\n\t\t */\n\t\ttype: string;\n\n\t\t/**\n\t\t * The mime type of the request, defaults to \"application/json\" if there is a body.\n\t\t */\n\t\tmimeType?: string;\n\n\t\t/**\n\t\t * Example objects for the request.\n\t\t */\n\t\texamples?: IRestRouteRequestExample<T>[];\n\t};\n\n\t/**\n\t * The type of the response object.\n\t */\n\tresponseType?: {\n\t\t/**\n\t\t * The object type of the response.\n\t\t */\n\t\ttype: string;\n\n\t\t/**\n\t\t * The mime type of the response, defaults to \"application/json\" if there is a body.\n\t\t */\n\t\tmimeType?: string;\n\n\t\t/**\n\t\t * Example objects of the response.\n\t\t */\n\t\texamples?: IRestRouteResponseExample<U>[];\n\t}[];\n\n\t/**\n\t * Exclude the route from being included in the spec file.\n\t */\n\texcludeFromSpec?: boolean;\n\n\t/**\n\t * The name of the body size limit to apply to the route, only used by methods that carry a body.\n\t * If not provided, the default body size limit will be used. The body size limits are defined in the web server options.\n\t */\n\tbodyLimit?: string;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IRestRouteEntryPoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRestRouteEntryPoint.js","sources":["../../../../src/models/routes/IRestRouteEntryPoint.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IBaseRouteEntryPoint } from \"./IBaseRouteEntryPoint.js\";\nimport type { IRestRoute } from \"./IRestRoute.js\";\n\n/**\n * Route entry points are used for exposing the REST routes from a package.\n */\nexport type IRestRouteEntryPoint = IBaseRouteEntryPoint<IRestRoute>;\n"]}
@@ -0,0 +1,4 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ export {};
4
+ //# sourceMappingURL=IRestRouteExample.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRestRouteExample.js","sources":["../../../../src/models/routes/IRestRouteExample.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * Interface which defines a REST route example.\n */\nexport interface IRestRouteExample {\n\t/**\n\t * Example objects for the request.\n\t */\n\tid: string;\n\n\t/**\n\t * Description of the example.\n\t */\n\tdescription?: string;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IRestRouteRequestExample.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRestRouteRequestExample.js","sources":["../../../../src/models/routes/IRestRouteRequestExample.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IRestRouteExample } from \"./IRestRouteExample.js\";\n\n/**\n * Interface which defines a REST route request example.\n */\nexport interface IRestRouteRequestExample<T> extends IRestRouteExample {\n\t/**\n\t * The example request object.\n\t */\n\trequest: T;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ export {};
4
+ //# sourceMappingURL=IRestRouteResponseAttachmentOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRestRouteResponseAttachmentOptions.js","sources":["../../../../src/models/routes/IRestRouteResponseAttachmentOptions.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * Interface which defines a REST route response for attachments.\n */\nexport interface IRestRouteResponseAttachmentOptions {\n\t/**\n\t * The content type to use in the response.\n\t */\n\tmimeType?: string;\n\n\t/**\n\t * The filename to use in content disposition.\n\t */\n\tfilename?: string;\n\n\t/**\n\t * Whether to inline the content.\n\t */\n\tinline?: boolean;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IRestRouteResponseExample.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRestRouteResponseExample.js","sources":["../../../../src/models/routes/IRestRouteResponseExample.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IRestRouteExample } from \"./IRestRouteExample.js\";\n\n/**\n * Interface which defines a REST route response example.\n */\nexport interface IRestRouteResponseExample<T> extends IRestRouteExample {\n\t/**\n\t * The example response object.\n\t */\n\tresponse: T;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IRestRouteResponseOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRestRouteResponseOptions.js","sources":["../../../../src/models/routes/IRestRouteResponseOptions.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IRestRouteResponseAttachmentOptions } from \"./IRestRouteResponseAttachmentOptions.js\";\n\n/**\n * Interface which defines a REST route response.\n */\nexport interface IRestRouteResponseOptions {\n\t/**\n\t * Additional options that can be used to control the response.\n\t */\n\tattachment?: IRestRouteResponseAttachmentOptions;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ // Copyright 2026 3Sixty Trade Ltd.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ export {};
4
+ //# sourceMappingURL=IRouteAuthorization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRouteAuthorization.js","sources":["../../../../src/models/routes/IRouteAuthorization.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,uCAAuC","sourcesContent":["// Copyright 2026 3Sixty Trade Ltd.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * Interface which defines the default authorization permission for a route used to seed the RBAC rules.\n */\nexport interface IRouteAuthorization {\n\t/**\n\t * The permission string for the route.\n\t */\n\tpermission: string;\n\n\t/**\n\t * The optional role string for the route.\n\t */\n\trole?: string;\n\n\t/**\n\t * The optional array of inherited permissions for the route.\n\t */\n\tinherits?: string[];\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ISocketRoute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ISocketRoute.js","sources":["../../../../src/models/routes/ISocketRoute.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IBaseRoute } from \"./IBaseRoute.js\";\nimport type { IHttpRequest } from \"../protocol/IHttpRequest.js\";\nimport type { IHttpResponse } from \"../protocol/IHttpResponse.js\";\nimport type { ISocketRequestContext } from \"../protocol/ISocketRequestContext.js\";\n\n/**\n * Interface which defines a socket route.\n */\nexport interface ISocketRoute<\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tT extends IHttpRequest = any,\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tU extends IHttpResponse = any\n> extends IBaseRoute {\n\t/**\n\t * The handler module.\n\t */\n\thandler: (\n\t\t/**\n\t\t * The request context.\n\t\t */\n\t\tsocketRequestContext: ISocketRequestContext,\n\n\t\t/**\n\t\t * The request object.\n\t\t */\n\t\trequest: T,\n\n\t\t/**\n\t\t * The function to emit an event.\n\t\t */\n\t\temit: (event: string, response: U) => Promise<void>\n\t) => Promise<void>;\n\n\t/**\n\t * The connected handler.\n\t */\n\tconnected?: (\n\t\t/**\n\t\t * The request context.\n\t\t */\n\t\tsocketRequestContext: ISocketRequestContext\n\t) => Promise<void>;\n\n\t/**\n\t * The disconnected handler.\n\t */\n\tdisconnected?: (\n\t\t/**\n\t\t * The request context.\n\t\t */\n\t\tsocketRequestContext: ISocketRequestContext\n\t) => Promise<void>;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ISocketRouteEntryPoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ISocketRouteEntryPoint.js","sources":["../../../../src/models/routes/ISocketRouteEntryPoint.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IBaseRouteEntryPoint } from \"./IBaseRouteEntryPoint.js\";\nimport type { ISocketRoute } from \"./ISocketRoute.js\";\n\n/**\n * Route entry points are used for exposing the socket routes from a package.\n */\nexport type ISocketRouteEntryPoint = IBaseRouteEntryPoint<ISocketRoute>;\n"]}
@@ -0,0 +1,4 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ export {};
4
+ //# sourceMappingURL=ITag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITag.js","sources":["../../../../src/models/routes/ITag.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * Tag for routes used to generate OpenAPI information.\n */\nexport interface ITag {\n\t/**\n\t * The name of the tag.\n\t */\n\tname: string;\n\n\t/**\n\t * Description for the tag.\n\t */\n\tdescription: string;\n}\n"]}
@@ -0,0 +1,17 @@
1
+ // Copyright 2026 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ /**
4
+ * The names of the well-known body size limits for routes.
5
+ */
6
+ // eslint-disable-next-line @typescript-eslint/naming-convention
7
+ export const HttpBodyLimit = {
8
+ /**
9
+ * The server default limit.
10
+ */
11
+ Default: "default",
12
+ /**
13
+ * A large limit for routes carrying file payloads, defaults to 25 MiB.
14
+ */
15
+ Large: "large"
16
+ };
17
+ //# sourceMappingURL=httpBodyLimit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"httpBodyLimit.js","sources":["../../../../src/models/routes/httpBodyLimit.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AAEvC;;GAEG;AACH,gEAAgE;AAChE,MAAM,CAAC,MAAM,aAAa,GAAG;IAC5B;;OAEG;IACH,OAAO,EAAE,SAAS;IAElB;;OAEG;IACH,KAAK,EAAE,OAAO;CACL,CAAC","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * The names of the well-known body size limits for routes.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const HttpBodyLimit = {\n\t/**\n\t * The server default limit.\n\t */\n\tDefault: \"default\",\n\n\t/**\n\t * A large limit for routes carrying file payloads, defaults to 25 MiB.\n\t */\n\tLarge: \"large\"\n} as const;\n\n/**\n * The names of the well-known body size limits for routes.\n */\nexport type HttpBodyLimit = (typeof HttpBodyLimit)[keyof typeof HttpBodyLimit];\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IBaseRouteProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IBaseRouteProcessor.js","sources":["../../../../src/models/server/IBaseRouteProcessor.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// Copyright 2026 3Sixty Trade Ltd.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IContextIds } from \"@3sixty/context\";\nimport type { IComponent } from \"@3sixty/core\";\nimport type { IHttpResponse } from \"../protocol/IHttpResponse.js\";\nimport type { IHttpServerRequest } from \"../protocol/IHttpServerRequest.js\";\nimport type { IBaseRoute } from \"../routes/IBaseRoute.js\";\n\n/**\n * The definition for a base processor for handling REST routes.\n */\nexport interface IBaseRouteProcessor<T = IBaseRoute, R = IHttpServerRequest> extends IComponent {\n\t/**\n\t * Pre process the REST request for the specified route.\n\t * @param request The request to handle.\n\t * @param response The response data to send if any.\n\t * @param route The route being requested, if a matching one was found.\n\t * @param contextIds The context IDs of the request.\n\t * @param processorState The state handed through the processors.\n\t * @param componentTypes The component types for the request.\n\t * @param componentTypes.loggingComponentType The logging component type.\n\t * @returns Promise that resolves when the request is processed.\n\t */\n\tpre?(\n\t\trequest: R,\n\t\tresponse: IHttpResponse,\n\t\troute: T | undefined,\n\t\tcontextIds: IContextIds,\n\t\tprocessorState: { [id: string]: unknown },\n\t\tcomponentTypes?: {\n\t\t\tloggingComponentType?: string;\n\t\t}\n\t): Promise<void>;\n\n\t/**\n\t * Post process the REST request for the specified route.\n\t * @param request The request to handle.\n\t * @param response The response data to send if any.\n\t * @param route The route being requested, if a matching one was found.\n\t * @param contextIds The context IDs of the request.\n\t * @param processorState The state handed through the processors.\n\t * @param componentTypes The component types for the request.\n\t * @param componentTypes.loggingComponentType The logging component type.\n\t * @returns Promise that resolves when the request is processed.\n\t */\n\tpost?(\n\t\trequest: R,\n\t\tresponse: IHttpResponse,\n\t\troute: T | undefined,\n\t\tcontextIds: IContextIds,\n\t\tprocessorState: { [id: string]: unknown },\n\t\tcomponentTypes?: {\n\t\t\tloggingComponentType?: string;\n\t\t}\n\t): Promise<void>;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IMimeTypeProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMimeTypeProcessor.js","sources":["../../../../src/models/server/IMimeTypeProcessor.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@3sixty/core\";\n\n/**\n * The definition for a handler for a specific MIME type.\n */\nexport interface IMimeTypeProcessor extends IComponent {\n\t/**\n\t * Get the MIME types that this handler can handle.\n\t * @returns The MIME types that this handler can handle.\n\t */\n\tgetTypes(): string[];\n\n\t/**\n\t * Handle content.\n\t * @param body The body to process.\n\t * @returns The processed body.\n\t */\n\thandle(body: Uint8Array): Promise<unknown>;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IRestRouteProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRestRouteProcessor.js","sources":["../../../../src/models/server/IRestRouteProcessor.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IBaseRouteProcessor } from \"./IBaseRouteProcessor.js\";\nimport type { IHttpResponse } from \"../protocol/IHttpResponse.js\";\nimport type { IHttpServerRequest } from \"../protocol/IHttpServerRequest.js\";\nimport type { IRestRoute } from \"../routes/IRestRoute.js\";\n\n/**\n * The definition for a processor for handling REST routes.\n */\nexport interface IRestRouteProcessor extends IBaseRouteProcessor<IRestRoute> {\n\t/**\n\t * Process the REST request for the specified route.\n\t * @param request The request to handle.\n\t * @param response The response data to send if any.\n\t * @param route The route being requested, if a matching one was found.\n\t * @param processorState The state handed through the processors.\n\t * @param componentTypes The component types for the request.\n\t * @param componentTypes.loggingComponentType The logging component type.\n\t * @returns Promise that resolves when the request is processed.\n\t */\n\tprocess?(\n\t\trequest: IHttpServerRequest,\n\t\tresponse: IHttpResponse,\n\t\troute: IRestRoute | undefined,\n\t\tprocessorState: { [id: string]: unknown },\n\t\tcomponentTypes?: {\n\t\t\tloggingComponentType?: string;\n\t\t}\n\t): Promise<void>;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ISocketRouteProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ISocketRouteProcessor.js","sources":["../../../../src/models/server/ISocketRouteProcessor.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IBaseRouteProcessor } from \"./IBaseRouteProcessor.js\";\nimport type { IHttpResponse } from \"../protocol/IHttpResponse.js\";\nimport type { ISocketServerRequest } from \"../protocol/ISocketServerRequest.js\";\nimport type { ISocketRoute } from \"../routes/ISocketRoute.js\";\n\n/**\n * The definition for a processor for handling socket routes.\n */\nexport interface ISocketRouteProcessor extends IBaseRouteProcessor<\n\tISocketRoute,\n\tISocketServerRequest\n> {\n\t/**\n\t * Process the connected event.\n\t * @param request The server request object containing the socket id and other parameters.\n\t * @param route The route being requested, if a matching one was found.\n\t * @param loggingComponentType The logging component type for the request.\n\t * @returns Promise that resolves when the request is processed.\n\t */\n\tconnected?(\n\t\trequest: ISocketServerRequest,\n\t\troute: ISocketRoute | undefined,\n\t\tloggingComponentType?: string\n\t): Promise<void>;\n\n\t/**\n\t * Process the disconnected event.\n\t * @param request The server request object containing the socket id and other parameters.\n\t * @param route The route being requested, if a matching one was found.\n\t * @param loggingComponentType The logging component type for the request.\n\t * @returns Promise that resolves when the request is processed.\n\t */\n\tdisconnected?(\n\t\trequest: ISocketServerRequest,\n\t\troute: ISocketRoute | undefined,\n\t\tloggingComponentType?: string\n\t): Promise<void>;\n\n\t/**\n\t * Process the REST request for the specified route.\n\t * @param request The server request object containing the socket id and other parameters.\n\t * @param response The response data to send if any.\n\t * @param route The route being requested, if a matching one was found.\n\t * @param processorState The state handed through the processors.\n\t * @param responseEmitter The function to emit a response.\n\t * @param loggingComponentType The logging component type for the request.\n\t * @returns Promise that resolves when the request is processed.\n\t */\n\tprocess?(\n\t\trequest: ISocketServerRequest,\n\t\tresponse: IHttpResponse,\n\t\troute: ISocketRoute | undefined,\n\t\tprocessorState: { [id: string]: unknown },\n\t\tresponseEmitter: (topic: string, response: IHttpResponse) => Promise<void>,\n\t\tloggingComponentType?: string\n\t): Promise<void>;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IWebServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IWebServer.js","sources":["../../../../src/models/server/IWebServer.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@3sixty/core\";\nimport type { IRestRouteProcessor } from \"./IRestRouteProcessor.js\";\nimport type { ISocketRouteProcessor } from \"./ISocketRouteProcessor.js\";\nimport type { IWebServerOptions } from \"./IWebServerOptions.js\";\nimport type { IRestRoute } from \"../routes/IRestRoute.js\";\nimport type { ISocketRoute } from \"../routes/ISocketRoute.js\";\n\n/**\n * Interface describing a web server.\n */\nexport interface IWebServer<T> extends IComponent {\n\t/**\n\t * Get the web server instance.\n\t * @returns The web server instance.\n\t */\n\tgetInstance(): T;\n\n\t/**\n\t * Build the server.\n\t * @param restRouteProcessors The processors for incoming requests over REST.\n\t * @param restRoutes The REST routes.\n\t * @param socketRouteProcessors The processors for incoming requests over Sockets.\n\t * @param socketRoutes The socket routes.\n\t * @param options Options for building the server.\n\t * @returns A promise that resolves when the server is fully built and ready to start.\n\t */\n\tbuild(\n\t\trestRouteProcessors?: IRestRouteProcessor[],\n\t\trestRoutes?: IRestRoute[],\n\t\tsocketRouteProcessors?: ISocketRouteProcessor[],\n\t\tsocketRoutes?: ISocketRoute[],\n\t\toptions?: IWebServerOptions\n\t): Promise<void>;\n\n\t/**\n\t * Start the server.\n\t * @returns A promise that resolves when the server is listening for connections.\n\t */\n\tstart(): Promise<void>;\n\n\t/**\n\t * Stop the server.\n\t * @returns A promise that resolves when the server has shut down all connections.\n\t */\n\tstop(): Promise<void>;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IWebServerOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IWebServerOptions.js","sources":["../../../../src/models/server/IWebServerOptions.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { HttpMethod } from \"@3sixty/web\";\n\n/**\n * Options for the web server.\n */\nexport interface IWebServerOptions {\n\t/**\n\t * The port to bind the web server to.\n\t * @default 3000\n\t */\n\tport?: number;\n\n\t/**\n\t * The address to bind the web server to.\n\t * @default localhost\n\t */\n\thost?: string;\n\n\t/**\n\t * The methods that the server accepts.\n\t * @default [\"GET\", \"PUT\", \"POST\", \"PATCH\", \"DELETE\", \"OPTIONS\"]\n\t */\n\tmethods?: HttpMethod[];\n\n\t/**\n\t * Any additional allowed headers.\n\t */\n\tallowedHeaders?: string[];\n\n\t/**\n\t * And additional exposed headers.\n\t */\n\texposedHeaders?: string[];\n\n\t/**\n\t * The allowed CORS domains.\n\t * @default [\"*\"]\n\t */\n\tcorsOrigins?: string | string[];\n\n\t/**\n\t * The public origin of the server, used for constructing the request URL.\n\t * If not provided, it will be determined from the incoming request.\n\t */\n\tpublicOrigin?: string;\n\n\t/**\n\t * Named body size limits in bytes for REST routes, referenced by a route's bodyLimit name.\n\t * Merged over the server's built-in limits; the \"default\" entry applies to routes with no bodyLimit name.\n\t */\n\tbodyLimits?: { [name: string]: number };\n\n\t/**\n\t * Custom configuration for the web server.\n\t */\n\tcustomWebConfig?: unknown;\n\n\t/**\n\t * Custom configuration for the socket server.\n\t */\n\tcustomSocketConfig?: unknown;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IHealthApplicationCallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHealthApplicationCallback.js","sources":["../../../../src/models/services/IHealthApplicationCallback.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IHealth } from \"../IHealth.js\";\n\n/**\n * Callback invoked by a component to supply a deferred application health result.\n * Only called when healthApplication returns undefined.\n */\nexport type HealthApplicationCallback = (result: IHealth[]) => Promise<void>;\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IHealthComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHealthComponent.js","sources":["../../../../src/models/services/IHealthComponent.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@3sixty/core\";\nimport type { HealthStatus } from \"../healthStatus.js\";\nimport type { IHealth } from \"../IHealth.js\";\n\n/**\n * The health component for the server.\n */\nexport interface IHealthComponent extends IComponent {\n\t/**\n\t * Get the server health.\n\t * @returns The service health.\n\t */\n\thealthStatus(): Promise<{ status: HealthStatus; components: IHealth[] }>;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IHealthProviderComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHealthProviderComponent.js","sources":["../../../../src/models/services/IHealthProviderComponent.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IContextIds } from \"@3sixty/context\";\nimport type { IHealth } from \"../IHealth.js\";\nimport type { HealthApplicationCallback } from \"./IHealthApplicationCallback.js\";\n\n/**\n * The health provider component for the server.\n */\nexport interface IHealthProviderComponent {\n\t/**\n\t * Returns the health status of the component.\n\t * @returns The health status of the component, can return multiple entries for elements within the component.\n\t */\n\thealth?(): Promise<IHealth[]>;\n\n\t/**\n\t * Initialize the application health processing for a component.\n\t * @param contextIds The context IDs provisioned during the init pass.\n\t * @returns A promise that resolves when the initialization is complete.\n\t */\n\thealthApplicationInit?(contextIds: IContextIds): Promise<void>;\n\n\t/**\n\t * Returns the application health status of the component, context IDs from init are set in the current context.\n\t * Returns undefined when the result will be provided asynchronously via the callback.\n\t * @param callback The callback to invoke when a deferred health result is ready.\n\t * @returns The health status, or undefined if the result will be provided via the callback.\n\t */\n\thealthApplication?(callback: HealthApplicationCallback): Promise<IHealth[] | undefined>;\n\n\t/**\n\t * Teardown the application health processing for a component.\n\t * @returns A promise that resolves when the teardown is complete.\n\t */\n\thealthApplicationTeardown?(): Promise<void>;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IInformationComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IInformationComponent.js","sources":["../../../../src/models/services/IInformationComponent.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@3sixty/core\";\nimport type { IServerInfo } from \"./IServerInfo.js\";\n\n/**\n * The information component for the server.\n */\nexport interface IInformationComponent extends IComponent {\n\t/**\n\t * Get the root information.\n\t * @returns The root information.\n\t */\n\troot(): Promise<string>;\n\n\t/**\n\t * Get the server information.\n\t * @returns The service information.\n\t */\n\tinfo(): Promise<IServerInfo>;\n\n\t/**\n\t * Get the favicon.\n\t * @returns The favicon.\n\t */\n\tfavicon(): Promise<Uint8Array | undefined>;\n\n\t/**\n\t * Get the OpenAPI spec.\n\t * @returns The OpenAPI spec.\n\t */\n\tspec(): Promise<unknown>;\n\n\t/**\n\t * Is the server live.\n\t * @returns The livez status of the server.\n\t */\n\tlivez(): Promise<{ status: \"alive\" | \"dead\" }>;\n\n\t/**\n\t * Is the server ready.\n\t * @returns The readyz status of the server.\n\t */\n\treadyz(): Promise<{ status: \"ready\" | \"not ready\" }>;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IPlatformComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPlatformComponent.js","sources":["../../../../src/models/services/IPlatformComponent.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// Copyright 2026 3Sixty Trade Ltd.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IContextIds } from \"@3sixty/context\";\nimport type { IComponent } from \"@3sixty/core\";\nimport type { TenantEventCallback } from \"./tenantEventCallback.js\";\nimport type { TenantEventType } from \"./tenantEventType.js\";\n\n/**\n * Interface for the platform component.\n */\nexport interface IPlatformComponent extends IComponent {\n\t/**\n\t * Indicates whether the component is running in a multi-tenant environment.\n\t * @returns True if the component is running in a multi-tenant environment, false otherwise.\n\t */\n\tisMultiTenant(): boolean;\n\n\t/**\n\t * Execute a method, if single tenant will run once, if multi-tenant will run for each tenant.\n\t * @param method The method to run for each tenant, returning false will stop any further iterations.\n\t * @returns A promise that resolves when the method has been executed for all applicable tenants.\n\t */\n\texecute(method: () => Promise<undefined | boolean> | Promise<void>): Promise<void>;\n\n\t/**\n\t * Get the local origin context IDs for the given URL.\n\t * @param url The URL to check.\n\t * @returns A promise that resolves to the context IDs if the URL is a local origin, undefined otherwise.\n\t */\n\tgetLocalOriginContext(url: string): Promise<IContextIds | undefined>;\n\n\t/**\n\t * Registers a callback to be invoked when a tenant event occurs.\n\t * @param callbackId A unique identifier for the callback.\n\t * @param callback The callback to invoke when a tenant event occurs.\n\t */\n\tregisterTenantEventCallback(callbackId: string, callback: TenantEventCallback): void;\n\n\t/**\n\t * Unregisters a previously registered tenant event callback.\n\t * @param callbackId The identifier of the callback to unregister.\n\t */\n\tunregisterTenantEventCallback(callbackId: string): void;\n\n\t/**\n\t * Fires all registered tenant event callbacks.\n\t * @param tenantId The ID of the tenant for which the event occurred.\n\t * @param eventType The type of event that occurred.\n\t * @returns A promise that resolves when all callbacks have been invoked.\n\t */\n\tfireTenantEvent(tenantId: string, eventType: TenantEventType): Promise<void>;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ export {};
4
+ //# sourceMappingURL=IServerInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IServerInfo.js","sources":["../../../../src/models/services/IServerInfo.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * The information about the server.\n */\nexport interface IServerInfo {\n\t/**\n\t * The application name.\n\t */\n\tname: string;\n\n\t/**\n\t * The version of the server.\n\t */\n\tversion: string;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ // Copyright 2025 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ export {};
4
+ //# sourceMappingURL=ITenant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITenant.js","sources":["../../../../src/models/services/ITenant.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * Model defining the tenant.\n */\nexport interface ITenant {\n\t/**\n\t * The unique identifier for the tenant.\n\t */\n\tid: string;\n\n\t/**\n\t * The api key for the tenant.\n\t */\n\tapiKey: string;\n\n\t/**\n\t * The label of the tenant.\n\t */\n\tlabel: string;\n\n\t/**\n\t * The date the tenant was created.\n\t */\n\tdateCreated: string;\n\n\t/**\n\t * The date the tenant was modified.\n\t */\n\tdateModified: string;\n\n\t/**\n\t * The public origin available to the public for accessing the API.\n\t */\n\tpublicOrigin?: string;\n\n\t/**\n\t * The organization id for the tenant.\n\t */\n\torganizationId: string;\n\n\t/**\n\t * Optional list of organization aliases that can are used for legacy lookups.\n\t */\n\torganizationIdLegacy?: string[];\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ITenantAdminComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITenantAdminComponent.js","sources":["../../../../src/models/services/ITenantAdminComponent.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@3sixty/core\";\nimport type { EntityCondition } from \"@3sixty/entity\";\nimport type { ITenant } from \"./ITenant.js\";\n\n/**\n * Configuration for the tenant admin component\n */\nexport interface ITenantAdminComponent extends IComponent {\n\t/**\n\t * Create a tenant.\n\t * @param tenant The tenant to store.\n\t * @returns The tenant id.\n\t */\n\tcreate(\n\t\ttenant: Omit<ITenant, \"id\" | \"dateCreated\" | \"dateModified\"> & { id?: string }\n\t): Promise<string>;\n\n\t/**\n\t * Update a tenant.\n\t * @param tenant The tenant to update.\n\t * @returns A promise that resolves when the tenant has been updated.\n\t */\n\tupdate(tenant: Partial<Omit<ITenant, \"dateCreated\" | \"dateModified\">>): Promise<void>;\n\n\t/**\n\t * Get a tenant by its id.\n\t * @param tenantId The id of the tenant.\n\t * @returns The tenant.\n\t * @throws Error if the tenant is not found.\n\t */\n\tget(tenantId: string): Promise<ITenant>;\n\n\t/**\n\t * Get a tenant by its api key.\n\t * @param apiKey The api key of the tenant.\n\t * @returns The tenant.\n\t * @throws Error if the tenant is not found.\n\t */\n\tgetByApiKey(apiKey: string): Promise<ITenant>;\n\n\t/**\n\t * Get a tenant by its public origin.\n\t * @param publicOrigin The origin of the tenant.\n\t * @returns The tenant.\n\t * @throws Error if the tenant is not found.\n\t */\n\tgetByPublicOrigin(publicOrigin: string): Promise<ITenant>;\n\n\t/**\n\t * Remove a tenant by its id.\n\t * @param tenantId The id of the tenant.\n\t * @returns A promise that resolves when the tenant has been removed.\n\t * @throws Error if the tenant is not found.\n\t */\n\tremove(tenantId: string): Promise<void>;\n\n\t/**\n\t * Get a tenant by its organization id, optionally searching legacy ids.\n\t * @param organizationId The organization id of the tenant.\n\t * @param includeLegacy Whether to also search the legacy organization id array.\n\t * @returns The tenant.\n\t * @throws Error if the tenant is not found.\n\t */\n\tgetTenantByOrganizationId(organizationId: string, includeLegacy?: boolean): Promise<ITenant>;\n\n\t/**\n\t * Query tenants with pagination.\n\t * @param conditions The conditions to filter the tenants.\n\t * @param properties The properties to include in the returned tenants.\n\t * @param cursor The cursor to start from.\n\t * @param limit The maximum number of tenants to return.\n\t * @returns The tenants and the next cursor if more tenants are available.\n\t */\n\tquery(\n\t\tconditions?: EntityCondition<ITenant>,\n\t\tproperties?: (keyof ITenant)[],\n\t\tcursor?: string,\n\t\tlimit?: number\n\t): Promise<{ tenants: ITenant[]; cursor?: string }>;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tenantEventCallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenantEventCallback.js","sources":["../../../../src/models/services/tenantEventCallback.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2026 3Sixty Trade Ltd.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { TenantEventType } from \"./tenantEventType.js\";\n\n/**\n * Callback invoked when a tenant event occurs.\n * Failures in the callback will be logged but will not prevent other callbacks from being invoked.\n */\nexport type TenantEventCallback = (tenantId: string, eventType: TenantEventType) => Promise<void>;\n"]}
@@ -0,0 +1,21 @@
1
+ // Copyright 2026 3Sixty Trade Ltd.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ /**
4
+ * The type of event that occurred for a tenant.
5
+ */
6
+ // eslint-disable-next-line @typescript-eslint/naming-convention
7
+ export const TenantEventType = {
8
+ /**
9
+ * The tenant was created.
10
+ */
11
+ Created: "created",
12
+ /**
13
+ * The tenant was updated.
14
+ */
15
+ Updated: "updated",
16
+ /**
17
+ * The tenant was deleted.
18
+ */
19
+ Deleted: "deleted"
20
+ };
21
+ //# sourceMappingURL=tenantEventType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenantEventType.js","sources":["../../../../src/models/services/tenantEventType.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,uCAAuC;AAEvC;;GAEG;AACH,gEAAgE;AAChE,MAAM,CAAC,MAAM,eAAe,GAAG;IAC9B;;OAEG;IACH,OAAO,EAAE,SAAS;IAElB;;OAEG;IACH,OAAO,EAAE,SAAS;IAElB;;OAEG;IACH,OAAO,EAAE,SAAS;CACT,CAAC","sourcesContent":["// Copyright 2026 3Sixty Trade Ltd.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * The type of event that occurred for a tenant.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const TenantEventType = {\n\t/**\n\t * The tenant was created.\n\t */\n\tCreated: \"created\",\n\n\t/**\n\t * The tenant was updated.\n\t */\n\tUpdated: \"updated\",\n\n\t/**\n\t * The tenant was deleted.\n\t */\n\tDeleted: \"deleted\"\n} as const;\n\n/**\n * The type of event that occurred for a tenant.\n */\nexport type TenantEventType = (typeof TenantEventType)[keyof typeof TenantEventType];\n"]}
@@ -0,0 +1,20 @@
1
+ import { BaseError } from "@3sixty/core";
2
+ /**
3
+ * Class to handle errors which are triggered by forbidden actions.
4
+ */
5
+ export declare class ForbiddenError extends BaseError {
6
+ /**
7
+ * Runtime name for the class.
8
+ */
9
+ static readonly CLASS_NAME: string;
10
+ /**
11
+ * Create a new instance of ForbiddenError.
12
+ * @param source The source of the error.
13
+ * @param message The message as a code.
14
+ * @param properties Any additional information for the error.
15
+ * @param cause The cause of the error if we have wrapped another error.
16
+ */
17
+ constructor(source: string, message: string, properties?: {
18
+ [id: string]: unknown;
19
+ }, cause?: unknown);
20
+ }
@@ -0,0 +1,22 @@
1
+ import { BaseError } from "@3sixty/core";
2
+ /**
3
+ * Class to handle errors which are triggered by too many requests.
4
+ */
5
+ export declare class TooManyRequestsError extends BaseError {
6
+ /**
7
+ * Runtime name for the class.
8
+ */
9
+ static readonly CLASS_NAME: string;
10
+ /**
11
+ * Create a new instance of TooManyRequestsError.
12
+ * @param source The source of the error.
13
+ * @param message The message as a code.
14
+ * @param requestCount The current request count.
15
+ * @param nextRequestTime The time when the next request can be made, as date ISO string.
16
+ * @param properties Any additional information for the error.
17
+ * @param cause The cause of the error if we have wrapped another error.
18
+ */
19
+ constructor(source: string, message: string, requestCount: number, nextRequestTime: string, properties?: {
20
+ [id: string]: unknown;
21
+ }, cause?: unknown);
22
+ }
@@ -0,0 +1,6 @@
1
+ import { Factory } from "@3sixty/core";
2
+ import type { IMimeTypeProcessor } from "../models/server/IMimeTypeProcessor.js";
3
+ /**
4
+ * Factory for creating implementation of mime type processor types.
5
+ */
6
+ export declare const MimeTypeProcessorFactory: Factory<IMimeTypeProcessor>;
@@ -0,0 +1,6 @@
1
+ import { Factory } from "@3sixty/core";
2
+ import type { IRestClientProcessor } from "../models/client/IRestClientProcessor.js";
3
+ /**
4
+ * Factory for creating implementation of REST client processor types.
5
+ */
6
+ export declare const RestClientProcessorFactory: Factory<IRestClientProcessor>;
@@ -0,0 +1,6 @@
1
+ import { Factory } from "@3sixty/core";
2
+ import type { IRestRouteProcessor } from "../models/server/IRestRouteProcessor.js";
3
+ /**
4
+ * Factory for creating implementation of REST route processor types.
5
+ */
6
+ export declare const RestRouteProcessorFactory: Factory<IRestRouteProcessor>;
@@ -0,0 +1,6 @@
1
+ import { Factory } from "@3sixty/core";
2
+ import type { ISocketRouteProcessor } from "../models/server/ISocketRouteProcessor.js";
3
+ /**
4
+ * Factory for creating implementation of socket route processor types.
5
+ */
6
+ export declare const SocketRouteProcessorFactory: Factory<ISocketRouteProcessor>;
@@ -0,0 +1,32 @@
1
+ import { type IError } from "@3sixty/core";
2
+ import { HttpStatusCode } from "@3sixty/web";
3
+ import type { IHttpResponse } from "../models/protocol/IHttpResponse.js";
4
+ /**
5
+ * Class to help with processing http errors.
6
+ */
7
+ export declare class HttpErrorHelper {
8
+ /**
9
+ * Mapping of error types to status codes.
10
+ */
11
+ static readonly ERROR_TYPE_MAP: {
12
+ [id: string]: HttpStatusCode;
13
+ };
14
+ /**
15
+ * Process the errors from the routes.
16
+ * @param err The error to process.
17
+ * @param includeStack Should the stack be included in the error.
18
+ * @returns The status code and additional error data.
19
+ */
20
+ static processError(err: unknown, includeStack?: boolean): {
21
+ error: IError;
22
+ httpStatusCode: HttpStatusCode;
23
+ };
24
+ /**
25
+ * Build an error response.
26
+ * @param response The response to build the error into.
27
+ * @param error The error to build the response for.
28
+ * @param statusCode The status code to use for the error.
29
+ * @param includeStack Should the stack be included in the error.
30
+ */
31
+ static buildResponse(response: IHttpResponse, error: IError, statusCode: HttpStatusCode, includeStack: boolean): void;
32
+ }