quidproquo-webserver 0.1.19 → 0.1.21

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 (441) hide show
  1. package/README.md +1 -2
  2. package/lib/commonjs/actionProcessor/api/getHttpApiEventAutoRespondActionProcessor.js +7 -5
  3. package/lib/commonjs/actionProcessor/api/getHttpApiEventAutoRespondActionProcessor.js.map +1 -1
  4. package/lib/commonjs/actions/dns/DnsActionType.d.ts +3 -1
  5. package/lib/commonjs/actions/dns/DnsActionType.js +2 -0
  6. package/lib/commonjs/actions/dns/DnsActionType.js.map +1 -1
  7. package/lib/commonjs/actions/dns/askDnsList.d.ts +2 -1
  8. package/lib/commonjs/actions/dns/askDnsList.js +1 -0
  9. package/lib/commonjs/actions/dns/askDnsList.js.map +1 -1
  10. package/lib/commonjs/actions/dns/askDnsResolveHosts.d.ts +9 -0
  11. package/lib/commonjs/actions/dns/askDnsResolveHosts.js +11 -0
  12. package/lib/commonjs/actions/dns/askDnsResolveHosts.js.map +1 -0
  13. package/lib/commonjs/actions/dns/index.d.ts +1 -0
  14. package/lib/commonjs/actions/dns/index.js +1 -0
  15. package/lib/commonjs/actions/dns/index.js.map +1 -1
  16. package/lib/commonjs/actions/index.d.ts +1 -1
  17. package/lib/commonjs/actions/index.js +1 -1
  18. package/lib/commonjs/actions/index.js.map +1 -1
  19. package/lib/commonjs/actions/openApi/OpenApiActionType.d.ts +3 -0
  20. package/lib/commonjs/actions/openApi/OpenApiActionType.js +8 -0
  21. package/lib/commonjs/actions/openApi/OpenApiActionType.js.map +1 -0
  22. package/lib/commonjs/actions/openApi/askOpenApiGetDocument.d.ts +9 -0
  23. package/lib/commonjs/actions/openApi/askOpenApiGetDocument.js +12 -0
  24. package/lib/commonjs/actions/openApi/askOpenApiGetDocument.js.map +1 -0
  25. package/lib/commonjs/actions/openApi/index.d.ts +2 -0
  26. package/lib/commonjs/actions/{openApiSpec → openApi}/index.js +2 -2
  27. package/lib/commonjs/actions/openApi/index.js.map +1 -0
  28. package/lib/commonjs/config/QPQConfig.d.ts +0 -1
  29. package/lib/commonjs/config/QPQConfig.js +0 -1
  30. package/lib/commonjs/config/QPQConfig.js.map +1 -1
  31. package/lib/commonjs/config/settings/api.d.ts +1 -2
  32. package/lib/commonjs/config/settings/api.js +1 -2
  33. package/lib/commonjs/config/settings/api.js.map +1 -1
  34. package/lib/commonjs/config/settings/dns.d.ts +15 -5
  35. package/lib/commonjs/config/settings/dns.js +10 -5
  36. package/lib/commonjs/config/settings/dns.js.map +1 -1
  37. package/lib/commonjs/config/settings/domainProxy.d.ts +0 -1
  38. package/lib/commonjs/config/settings/domainProxy.js.map +1 -1
  39. package/lib/commonjs/config/settings/emailSender.d.ts +3 -4
  40. package/lib/commonjs/config/settings/emailSender.js +5 -7
  41. package/lib/commonjs/config/settings/emailSender.js.map +1 -1
  42. package/lib/commonjs/config/settings/index.d.ts +0 -1
  43. package/lib/commonjs/config/settings/index.js +0 -1
  44. package/lib/commonjs/config/settings/index.js.map +1 -1
  45. package/lib/commonjs/config/settings/route.d.ts +2 -0
  46. package/lib/commonjs/config/settings/route.js.map +1 -1
  47. package/lib/commonjs/config/settings/webEntry.d.ts +0 -1
  48. package/lib/commonjs/config/settings/webEntry.js.map +1 -1
  49. package/lib/commonjs/config/settings/websocket.d.ts +1 -2
  50. package/lib/commonjs/config/settings/websocket.js +3 -12
  51. package/lib/commonjs/config/settings/websocket.js.map +1 -1
  52. package/lib/commonjs/config/types/JsonSchema.d.ts +1 -0
  53. package/lib/commonjs/config/types/JsonSchema.js +3 -0
  54. package/lib/commonjs/config/types/JsonSchema.js.map +1 -0
  55. package/lib/commonjs/config/types/RouteSchema.d.ts +10 -0
  56. package/lib/commonjs/config/types/RouteSchema.js +3 -0
  57. package/lib/commonjs/config/types/RouteSchema.js.map +1 -0
  58. package/lib/commonjs/config/types/index.d.ts +2 -0
  59. package/lib/commonjs/config/types/index.js +2 -0
  60. package/lib/commonjs/config/types/index.js.map +1 -1
  61. package/lib/commonjs/configUtils/dns/getDnsConfig.d.ts +4 -0
  62. package/lib/commonjs/configUtils/dns/getDnsConfig.js +16 -0
  63. package/lib/commonjs/configUtils/dns/getDnsConfig.js.map +1 -0
  64. package/lib/commonjs/configUtils/dns/getPrimaryRootDomain.d.ts +3 -0
  65. package/lib/commonjs/configUtils/dns/getPrimaryRootDomain.js +8 -0
  66. package/lib/commonjs/configUtils/dns/getPrimaryRootDomain.js.map +1 -0
  67. package/lib/commonjs/configUtils/dns/getRootDomains.d.ts +3 -0
  68. package/lib/commonjs/configUtils/dns/getRootDomains.js +8 -0
  69. package/lib/commonjs/configUtils/dns/getRootDomains.js.map +1 -0
  70. package/lib/commonjs/configUtils/dns/index.d.ts +3 -0
  71. package/lib/commonjs/configUtils/dns/index.js +20 -0
  72. package/lib/commonjs/configUtils/dns/index.js.map +1 -0
  73. package/lib/commonjs/configUtils/index.d.ts +2 -0
  74. package/lib/commonjs/configUtils/index.js +19 -0
  75. package/lib/commonjs/configUtils/index.js.map +1 -0
  76. package/lib/commonjs/configUtils/storageDrive/getStorageDriveCorsSettingsByName.d.ts +4 -0
  77. package/lib/commonjs/configUtils/storageDrive/getStorageDriveCorsSettingsByName.js +14 -0
  78. package/lib/commonjs/configUtils/storageDrive/getStorageDriveCorsSettingsByName.js.map +1 -0
  79. package/lib/commonjs/configUtils/storageDrive/index.d.ts +1 -0
  80. package/lib/commonjs/configUtils/storageDrive/index.js +18 -0
  81. package/lib/commonjs/configUtils/storageDrive/index.js.map +1 -0
  82. package/lib/commonjs/domain/index.d.ts +2 -0
  83. package/lib/commonjs/domain/index.js +19 -0
  84. package/lib/commonjs/domain/index.js.map +1 -0
  85. package/lib/commonjs/domain/logic/host/findRootDomainForHost.d.ts +6 -0
  86. package/lib/commonjs/domain/logic/host/findRootDomainForHost.js +19 -0
  87. package/lib/commonjs/domain/logic/host/findRootDomainForHost.js.map +1 -0
  88. package/lib/commonjs/domain/logic/host/getDomainTargetKey.d.ts +3 -0
  89. package/lib/commonjs/domain/logic/host/getDomainTargetKey.js +7 -0
  90. package/lib/commonjs/domain/logic/host/getDomainTargetKey.js.map +1 -0
  91. package/lib/commonjs/domain/logic/host/index.d.ts +6 -0
  92. package/lib/commonjs/domain/logic/host/index.js +23 -0
  93. package/lib/commonjs/domain/logic/host/index.js.map +1 -0
  94. package/lib/commonjs/domain/logic/host/resolveHostForRequestHost.d.ts +9 -0
  95. package/lib/commonjs/domain/logic/host/resolveHostForRequestHost.js +21 -0
  96. package/lib/commonjs/domain/logic/host/resolveHostForRequestHost.js.map +1 -0
  97. package/lib/commonjs/domain/logic/host/resolveHostForRoot.d.ts +5 -0
  98. package/lib/commonjs/domain/logic/host/resolveHostForRoot.js +15 -0
  99. package/lib/commonjs/domain/logic/host/resolveHostForRoot.js.map +1 -0
  100. package/lib/commonjs/domain/logic/host/resolveHosts.d.ts +9 -0
  101. package/lib/commonjs/domain/logic/host/resolveHosts.js +27 -0
  102. package/lib/commonjs/domain/logic/host/resolveHosts.js.map +1 -0
  103. package/lib/commonjs/domain/logic/host/resolvePrimaryHost.d.ts +5 -0
  104. package/lib/commonjs/domain/logic/host/resolvePrimaryHost.js +14 -0
  105. package/lib/commonjs/domain/logic/host/resolvePrimaryHost.js.map +1 -0
  106. package/lib/commonjs/domain/logic/index.d.ts +3 -0
  107. package/lib/commonjs/domain/logic/index.js +20 -0
  108. package/lib/commonjs/domain/logic/index.js.map +1 -0
  109. package/lib/commonjs/domain/logic/origin/getStorageDriveCorsAllowedOrigins.d.ts +4 -0
  110. package/lib/commonjs/domain/logic/origin/getStorageDriveCorsAllowedOrigins.js +9 -0
  111. package/lib/commonjs/domain/logic/origin/getStorageDriveCorsAllowedOrigins.js.map +1 -0
  112. package/lib/commonjs/domain/logic/origin/index.d.ts +4 -0
  113. package/lib/commonjs/domain/logic/origin/index.js +21 -0
  114. package/lib/commonjs/domain/logic/origin/index.js.map +1 -0
  115. package/lib/commonjs/domain/logic/origin/resolveContentSecurityPolicyEntry.d.ts +9 -0
  116. package/lib/commonjs/domain/logic/origin/resolveContentSecurityPolicyEntry.js +20 -0
  117. package/lib/commonjs/domain/logic/origin/resolveContentSecurityPolicyEntry.js.map +1 -0
  118. package/lib/commonjs/domain/logic/origin/resolveOrigins.d.ts +8 -0
  119. package/lib/commonjs/domain/logic/origin/resolveOrigins.js +20 -0
  120. package/lib/commonjs/domain/logic/origin/resolveOrigins.js.map +1 -0
  121. package/lib/commonjs/domain/logic/origin/resolveServiceScopedCorsAllowedOrigins.d.ts +8 -0
  122. package/lib/commonjs/domain/logic/origin/resolveServiceScopedCorsAllowedOrigins.js +21 -0
  123. package/lib/commonjs/domain/logic/origin/resolveServiceScopedCorsAllowedOrigins.js.map +1 -0
  124. package/lib/commonjs/domain/logic/resolver/getDomainResolver.d.ts +4 -0
  125. package/lib/commonjs/domain/logic/resolver/getDomainResolver.js +20 -0
  126. package/lib/commonjs/domain/logic/resolver/getDomainResolver.js.map +1 -0
  127. package/lib/commonjs/domain/logic/resolver/index.d.ts +4 -0
  128. package/lib/commonjs/domain/logic/resolver/index.js +21 -0
  129. package/lib/commonjs/domain/logic/resolver/index.js.map +1 -0
  130. package/lib/commonjs/domain/logic/resolver/isLocalhostRootDomain.d.ts +2 -0
  131. package/lib/commonjs/domain/logic/resolver/isLocalhostRootDomain.js +7 -0
  132. package/lib/commonjs/domain/logic/resolver/isLocalhostRootDomain.js.map +1 -0
  133. package/lib/commonjs/domain/logic/resolver/loadDomainResolver.d.ts +8 -0
  134. package/lib/commonjs/domain/logic/resolver/loadDomainResolver.js +33 -0
  135. package/lib/commonjs/domain/logic/resolver/loadDomainResolver.js.map +1 -0
  136. package/lib/commonjs/domain/logic/resolver/validateResolvedHost.d.ts +3 -0
  137. package/lib/commonjs/domain/logic/resolver/validateResolvedHost.js +13 -0
  138. package/lib/commonjs/domain/logic/resolver/validateResolvedHost.js.map +1 -0
  139. package/lib/commonjs/domain/resolvers/defaultDomainResolver.d.ts +3 -0
  140. package/lib/commonjs/domain/resolvers/defaultDomainResolver.js +11 -0
  141. package/lib/commonjs/domain/resolvers/defaultDomainResolver.js.map +1 -0
  142. package/lib/commonjs/domain/resolvers/index.d.ts +2 -0
  143. package/lib/commonjs/domain/resolvers/index.js +19 -0
  144. package/lib/commonjs/domain/resolvers/index.js.map +1 -0
  145. package/lib/commonjs/domain/resolvers/localhostDomainResolver.d.ts +3 -0
  146. package/lib/commonjs/domain/resolvers/localhostDomainResolver.js +8 -0
  147. package/lib/commonjs/domain/resolvers/localhostDomainResolver.js.map +1 -0
  148. package/lib/commonjs/domain/types/DomainResolver.d.ts +10 -0
  149. package/lib/commonjs/domain/types/DomainResolver.js +3 -0
  150. package/lib/commonjs/domain/types/DomainResolver.js.map +1 -0
  151. package/lib/commonjs/domain/types/DomainScope.d.ts +13 -0
  152. package/lib/commonjs/domain/types/DomainScope.js +3 -0
  153. package/lib/commonjs/domain/types/DomainScope.js.map +1 -0
  154. package/lib/commonjs/domain/types/DomainTarget.d.ts +5 -0
  155. package/lib/commonjs/domain/types/DomainTarget.js +3 -0
  156. package/lib/commonjs/domain/types/DomainTarget.js.map +1 -0
  157. package/lib/commonjs/domain/types/index.d.ts +3 -0
  158. package/lib/commonjs/domain/types/index.js +20 -0
  159. package/lib/commonjs/domain/types/index.js.map +1 -0
  160. package/lib/commonjs/index.d.ts +1 -0
  161. package/lib/commonjs/index.js +1 -0
  162. package/lib/commonjs/index.js.map +1 -1
  163. package/lib/commonjs/stories/index.d.ts +0 -1
  164. package/lib/commonjs/stories/index.js +0 -1
  165. package/lib/commonjs/stories/index.js.map +1 -1
  166. package/lib/commonjs/types/OpenApiDocument.d.ts +60 -0
  167. package/lib/commonjs/types/OpenApiDocument.js +3 -0
  168. package/lib/commonjs/types/OpenApiDocument.js.map +1 -0
  169. package/lib/commonjs/types/index.d.ts +1 -0
  170. package/lib/commonjs/types/index.js +1 -0
  171. package/lib/commonjs/types/index.js.map +1 -1
  172. package/lib/commonjs/utils/headerUtils.d.ts +5 -4
  173. package/lib/commonjs/utils/headerUtils.js +16 -29
  174. package/lib/commonjs/utils/headerUtils.js.map +1 -1
  175. package/lib/commonjs/utils/index.d.ts +3 -0
  176. package/lib/commonjs/utils/index.js +3 -0
  177. package/lib/commonjs/utils/index.js.map +1 -1
  178. package/lib/commonjs/utils/mergeRouteUtils.js +3 -0
  179. package/lib/commonjs/utils/mergeRouteUtils.js.map +1 -1
  180. package/lib/commonjs/utils/openApi/OpenApiDocumentOptions.d.ts +2 -0
  181. package/lib/commonjs/utils/openApi/OpenApiDocumentOptions.js +3 -0
  182. package/lib/commonjs/utils/openApi/OpenApiDocumentOptions.js.map +1 -0
  183. package/lib/commonjs/utils/openApi/buildOpenApiDocument.d.ts +5 -0
  184. package/lib/commonjs/utils/openApi/buildOpenApiDocument.js +55 -0
  185. package/lib/commonjs/utils/openApi/buildOpenApiDocument.js.map +1 -0
  186. package/lib/commonjs/utils/openApi/buildOpenApiOperation.d.ts +4 -0
  187. package/lib/commonjs/utils/openApi/buildOpenApiOperation.js +45 -0
  188. package/lib/commonjs/utils/openApi/buildOpenApiOperation.js.map +1 -0
  189. package/lib/commonjs/utils/openApi/buildOpenApiPathParameters.d.ts +2 -0
  190. package/lib/commonjs/utils/openApi/buildOpenApiPathParameters.js +13 -0
  191. package/lib/commonjs/utils/openApi/buildOpenApiPathParameters.js.map +1 -0
  192. package/lib/commonjs/utils/openApi/buildOpenApiQueryParameters.d.ts +3 -0
  193. package/lib/commonjs/utils/openApi/buildOpenApiQueryParameters.js +25 -0
  194. package/lib/commonjs/utils/openApi/buildOpenApiQueryParameters.js.map +1 -0
  195. package/lib/commonjs/utils/openApi/buildOpenApiSecurity.d.ts +4 -0
  196. package/lib/commonjs/utils/openApi/buildOpenApiSecurity.js +24 -0
  197. package/lib/commonjs/utils/openApi/buildOpenApiSecurity.js.map +1 -0
  198. package/lib/commonjs/utils/openApi/index.d.ts +7 -0
  199. package/lib/commonjs/utils/openApi/index.js +24 -0
  200. package/lib/commonjs/utils/openApi/index.js.map +1 -0
  201. package/lib/commonjs/utils/openApi/openApiSecuritySchemeNames.d.ts +2 -0
  202. package/lib/commonjs/utils/openApi/openApiSecuritySchemeNames.js +7 -0
  203. package/lib/commonjs/utils/openApi/openApiSecuritySchemeNames.js.map +1 -0
  204. package/lib/commonjs/utils/qpqConfigAccessorsUtils.d.ts +1 -34
  205. package/lib/commonjs/utils/qpqConfigAccessorsUtils.js +7 -114
  206. package/lib/commonjs/utils/qpqConfigAccessorsUtils.js.map +1 -1
  207. package/lib/esm/actionProcessor/api/getHttpApiEventAutoRespondActionProcessor.js +6 -4
  208. package/lib/esm/actionProcessor/api/getHttpApiEventAutoRespondActionProcessor.js.map +1 -1
  209. package/lib/esm/actions/dns/DnsActionType.d.ts +3 -1
  210. package/lib/esm/actions/dns/DnsActionType.js +2 -0
  211. package/lib/esm/actions/dns/DnsActionType.js.map +1 -1
  212. package/lib/esm/actions/dns/askDnsList.d.ts +2 -1
  213. package/lib/esm/actions/dns/askDnsList.js +1 -0
  214. package/lib/esm/actions/dns/askDnsList.js.map +1 -1
  215. package/lib/esm/actions/dns/askDnsResolveHosts.d.ts +9 -0
  216. package/lib/esm/actions/dns/askDnsResolveHosts.js +8 -0
  217. package/lib/esm/actions/dns/askDnsResolveHosts.js.map +1 -0
  218. package/lib/esm/actions/dns/index.d.ts +1 -0
  219. package/lib/esm/actions/dns/index.js +1 -0
  220. package/lib/esm/actions/dns/index.js.map +1 -1
  221. package/lib/esm/actions/index.d.ts +1 -1
  222. package/lib/esm/actions/index.js +1 -1
  223. package/lib/esm/actions/index.js.map +1 -1
  224. package/lib/esm/actions/openApi/OpenApiActionType.d.ts +3 -0
  225. package/lib/esm/actions/openApi/OpenApiActionType.js +5 -0
  226. package/lib/esm/actions/openApi/OpenApiActionType.js.map +1 -0
  227. package/lib/esm/actions/openApi/askOpenApiGetDocument.d.ts +9 -0
  228. package/lib/esm/actions/openApi/askOpenApiGetDocument.js +9 -0
  229. package/lib/esm/actions/openApi/askOpenApiGetDocument.js.map +1 -0
  230. package/lib/esm/actions/openApi/index.d.ts +2 -0
  231. package/lib/esm/actions/openApi/index.js +3 -0
  232. package/lib/esm/actions/openApi/index.js.map +1 -0
  233. package/lib/esm/config/QPQConfig.d.ts +0 -1
  234. package/lib/esm/config/QPQConfig.js +0 -1
  235. package/lib/esm/config/QPQConfig.js.map +1 -1
  236. package/lib/esm/config/settings/api.d.ts +1 -2
  237. package/lib/esm/config/settings/api.js +1 -2
  238. package/lib/esm/config/settings/api.js.map +1 -1
  239. package/lib/esm/config/settings/dns.d.ts +15 -5
  240. package/lib/esm/config/settings/dns.js +10 -5
  241. package/lib/esm/config/settings/dns.js.map +1 -1
  242. package/lib/esm/config/settings/domainProxy.d.ts +0 -1
  243. package/lib/esm/config/settings/domainProxy.js.map +1 -1
  244. package/lib/esm/config/settings/emailSender.d.ts +3 -4
  245. package/lib/esm/config/settings/emailSender.js +5 -7
  246. package/lib/esm/config/settings/emailSender.js.map +1 -1
  247. package/lib/esm/config/settings/index.d.ts +0 -1
  248. package/lib/esm/config/settings/index.js +0 -1
  249. package/lib/esm/config/settings/index.js.map +1 -1
  250. package/lib/esm/config/settings/route.d.ts +2 -0
  251. package/lib/esm/config/settings/route.js.map +1 -1
  252. package/lib/esm/config/settings/webEntry.d.ts +0 -1
  253. package/lib/esm/config/settings/webEntry.js.map +1 -1
  254. package/lib/esm/config/settings/websocket.d.ts +1 -2
  255. package/lib/esm/config/settings/websocket.js +3 -12
  256. package/lib/esm/config/settings/websocket.js.map +1 -1
  257. package/lib/esm/config/types/JsonSchema.d.ts +1 -0
  258. package/lib/esm/config/types/JsonSchema.js +2 -0
  259. package/lib/esm/config/types/JsonSchema.js.map +1 -0
  260. package/lib/esm/config/types/RouteSchema.d.ts +10 -0
  261. package/lib/esm/config/types/RouteSchema.js +2 -0
  262. package/lib/esm/config/types/RouteSchema.js.map +1 -0
  263. package/lib/esm/config/types/index.d.ts +2 -0
  264. package/lib/esm/config/types/index.js +2 -0
  265. package/lib/esm/config/types/index.js.map +1 -1
  266. package/lib/esm/configUtils/dns/getDnsConfig.d.ts +4 -0
  267. package/lib/esm/configUtils/dns/getDnsConfig.js +11 -0
  268. package/lib/esm/configUtils/dns/getDnsConfig.js.map +1 -0
  269. package/lib/esm/configUtils/dns/getPrimaryRootDomain.d.ts +3 -0
  270. package/lib/esm/configUtils/dns/getPrimaryRootDomain.js +4 -0
  271. package/lib/esm/configUtils/dns/getPrimaryRootDomain.js.map +1 -0
  272. package/lib/esm/configUtils/dns/getRootDomains.d.ts +3 -0
  273. package/lib/esm/configUtils/dns/getRootDomains.js +4 -0
  274. package/lib/esm/configUtils/dns/getRootDomains.js.map +1 -0
  275. package/lib/esm/configUtils/dns/index.d.ts +3 -0
  276. package/lib/esm/configUtils/dns/index.js +4 -0
  277. package/lib/esm/configUtils/dns/index.js.map +1 -0
  278. package/lib/esm/configUtils/index.d.ts +2 -0
  279. package/lib/esm/configUtils/index.js +3 -0
  280. package/lib/esm/configUtils/index.js.map +1 -0
  281. package/lib/esm/configUtils/storageDrive/getStorageDriveCorsSettingsByName.d.ts +4 -0
  282. package/lib/esm/configUtils/storageDrive/getStorageDriveCorsSettingsByName.js +7 -0
  283. package/lib/esm/configUtils/storageDrive/getStorageDriveCorsSettingsByName.js.map +1 -0
  284. package/lib/esm/configUtils/storageDrive/index.d.ts +1 -0
  285. package/lib/esm/configUtils/storageDrive/index.js +2 -0
  286. package/lib/esm/configUtils/storageDrive/index.js.map +1 -0
  287. package/lib/esm/domain/index.d.ts +2 -0
  288. package/lib/esm/domain/index.js +3 -0
  289. package/lib/esm/domain/index.js.map +1 -0
  290. package/lib/esm/domain/logic/host/findRootDomainForHost.d.ts +6 -0
  291. package/lib/esm/domain/logic/host/findRootDomainForHost.js +14 -0
  292. package/lib/esm/domain/logic/host/findRootDomainForHost.js.map +1 -0
  293. package/lib/esm/domain/logic/host/getDomainTargetKey.d.ts +3 -0
  294. package/lib/esm/domain/logic/host/getDomainTargetKey.js +3 -0
  295. package/lib/esm/domain/logic/host/getDomainTargetKey.js.map +1 -0
  296. package/lib/esm/domain/logic/host/index.d.ts +6 -0
  297. package/lib/esm/domain/logic/host/index.js +7 -0
  298. package/lib/esm/domain/logic/host/index.js.map +1 -0
  299. package/lib/esm/domain/logic/host/resolveHostForRequestHost.d.ts +9 -0
  300. package/lib/esm/domain/logic/host/resolveHostForRequestHost.js +16 -0
  301. package/lib/esm/domain/logic/host/resolveHostForRequestHost.js.map +1 -0
  302. package/lib/esm/domain/logic/host/resolveHostForRoot.d.ts +5 -0
  303. package/lib/esm/domain/logic/host/resolveHostForRoot.js +11 -0
  304. package/lib/esm/domain/logic/host/resolveHostForRoot.js.map +1 -0
  305. package/lib/esm/domain/logic/host/resolveHosts.d.ts +9 -0
  306. package/lib/esm/domain/logic/host/resolveHosts.js +23 -0
  307. package/lib/esm/domain/logic/host/resolveHosts.js.map +1 -0
  308. package/lib/esm/domain/logic/host/resolvePrimaryHost.d.ts +5 -0
  309. package/lib/esm/domain/logic/host/resolvePrimaryHost.js +10 -0
  310. package/lib/esm/domain/logic/host/resolvePrimaryHost.js.map +1 -0
  311. package/lib/esm/domain/logic/index.d.ts +3 -0
  312. package/lib/esm/domain/logic/index.js +4 -0
  313. package/lib/esm/domain/logic/index.js.map +1 -0
  314. package/lib/esm/domain/logic/origin/getStorageDriveCorsAllowedOrigins.d.ts +4 -0
  315. package/lib/esm/domain/logic/origin/getStorageDriveCorsAllowedOrigins.js +5 -0
  316. package/lib/esm/domain/logic/origin/getStorageDriveCorsAllowedOrigins.js.map +1 -0
  317. package/lib/esm/domain/logic/origin/index.d.ts +4 -0
  318. package/lib/esm/domain/logic/origin/index.js +5 -0
  319. package/lib/esm/domain/logic/origin/index.js.map +1 -0
  320. package/lib/esm/domain/logic/origin/resolveContentSecurityPolicyEntry.d.ts +9 -0
  321. package/lib/esm/domain/logic/origin/resolveContentSecurityPolicyEntry.js +16 -0
  322. package/lib/esm/domain/logic/origin/resolveContentSecurityPolicyEntry.js.map +1 -0
  323. package/lib/esm/domain/logic/origin/resolveOrigins.d.ts +8 -0
  324. package/lib/esm/domain/logic/origin/resolveOrigins.js +16 -0
  325. package/lib/esm/domain/logic/origin/resolveOrigins.js.map +1 -0
  326. package/lib/esm/domain/logic/origin/resolveServiceScopedCorsAllowedOrigins.d.ts +8 -0
  327. package/lib/esm/domain/logic/origin/resolveServiceScopedCorsAllowedOrigins.js +17 -0
  328. package/lib/esm/domain/logic/origin/resolveServiceScopedCorsAllowedOrigins.js.map +1 -0
  329. package/lib/esm/domain/logic/resolver/getDomainResolver.d.ts +4 -0
  330. package/lib/esm/domain/logic/resolver/getDomainResolver.js +16 -0
  331. package/lib/esm/domain/logic/resolver/getDomainResolver.js.map +1 -0
  332. package/lib/esm/domain/logic/resolver/index.d.ts +4 -0
  333. package/lib/esm/domain/logic/resolver/index.js +5 -0
  334. package/lib/esm/domain/logic/resolver/index.js.map +1 -0
  335. package/lib/esm/domain/logic/resolver/isLocalhostRootDomain.d.ts +2 -0
  336. package/lib/esm/domain/logic/resolver/isLocalhostRootDomain.js +3 -0
  337. package/lib/esm/domain/logic/resolver/isLocalhostRootDomain.js.map +1 -0
  338. package/lib/esm/domain/logic/resolver/loadDomainResolver.d.ts +8 -0
  339. package/lib/esm/domain/logic/resolver/loadDomainResolver.js +19 -0
  340. package/lib/esm/domain/logic/resolver/loadDomainResolver.js.map +1 -0
  341. package/lib/esm/domain/logic/resolver/validateResolvedHost.d.ts +3 -0
  342. package/lib/esm/domain/logic/resolver/validateResolvedHost.js +9 -0
  343. package/lib/esm/domain/logic/resolver/validateResolvedHost.js.map +1 -0
  344. package/lib/esm/domain/resolvers/defaultDomainResolver.d.ts +3 -0
  345. package/lib/esm/domain/resolvers/defaultDomainResolver.js +8 -0
  346. package/lib/esm/domain/resolvers/defaultDomainResolver.js.map +1 -0
  347. package/lib/esm/domain/resolvers/index.d.ts +2 -0
  348. package/lib/esm/domain/resolvers/index.js +3 -0
  349. package/lib/esm/domain/resolvers/index.js.map +1 -0
  350. package/lib/esm/domain/resolvers/localhostDomainResolver.d.ts +3 -0
  351. package/lib/esm/domain/resolvers/localhostDomainResolver.js +5 -0
  352. package/lib/esm/domain/resolvers/localhostDomainResolver.js.map +1 -0
  353. package/lib/esm/domain/types/DomainResolver.d.ts +10 -0
  354. package/lib/esm/domain/types/DomainResolver.js +2 -0
  355. package/lib/esm/domain/types/DomainResolver.js.map +1 -0
  356. package/lib/esm/domain/types/DomainScope.d.ts +13 -0
  357. package/lib/esm/domain/types/DomainScope.js +2 -0
  358. package/lib/esm/domain/types/DomainScope.js.map +1 -0
  359. package/lib/esm/domain/types/DomainTarget.d.ts +5 -0
  360. package/lib/esm/domain/types/DomainTarget.js +2 -0
  361. package/lib/esm/domain/types/DomainTarget.js.map +1 -0
  362. package/lib/esm/domain/types/index.d.ts +3 -0
  363. package/lib/esm/domain/types/index.js +4 -0
  364. package/lib/esm/domain/types/index.js.map +1 -0
  365. package/lib/esm/index.d.ts +1 -0
  366. package/lib/esm/index.js +1 -0
  367. package/lib/esm/index.js.map +1 -1
  368. package/lib/esm/stories/index.d.ts +0 -1
  369. package/lib/esm/stories/index.js +0 -1
  370. package/lib/esm/stories/index.js.map +1 -1
  371. package/lib/esm/types/OpenApiDocument.d.ts +60 -0
  372. package/lib/esm/types/OpenApiDocument.js +2 -0
  373. package/lib/esm/types/OpenApiDocument.js.map +1 -0
  374. package/lib/esm/types/index.d.ts +1 -0
  375. package/lib/esm/types/index.js +1 -0
  376. package/lib/esm/types/index.js.map +1 -1
  377. package/lib/esm/utils/headerUtils.d.ts +5 -4
  378. package/lib/esm/utils/headerUtils.js +16 -28
  379. package/lib/esm/utils/headerUtils.js.map +1 -1
  380. package/lib/esm/utils/index.d.ts +3 -0
  381. package/lib/esm/utils/index.js +3 -0
  382. package/lib/esm/utils/index.js.map +1 -1
  383. package/lib/esm/utils/mergeRouteUtils.js +2 -0
  384. package/lib/esm/utils/mergeRouteUtils.js.map +1 -1
  385. package/lib/esm/utils/openApi/OpenApiDocumentOptions.d.ts +2 -0
  386. package/lib/esm/utils/openApi/OpenApiDocumentOptions.js +2 -0
  387. package/lib/esm/utils/openApi/OpenApiDocumentOptions.js.map +1 -0
  388. package/lib/esm/utils/openApi/buildOpenApiDocument.d.ts +5 -0
  389. package/lib/esm/utils/openApi/buildOpenApiDocument.js +50 -0
  390. package/lib/esm/utils/openApi/buildOpenApiDocument.js.map +1 -0
  391. package/lib/esm/utils/openApi/buildOpenApiOperation.d.ts +4 -0
  392. package/lib/esm/utils/openApi/buildOpenApiOperation.js +40 -0
  393. package/lib/esm/utils/openApi/buildOpenApiOperation.js.map +1 -0
  394. package/lib/esm/utils/openApi/buildOpenApiPathParameters.d.ts +2 -0
  395. package/lib/esm/utils/openApi/buildOpenApiPathParameters.js +9 -0
  396. package/lib/esm/utils/openApi/buildOpenApiPathParameters.js.map +1 -0
  397. package/lib/esm/utils/openApi/buildOpenApiQueryParameters.d.ts +3 -0
  398. package/lib/esm/utils/openApi/buildOpenApiQueryParameters.js +21 -0
  399. package/lib/esm/utils/openApi/buildOpenApiQueryParameters.js.map +1 -0
  400. package/lib/esm/utils/openApi/buildOpenApiSecurity.d.ts +4 -0
  401. package/lib/esm/utils/openApi/buildOpenApiSecurity.js +19 -0
  402. package/lib/esm/utils/openApi/buildOpenApiSecurity.js.map +1 -0
  403. package/lib/esm/utils/openApi/index.d.ts +7 -0
  404. package/lib/esm/utils/openApi/index.js +8 -0
  405. package/lib/esm/utils/openApi/index.js.map +1 -0
  406. package/lib/esm/utils/openApi/openApiSecuritySchemeNames.d.ts +2 -0
  407. package/lib/esm/utils/openApi/openApiSecuritySchemeNames.js +4 -0
  408. package/lib/esm/utils/openApi/openApiSecuritySchemeNames.js.map +1 -0
  409. package/lib/esm/utils/qpqConfigAccessorsUtils.d.ts +1 -34
  410. package/lib/esm/utils/qpqConfigAccessorsUtils.js +5 -100
  411. package/lib/esm/utils/qpqConfigAccessorsUtils.js.map +1 -1
  412. package/package.json +3 -3
  413. package/lib/commonjs/actions/openApiSpec/OpenApiSpecActionType.d.ts +0 -3
  414. package/lib/commonjs/actions/openApiSpec/OpenApiSpecActionType.js +0 -8
  415. package/lib/commonjs/actions/openApiSpec/OpenApiSpecActionType.js.map +0 -1
  416. package/lib/commonjs/actions/openApiSpec/askGetOpenApiSpec.d.ts +0 -2
  417. package/lib/commonjs/actions/openApiSpec/askGetOpenApiSpec.js +0 -9
  418. package/lib/commonjs/actions/openApiSpec/askGetOpenApiSpec.js.map +0 -1
  419. package/lib/commonjs/actions/openApiSpec/index.d.ts +0 -2
  420. package/lib/commonjs/actions/openApiSpec/index.js.map +0 -1
  421. package/lib/commonjs/config/settings/openApi.d.ts +0 -5
  422. package/lib/commonjs/config/settings/openApi.js +0 -13
  423. package/lib/commonjs/config/settings/openApi.js.map +0 -1
  424. package/lib/commonjs/stories/askGetDomainRoot.d.ts +0 -2
  425. package/lib/commonjs/stories/askGetDomainRoot.js +0 -22
  426. package/lib/commonjs/stories/askGetDomainRoot.js.map +0 -1
  427. package/lib/esm/actions/openApiSpec/OpenApiSpecActionType.d.ts +0 -3
  428. package/lib/esm/actions/openApiSpec/OpenApiSpecActionType.js +0 -5
  429. package/lib/esm/actions/openApiSpec/OpenApiSpecActionType.js.map +0 -1
  430. package/lib/esm/actions/openApiSpec/askGetOpenApiSpec.d.ts +0 -2
  431. package/lib/esm/actions/openApiSpec/askGetOpenApiSpec.js +0 -6
  432. package/lib/esm/actions/openApiSpec/askGetOpenApiSpec.js.map +0 -1
  433. package/lib/esm/actions/openApiSpec/index.d.ts +0 -2
  434. package/lib/esm/actions/openApiSpec/index.js +0 -3
  435. package/lib/esm/actions/openApiSpec/index.js.map +0 -1
  436. package/lib/esm/config/settings/openApi.d.ts +0 -5
  437. package/lib/esm/config/settings/openApi.js +0 -9
  438. package/lib/esm/config/settings/openApi.js.map +0 -1
  439. package/lib/esm/stories/askGetDomainRoot.d.ts +0 -2
  440. package/lib/esm/stories/askGetDomainRoot.js +0 -18
  441. package/lib/esm/stories/askGetDomainRoot.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { QPQConfig, QpqFunctionRuntime } from 'quidproquo-core';
2
- import { ApiKeyQPQWebServerConfigSetting, CacheQPQWebServerConfigSetting, CertificateQPQWebServerConfigSetting, DefaultRouteOptionsQPQWebServerConfigSetting, DnsQPQWebServerConfigSetting, DomainProxyQPQWebServerConfigSetting, EmailSenderQPQWebServerConfigSetting, FileUploadSettings, OpenApiQPQWebServerConfigSetting, RouteQPQWebServerConfigSetting, SeoQPQWebServerConfigSetting, ServiceFunctionQPQWebServerConfigSetting, SubdomainRedirectQPQWebServerConfigSetting, WebSocketQPQWebServerConfigSetting } from '../config';
2
+ import { ApiKeyQPQWebServerConfigSetting, CacheQPQWebServerConfigSetting, CertificateQPQWebServerConfigSetting, DefaultRouteOptionsQPQWebServerConfigSetting, DomainProxyQPQWebServerConfigSetting, EmailSenderQPQWebServerConfigSetting, FileUploadSettings, RouteQPQWebServerConfigSetting, SeoQPQWebServerConfigSetting, ServiceFunctionQPQWebServerConfigSetting, SubdomainRedirectQPQWebServerConfigSetting, WebSocketQPQWebServerConfigSetting } from '../config';
3
3
  import { ApiQPQWebServerConfigSetting, WebEntryQPQWebServerConfigSetting } from '../config';
4
4
  export declare const getAllRoutes: (qpqConfig: QPQConfig) => RouteQPQWebServerConfigSetting[];
5
5
  export declare const getAllRoutesForApi: (apiName: string, qpqConfig: QPQConfig) => RouteQPQWebServerConfigSetting[];
@@ -7,54 +7,21 @@ export declare const getAllApiKeyConfigs: (qpqConfig: QPQConfig) => ApiKeyQPQWeb
7
7
  export declare const getAllSeo: (qpqConfig: QPQConfig) => SeoQPQWebServerConfigSetting[];
8
8
  export declare const getAllServiceFunctions: (qpqConfig: QPQConfig) => ServiceFunctionQPQWebServerConfigSetting[];
9
9
  export declare const getOwnedServiceFunctions: (qpqConfig: QPQConfig) => ServiceFunctionQPQWebServerConfigSetting[];
10
- export declare const getAllOpenApiSpecs: (configs: QPQConfig) => OpenApiQPQWebServerConfigSetting[];
11
10
  export declare const getAllWebsocketSrcEntries: (qpqConfig: QPQConfig) => QpqFunctionRuntime[];
12
11
  export declare const getAllSrcEntries: (configs: QPQConfig) => QpqFunctionRuntime[];
13
- export declare const getDomainName: (configs: QPQConfig) => string;
14
12
  export declare const getWebEntry: (configs: QPQConfig) => string;
15
13
  export declare const getWebsocketEntryByApiName: (apiName: string, qpqConfig: QPQConfig) => WebSocketQPQWebServerConfigSetting;
16
14
  export declare const getSubdomainRedirects: (configs: QPQConfig) => SubdomainRedirectQPQWebServerConfigSetting[];
17
15
  export declare const getApiConfigs: (configs: QPQConfig) => ApiQPQWebServerConfigSetting[];
18
- export declare const getDnsConfigs: (configs: QPQConfig) => DnsQPQWebServerConfigSetting[];
19
16
  export declare const getWebEntryConfigs: (configs: QPQConfig) => WebEntryQPQWebServerConfigSetting[];
20
17
  export declare const getDomainProxyConfigs: (configs: QPQConfig) => DomainProxyQPQWebServerConfigSetting[];
21
18
  export declare const getAllOwnedCacheConfigs: (qpqConfig: QPQConfig) => CacheQPQWebServerConfigSetting[];
22
19
  export declare const getAllOwnedCertifcateConfigs: (qpqConfig: QPQConfig) => CertificateQPQWebServerConfigSetting[];
23
20
  export declare const getCacheConfigByName: (cacheConfigName: string, qpqConfig: QPQConfig) => CacheQPQWebServerConfigSetting;
24
- export declare const getEnvironmentDomainName: (configs: QPQConfig) => string;
25
- export declare const getBaseDomainName: (qpqConfig: QPQConfig) => string;
26
- export declare const getServiceDomainName: (qpqConfig: QPQConfig) => string;
27
- /**
28
- * Resolve browser CORS origins for a service resource. An explicit list wins;
29
- * otherwise scope to this service's own domain (apex + one-level subdomain
30
- * wildcard, which S3/CloudFront both support). Falls back to '*' only when the
31
- * service declares no domain at all (nothing browser-facing).
32
- *
33
- * Note: key off the raw dns base (`getDomainName`) to detect "no domain" —
34
- * `getBaseDomainName` still returns an env prefix like `development.` here.
35
- */
36
- export declare const resolveServiceScopedCorsAllowedOrigins: (qpqConfig: QPQConfig, explicitOrigins?: string[]) => string[];
37
- /**
38
- * Browser origins allowed to read/write a storage drive's objects cross-origin
39
- * (e.g. presigned uploads/downloads), looked up by the drive's name. An explicit
40
- * `defineStorageDriveCorsSettings` wins; otherwise the service-scoped default.
41
- */
42
- export declare const getStorageDriveCorsAllowedOrigins: (qpqConfig: QPQConfig, storageDriveName: string) => string[];
43
- /**
44
- * Whether any web entry in this service serves its assets from the named storage
45
- * drive (`storageDrive.sourceStorageDrive`) — i.e. the drive's bucket is a
46
- * CloudFront origin. Drives with no web entry consumer need no CloudFront access
47
- * to their bucket at all.
48
- */
49
21
  export declare const isStorageDriveWebEntryOrigin: (qpqConfig: QPQConfig, storageDriveName: string) => boolean;
50
22
  export declare const defaultFileUploadSettings: FileUploadSettings;
51
23
  export declare const getFileUploadSettings: (qpqConfig: QPQConfig) => FileUploadSettings;
52
- export declare const resolveApexDomainNameFromDomainConfig: (qpqConfig: QPQConfig, rootDomain: string, onRootDomain: boolean) => string;
53
- export declare const constructServiceDomainName: (rootDomain: string, environment: string, service: string, feature?: string) => string;
54
- export declare const constructEnvironmentDomainName: (environment: string, domain: string) => string;
55
24
  export declare const getDefaultRouteSettings: (qpqConfig: QPQConfig) => DefaultRouteOptionsQPQWebServerConfigSetting[];
56
- export declare const getDomainRoot: (rootDomain: string, environment: string, feature?: string) => string;
57
- export declare const resolveDomainRoot: (rootDomain: string, qpqConfig: QPQConfig) => string;
58
25
  export declare const getEmailSenderSettings: (qpqConfig: QPQConfig) => EmailSenderQPQWebServerConfigSetting[];
59
26
  export declare const getWebsocketSettings: (qpqConfig: QPQConfig) => WebSocketQPQWebServerConfigSetting[];
60
27
  export declare const getOwnedWebsocketSettings: (qpqConfig: QPQConfig) => WebSocketQPQWebServerConfigSetting[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getOwnedWebsocketSettings = exports.getWebsocketSettings = exports.getEmailSenderSettings = exports.resolveDomainRoot = exports.getDomainRoot = exports.getDefaultRouteSettings = exports.constructEnvironmentDomainName = exports.constructServiceDomainName = exports.resolveApexDomainNameFromDomainConfig = exports.getFileUploadSettings = exports.defaultFileUploadSettings = exports.isStorageDriveWebEntryOrigin = exports.getStorageDriveCorsAllowedOrigins = exports.resolveServiceScopedCorsAllowedOrigins = exports.getServiceDomainName = exports.getBaseDomainName = exports.getEnvironmentDomainName = exports.getCacheConfigByName = exports.getAllOwnedCertifcateConfigs = exports.getAllOwnedCacheConfigs = exports.getDomainProxyConfigs = exports.getWebEntryConfigs = exports.getDnsConfigs = exports.getApiConfigs = exports.getSubdomainRedirects = exports.getWebsocketEntryByApiName = exports.getWebEntry = exports.getDomainName = exports.getAllSrcEntries = exports.getAllWebsocketSrcEntries = exports.getAllOpenApiSpecs = exports.getOwnedServiceFunctions = exports.getAllServiceFunctions = exports.getAllSeo = exports.getAllApiKeyConfigs = exports.getAllRoutesForApi = exports.getAllRoutes = void 0;
3
+ exports.getOwnedWebsocketSettings = exports.getWebsocketSettings = exports.getEmailSenderSettings = exports.getDefaultRouteSettings = exports.getFileUploadSettings = exports.defaultFileUploadSettings = exports.isStorageDriveWebEntryOrigin = exports.getCacheConfigByName = exports.getAllOwnedCertifcateConfigs = exports.getAllOwnedCacheConfigs = exports.getDomainProxyConfigs = exports.getWebEntryConfigs = exports.getApiConfigs = exports.getSubdomainRedirects = exports.getWebsocketEntryByApiName = exports.getWebEntry = exports.getAllSrcEntries = exports.getAllWebsocketSrcEntries = exports.getOwnedServiceFunctions = exports.getAllServiceFunctions = exports.getAllSeo = exports.getAllApiKeyConfigs = exports.getAllRoutesForApi = exports.getAllRoutes = void 0;
4
4
  const quidproquo_core_1 = require("quidproquo-core");
5
5
  const config_1 = require("../config");
6
6
  const getAllRoutes = (qpqConfig) => {
@@ -33,11 +33,6 @@ const getOwnedServiceFunctions = (qpqConfig) => {
33
33
  return quidproquo_core_1.qpqCoreUtils.getOwnedItems(serviceFunctions, qpqConfig);
34
34
  };
35
35
  exports.getOwnedServiceFunctions = getOwnedServiceFunctions;
36
- const getAllOpenApiSpecs = (configs) => {
37
- const openApiSpecs = quidproquo_core_1.qpqCoreUtils.getConfigSettings(configs, config_1.QPQWebServerConfigSettingType.OpenApi);
38
- return openApiSpecs;
39
- };
40
- exports.getAllOpenApiSpecs = getAllOpenApiSpecs;
41
36
  const getAllWebsocketSrcEntries = (qpqConfig) => {
42
37
  return (0, exports.getOwnedWebsocketSettings)(qpqConfig)
43
38
  .flatMap((s) => [s.eventProcessors.onConnect, s.eventProcessors.onDisconnect, s.eventProcessors.onMessage])
@@ -47,20 +42,19 @@ exports.getAllWebsocketSrcEntries = getAllWebsocketSrcEntries;
47
42
  // Used in bundlers to know where and what to build and index
48
43
  // Events, routes, etc
49
44
  const getAllSrcEntries = (configs) => {
45
+ var _a;
46
+ // The domain resolver pointer is a QpqPureFunction, structurally an advanced runtime, so
47
+ // the same loader bundles and serves it.
48
+ const domainResolver = (_a = quidproquo_core_1.qpqCoreUtils.getConfigSetting(configs, config_1.QPQWebServerConfigSettingType.Dns)) === null || _a === void 0 ? void 0 : _a.resolver;
50
49
  return quidproquo_core_1.qpqCoreUtils.expandSrcEntriesWithActionProcessors([
51
50
  ...(0, exports.getAllRoutes)(configs).map((r) => r.runtime),
52
- // ...getAllOpenApiSpecs(configs).map((r) => r.openApiSpecPath),
53
51
  ...(0, exports.getAllSeo)(configs).map((seo) => seo.runtime),
54
52
  ...(0, exports.getAllServiceFunctions)(configs).map((sf) => sf.runtime),
55
53
  ...(0, exports.getAllWebsocketSrcEntries)(configs),
54
+ ...(domainResolver ? [domainResolver] : []),
56
55
  ]);
57
56
  };
58
57
  exports.getAllSrcEntries = getAllSrcEntries;
59
- const getDomainName = (configs) => {
60
- const dnsSettings = quidproquo_core_1.qpqCoreUtils.getConfigSetting(configs, config_1.QPQWebServerConfigSettingType.Dns);
61
- return (dnsSettings === null || dnsSettings === void 0 ? void 0 : dnsSettings.dnsBase) || '';
62
- };
63
- exports.getDomainName = getDomainName;
64
58
  const getWebEntry = (configs) => {
65
59
  const webEntry = quidproquo_core_1.qpqCoreUtils.getConfigSetting(configs, config_1.QPQWebServerConfigSettingType.WebEntry);
66
60
  if (!(webEntry === null || webEntry === void 0 ? void 0 : webEntry.buildPath)) {
@@ -87,10 +81,6 @@ const getApiConfigs = (configs) => {
87
81
  return quidproquo_core_1.qpqCoreUtils.getConfigSettings(configs, config_1.QPQWebServerConfigSettingType.Api);
88
82
  };
89
83
  exports.getApiConfigs = getApiConfigs;
90
- const getDnsConfigs = (configs) => {
91
- return quidproquo_core_1.qpqCoreUtils.getConfigSettings(configs, config_1.QPQWebServerConfigSettingType.Dns);
92
- };
93
- exports.getDnsConfigs = getDnsConfigs;
94
84
  const getWebEntryConfigs = (configs) => {
95
85
  return quidproquo_core_1.qpqCoreUtils.getConfigSettings(configs, config_1.QPQWebServerConfigSettingType.WebEntry);
96
86
  };
@@ -119,68 +109,6 @@ const getCacheConfigByName = (cacheConfigName, qpqConfig) => {
119
109
  return cacheSetting;
120
110
  };
121
111
  exports.getCacheConfigByName = getCacheConfigByName;
122
- const getEnvironmentDomainName = (configs) => {
123
- const environment = quidproquo_core_1.qpqCoreUtils.getApplicationModuleEnvironment(configs);
124
- const apexDomainName = (0, exports.getDomainName)(configs);
125
- if (environment === 'production') {
126
- return apexDomainName;
127
- }
128
- return `${environment}.${apexDomainName}`;
129
- };
130
- exports.getEnvironmentDomainName = getEnvironmentDomainName;
131
- const getBaseDomainName = (qpqConfig) => {
132
- const environmentDomain = (0, exports.getEnvironmentDomainName)(qpqConfig);
133
- const feature = quidproquo_core_1.qpqCoreUtils.getApplicationModuleFeature(qpqConfig);
134
- if (feature) {
135
- return `${feature}.${environmentDomain}`;
136
- }
137
- return environmentDomain;
138
- };
139
- exports.getBaseDomainName = getBaseDomainName;
140
- const getServiceDomainName = (qpqConfig) => {
141
- const service = quidproquo_core_1.qpqCoreUtils.getApplicationModuleName(qpqConfig);
142
- const domainBase = (0, exports.getBaseDomainName)(qpqConfig);
143
- return `${service}.${domainBase}`;
144
- };
145
- exports.getServiceDomainName = getServiceDomainName;
146
- /**
147
- * Resolve browser CORS origins for a service resource. An explicit list wins;
148
- * otherwise scope to this service's own domain (apex + one-level subdomain
149
- * wildcard, which S3/CloudFront both support). Falls back to '*' only when the
150
- * service declares no domain at all (nothing browser-facing).
151
- *
152
- * Note: key off the raw dns base (`getDomainName`) to detect "no domain" —
153
- * `getBaseDomainName` still returns an env prefix like `development.` here.
154
- */
155
- const resolveServiceScopedCorsAllowedOrigins = (qpqConfig, explicitOrigins) => {
156
- if (explicitOrigins) {
157
- return explicitOrigins;
158
- }
159
- if (!(0, exports.getDomainName)(qpqConfig)) {
160
- return ['*'];
161
- }
162
- const baseDomain = (0, exports.getBaseDomainName)(qpqConfig);
163
- return [`https://${baseDomain}`, `https://*.${baseDomain}`];
164
- };
165
- exports.resolveServiceScopedCorsAllowedOrigins = resolveServiceScopedCorsAllowedOrigins;
166
- /**
167
- * Browser origins allowed to read/write a storage drive's objects cross-origin
168
- * (e.g. presigned uploads/downloads), looked up by the drive's name. An explicit
169
- * `defineStorageDriveCorsSettings` wins; otherwise the service-scoped default.
170
- */
171
- const getStorageDriveCorsAllowedOrigins = (qpqConfig, storageDriveName) => {
172
- const corsSetting = quidproquo_core_1.qpqCoreUtils
173
- .getConfigSettings(qpqConfig, config_1.QPQWebServerConfigSettingType.StorageDriveCorsSettings)
174
- .find((setting) => setting.storageDriveName === storageDriveName);
175
- return (0, exports.resolveServiceScopedCorsAllowedOrigins)(qpqConfig, corsSetting === null || corsSetting === void 0 ? void 0 : corsSetting.allowedOrigins);
176
- };
177
- exports.getStorageDriveCorsAllowedOrigins = getStorageDriveCorsAllowedOrigins;
178
- /**
179
- * Whether any web entry in this service serves its assets from the named storage
180
- * drive (`storageDrive.sourceStorageDrive`) — i.e. the drive's bucket is a
181
- * CloudFront origin. Drives with no web entry consumer need no CloudFront access
182
- * to their bucket at all.
183
- */
184
112
  const isStorageDriveWebEntryOrigin = (qpqConfig, storageDriveName) => {
185
113
  return (0, exports.getWebEntryConfigs)(qpqConfig).some((webEntry) => webEntry.storageDrive.sourceStorageDrive === storageDriveName);
186
114
  };
@@ -198,48 +126,13 @@ const getFileUploadSettings = (qpqConfig) => {
198
126
  return Object.assign(Object.assign({}, exports.defaultFileUploadSettings), Object.fromEntries(Object.entries((setting === null || setting === void 0 ? void 0 : setting.fileUploadSettings) || {}).filter(([, value]) => (0, quidproquo_core_1.isDefined)(value))));
199
127
  };
200
128
  exports.getFileUploadSettings = getFileUploadSettings;
201
- const resolveApexDomainNameFromDomainConfig = (qpqConfig, rootDomain, onRootDomain) => {
202
- const feature = quidproquo_core_1.qpqCoreUtils.getApplicationModuleFeature(qpqConfig);
203
- const environment = quidproquo_core_1.qpqCoreUtils.getApplicationModuleEnvironment(qpqConfig);
204
- const apexDomain = onRootDomain
205
- ? (0, exports.getDomainRoot)(rootDomain, environment, feature)
206
- : (0, exports.constructServiceDomainName)(rootDomain, environment, quidproquo_core_1.qpqCoreUtils.getApplicationModuleName(qpqConfig), feature);
207
- return apexDomain;
208
- };
209
- exports.resolveApexDomainNameFromDomainConfig = resolveApexDomainNameFromDomainConfig;
210
- const constructServiceDomainName = (rootDomain, environment, service, feature) => {
211
- const domainBase = (0, exports.getDomainRoot)(rootDomain, environment, feature);
212
- return `${service}.${domainBase}`;
213
- };
214
- exports.constructServiceDomainName = constructServiceDomainName;
215
- const constructEnvironmentDomainName = (environment, domain) => {
216
- if (environment === 'production') {
217
- return domain;
218
- }
219
- return `${environment}.${domain}`;
220
- };
221
- exports.constructEnvironmentDomainName = constructEnvironmentDomainName;
222
129
  const getDefaultRouteSettings = (qpqConfig) => {
223
130
  const defaultRouteSettings = quidproquo_core_1.qpqCoreUtils.getConfigSettings(qpqConfig, config_1.QPQWebServerConfigSettingType.DefaultRouteOptions) || [];
224
131
  return defaultRouteSettings;
225
132
  };
226
133
  exports.getDefaultRouteSettings = getDefaultRouteSettings;
227
- const getDomainRoot = (rootDomain, environment, feature) => {
228
- let domainPrefix = environment !== 'production' ? `${environment}.` : '';
229
- if (feature) {
230
- domainPrefix = `${feature}.${domainPrefix}`;
231
- }
232
- return `${domainPrefix}${rootDomain}`;
233
- };
234
- exports.getDomainRoot = getDomainRoot;
235
- const resolveDomainRoot = (rootDomain, qpqConfig) => {
236
- const domain = (0, exports.getDomainRoot)(rootDomain, quidproquo_core_1.qpqCoreUtils.getApplicationModuleEnvironment(qpqConfig), quidproquo_core_1.qpqCoreUtils.getApplicationModuleFeature(qpqConfig));
237
- return domain;
238
- };
239
- exports.resolveDomainRoot = resolveDomainRoot;
240
134
  const getEmailSenderSettings = (qpqConfig) => {
241
- const emailSenderSettings = quidproquo_core_1.qpqCoreUtils.getConfigSettings(qpqConfig, config_1.QPQWebServerConfigSettingType.EmailSender) || [];
242
- return emailSenderSettings;
135
+ return quidproquo_core_1.qpqCoreUtils.getConfigSettings(qpqConfig, config_1.QPQWebServerConfigSettingType.EmailSender) || [];
243
136
  };
244
137
  exports.getEmailSenderSettings = getEmailSenderSettings;
245
138
  const getWebsocketSettings = (qpqConfig) => {
@@ -1 +1 @@
1
- {"version":3,"file":"qpqConfigAccessorsUtils.js","sourceRoot":"","sources":["../../../src/utils/qpqConfigAccessorsUtils.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDefined, QPQConfig, qpqCoreUtils, QpqFunctionRuntime } from 'quidproquo-core';\n\nimport {\n ApiKeyQPQWebServerConfigSetting,\n CacheQPQWebServerConfigSetting,\n CertificateQPQWebServerConfigSetting,\n DefaultRouteOptionsQPQWebServerConfigSetting,\n DnsQPQWebServerConfigSetting,\n DomainProxyQPQWebServerConfigSetting,\n EmailSenderQPQWebServerConfigSetting,\n FileUploadSettings,\n FileUploadSettingsQPQWebServerConfigSetting,\n OpenApiQPQWebServerConfigSetting,\n QPQWebServerConfigSettingType,\n RouteQPQWebServerConfigSetting,\n SeoQPQWebServerConfigSetting,\n ServiceFunctionQPQWebServerConfigSetting,\n StorageDriveCorsSettingsQPQWebServerConfigSetting,\n SubdomainRedirectQPQWebServerConfigSetting,\n WebSocketQPQWebServerConfigSetting,\n} from '../config';\nimport { ApiQPQWebServerConfigSetting, WebEntryQPQWebServerConfigSetting } from '../config';\n\nexport const getAllRoutes = (qpqConfig: QPQConfig): RouteQPQWebServerConfigSetting[] => {\n const routes = qpqCoreUtils.getConfigSettings<RouteQPQWebServerConfigSetting>(qpqConfig, QPQWebServerConfigSettingType.Route);\n\n return routes;\n};\n\nexport const getAllRoutesForApi = (apiName: string, qpqConfig: QPQConfig): RouteQPQWebServerConfigSetting[] => {\n const routes = getAllRoutes(qpqConfig);\n\n return routes;\n};\n\nexport const getAllApiKeyConfigs = (qpqConfig: QPQConfig): ApiKeyQPQWebServerConfigSetting[] => {\n const apiKeyConfigs = qpqCoreUtils.getConfigSettings<ApiKeyQPQWebServerConfigSetting>(qpqConfig, QPQWebServerConfigSettingType.ApiKey);\n\n return apiKeyConfigs;\n};\n\nexport const getAllSeo = (qpqConfig: QPQConfig): SeoQPQWebServerConfigSetting[] => {\n const seoConfigs = qpqCoreUtils.getConfigSettings<SeoQPQWebServerConfigSetting>(qpqConfig, QPQWebServerConfigSettingType.Seo);\n\n return seoConfigs;\n};\n\nexport const getAllServiceFunctions = (qpqConfig: QPQConfig): ServiceFunctionQPQWebServerConfigSetting[] => {\n const serviceFunctions = qpqCoreUtils.getConfigSettings<ServiceFunctionQPQWebServerConfigSetting>(\n qpqConfig,\n QPQWebServerConfigSettingType.ServiceFunction,\n );\n\n return serviceFunctions;\n};\n\nexport const getOwnedServiceFunctions = (qpqConfig: QPQConfig): ServiceFunctionQPQWebServerConfigSetting[] => {\n const serviceFunctions = getAllServiceFunctions(qpqConfig);\n\n return qpqCoreUtils.getOwnedItems(serviceFunctions, qpqConfig);\n};\n\nexport const getAllOpenApiSpecs = (configs: QPQConfig): OpenApiQPQWebServerConfigSetting[] => {\n const openApiSpecs = qpqCoreUtils.getConfigSettings<OpenApiQPQWebServerConfigSetting>(configs, QPQWebServerConfigSettingType.OpenApi);\n\n return openApiSpecs;\n};\n\nexport const getAllWebsocketSrcEntries = (qpqConfig: QPQConfig): QpqFunctionRuntime[] => {\n return getOwnedWebsocketSettings(qpqConfig)\n .flatMap((s) => [s.eventProcessors.onConnect, s.eventProcessors.onDisconnect, s.eventProcessors.onMessage])\n .filter(isDefined);\n};\n\n// Used in bundlers to know where and what to build and index\n// Events, routes, etc\nexport const getAllSrcEntries = (configs: QPQConfig): QpqFunctionRuntime[] => {\n return qpqCoreUtils.expandSrcEntriesWithActionProcessors([\n ...getAllRoutes(configs).map((r) => r.runtime),\n // ...getAllOpenApiSpecs(configs).map((r) => r.openApiSpecPath),\n ...getAllSeo(configs).map((seo) => seo.runtime),\n ...getAllServiceFunctions(configs).map((sf) => sf.runtime),\n ...getAllWebsocketSrcEntries(configs),\n ]);\n};\n\nexport const getDomainName = (configs: QPQConfig): string => {\n const dnsSettings = qpqCoreUtils.getConfigSetting<DnsQPQWebServerConfigSetting>(configs, QPQWebServerConfigSettingType.Dns);\n\n return dnsSettings?.dnsBase || '';\n};\n\nexport const getWebEntry = (configs: QPQConfig): string => {\n const webEntry = qpqCoreUtils.getConfigSetting<WebEntryQPQWebServerConfigSetting>(configs, QPQWebServerConfigSettingType.WebEntry);\n\n if (!webEntry?.buildPath) {\n throw new Error('please use defineWebEntry in your qpq config');\n }\n\n return webEntry?.buildPath;\n};\n\nexport const getWebsocketEntryByApiName = (apiName: string, qpqConfig: QPQConfig): WebSocketQPQWebServerConfigSetting => {\n const websocketSettings = getWebsocketSettings(qpqConfig);\n\n const websocketSetting = websocketSettings.find((s) => s.apiName === apiName);\n\n if (!websocketSetting) {\n throw new Error(`No websocket setting found for api [${apiName}]`);\n }\n\n return websocketSetting;\n};\n\nexport const getSubdomainRedirects = (configs: QPQConfig): SubdomainRedirectQPQWebServerConfigSetting[] => {\n const subdomainRedirects = qpqCoreUtils.getConfigSettings<SubdomainRedirectQPQWebServerConfigSetting>(\n configs,\n QPQWebServerConfigSettingType.SubdomainRedirect,\n );\n\n return subdomainRedirects;\n};\n\nexport const getApiConfigs = (configs: QPQConfig): ApiQPQWebServerConfigSetting[] => {\n return qpqCoreUtils.getConfigSettings<ApiQPQWebServerConfigSetting>(configs, QPQWebServerConfigSettingType.Api);\n};\n\nexport const getDnsConfigs = (configs: QPQConfig): DnsQPQWebServerConfigSetting[] => {\n return qpqCoreUtils.getConfigSettings<DnsQPQWebServerConfigSetting>(configs, QPQWebServerConfigSettingType.Dns);\n};\n\nexport const getWebEntryConfigs = (configs: QPQConfig): WebEntryQPQWebServerConfigSetting[] => {\n return qpqCoreUtils.getConfigSettings<WebEntryQPQWebServerConfigSetting>(configs, QPQWebServerConfigSettingType.WebEntry);\n};\n\nexport const getDomainProxyConfigs = (configs: QPQConfig): DomainProxyQPQWebServerConfigSetting[] => {\n return qpqCoreUtils.getConfigSettings<DomainProxyQPQWebServerConfigSetting>(configs, QPQWebServerConfigSettingType.DomainProxy);\n};\n\nexport const getAllOwnedCacheConfigs = (qpqConfig: QPQConfig): CacheQPQWebServerConfigSetting[] => {\n const cacheSettings = qpqCoreUtils.getConfigSettings<CacheQPQWebServerConfigSetting>(qpqConfig, QPQWebServerConfigSettingType.Cache);\n\n return qpqCoreUtils.getOwnedItems(cacheSettings, qpqConfig);\n};\n\nexport const getAllOwnedCertifcateConfigs = (qpqConfig: QPQConfig): CertificateQPQWebServerConfigSetting[] => {\n const certificateSettings = qpqCoreUtils.getConfigSettings<CertificateQPQWebServerConfigSetting>(\n qpqConfig,\n QPQWebServerConfigSettingType.Certificate,\n );\n\n return qpqCoreUtils.getOwnedItems(certificateSettings, qpqConfig);\n};\n\nexport const getCacheConfigByName = (cacheConfigName: string, qpqConfig: QPQConfig): CacheQPQWebServerConfigSetting => {\n const cacheSetting = qpqCoreUtils\n .getConfigSettings<CacheQPQWebServerConfigSetting>(qpqConfig, QPQWebServerConfigSettingType.Cache)\n .find((c) => c.name === cacheConfigName);\n\n if (!cacheSetting) {\n throw new Error(`No cache config found for name [${cacheConfigName}]`);\n }\n\n return cacheSetting;\n};\n\nexport const getEnvironmentDomainName = (configs: QPQConfig): string => {\n const environment = qpqCoreUtils.getApplicationModuleEnvironment(configs);\n const apexDomainName = getDomainName(configs);\n\n if (environment === 'production') {\n return apexDomainName;\n }\n\n return `${environment}.${apexDomainName}`;\n};\n\nexport const getBaseDomainName = (qpqConfig: QPQConfig): string => {\n const environmentDomain = getEnvironmentDomainName(qpqConfig);\n const feature = qpqCoreUtils.getApplicationModuleFeature(qpqConfig);\n\n if (feature) {\n return `${feature}.${environmentDomain}`;\n }\n\n return environmentDomain;\n};\n\nexport const getServiceDomainName = (qpqConfig: QPQConfig): string => {\n const service = qpqCoreUtils.getApplicationModuleName(qpqConfig);\n const domainBase = getBaseDomainName(qpqConfig);\n\n return `${service}.${domainBase}`;\n};\n\n/**\n * Resolve browser CORS origins for a service resource. An explicit list wins;\n * otherwise scope to this service's own domain (apex + one-level subdomain\n * wildcard, which S3/CloudFront both support). Falls back to '*' only when the\n * service declares no domain at all (nothing browser-facing).\n *\n * Note: key off the raw dns base (`getDomainName`) to detect \"no domain\" —\n * `getBaseDomainName` still returns an env prefix like `development.` here.\n */\nexport const resolveServiceScopedCorsAllowedOrigins = (qpqConfig: QPQConfig, explicitOrigins?: string[]): string[] => {\n if (explicitOrigins) {\n return explicitOrigins;\n }\n\n if (!getDomainName(qpqConfig)) {\n return ['*'];\n }\n\n const baseDomain = getBaseDomainName(qpqConfig);\n return [`https://${baseDomain}`, `https://*.${baseDomain}`];\n};\n\n/**\n * Browser origins allowed to read/write a storage drive's objects cross-origin\n * (e.g. presigned uploads/downloads), looked up by the drive's name. An explicit\n * `defineStorageDriveCorsSettings` wins; otherwise the service-scoped default.\n */\nexport const getStorageDriveCorsAllowedOrigins = (qpqConfig: QPQConfig, storageDriveName: string): string[] => {\n const corsSetting = qpqCoreUtils\n .getConfigSettings<StorageDriveCorsSettingsQPQWebServerConfigSetting>(qpqConfig, QPQWebServerConfigSettingType.StorageDriveCorsSettings)\n .find((setting) => setting.storageDriveName === storageDriveName);\n\n return resolveServiceScopedCorsAllowedOrigins(qpqConfig, corsSetting?.allowedOrigins);\n};\n\n/**\n * Whether any web entry in this service serves its assets from the named storage\n * drive (`storageDrive.sourceStorageDrive`) — i.e. the drive's bucket is a\n * CloudFront origin. Drives with no web entry consumer need no CloudFront access\n * to their bucket at all.\n */\nexport const isStorageDriveWebEntryOrigin = (qpqConfig: QPQConfig, storageDriveName: string): boolean => {\n return getWebEntryConfigs(qpqConfig).some((webEntry) => webEntry.storageDrive.sourceStorageDrive === storageDriveName);\n};\n\n// API Gateway caps request payloads at 10MB, so the default per-file ceiling matches it;\n// the other defaults exist to bound parser memory rather than to be hit in practice.\nexport const defaultFileUploadSettings: FileUploadSettings = {\n maxFileSizeBytes: 10 * 1024 * 1024,\n maxFileCount: 10,\n maxFieldCount: 100,\n maxFieldSizeBytes: 1024 * 1024,\n};\n\nexport const getFileUploadSettings = (qpqConfig: QPQConfig): FileUploadSettings => {\n const setting = qpqCoreUtils.getConfigSetting<FileUploadSettingsQPQWebServerConfigSetting>(\n qpqConfig,\n QPQWebServerConfigSettingType.FileUploadSettings,\n );\n\n return {\n ...defaultFileUploadSettings,\n ...Object.fromEntries(Object.entries(setting?.fileUploadSettings || {}).filter(([, value]) => isDefined(value))),\n };\n};\n\nexport const resolveApexDomainNameFromDomainConfig = (qpqConfig: QPQConfig, rootDomain: string, onRootDomain: boolean): string => {\n const feature = qpqCoreUtils.getApplicationModuleFeature(qpqConfig);\n const environment = qpqCoreUtils.getApplicationModuleEnvironment(qpqConfig);\n\n const apexDomain = onRootDomain\n ? getDomainRoot(rootDomain, environment, feature)\n : constructServiceDomainName(rootDomain, environment, qpqCoreUtils.getApplicationModuleName(qpqConfig), feature);\n\n return apexDomain;\n};\n\nexport const constructServiceDomainName = (rootDomain: string, environment: string, service: string, feature?: string) => {\n const domainBase = getDomainRoot(rootDomain, environment, feature);\n\n return `${service}.${domainBase}`;\n};\n\nexport const constructEnvironmentDomainName = (environment: string, domain: string): string => {\n if (environment === 'production') {\n return domain;\n }\n\n return `${environment}.${domain}`;\n};\n\nexport const getDefaultRouteSettings = (qpqConfig: QPQConfig): DefaultRouteOptionsQPQWebServerConfigSetting[] => {\n const defaultRouteSettings =\n qpqCoreUtils.getConfigSettings<DefaultRouteOptionsQPQWebServerConfigSetting>(qpqConfig, QPQWebServerConfigSettingType.DefaultRouteOptions) || [];\n\n return defaultRouteSettings;\n};\n\nexport const getDomainRoot = (rootDomain: string, environment: string, feature?: string): string => {\n let domainPrefix = environment !== 'production' ? `${environment}.` : '';\n if (feature) {\n domainPrefix = `${feature}.${domainPrefix}`;\n }\n\n return `${domainPrefix}${rootDomain}`;\n};\n\nexport const resolveDomainRoot = (rootDomain: string, qpqConfig: QPQConfig): string => {\n const domain = getDomainRoot(\n rootDomain,\n qpqCoreUtils.getApplicationModuleEnvironment(qpqConfig),\n qpqCoreUtils.getApplicationModuleFeature(qpqConfig),\n );\n\n return domain;\n};\n\nexport const getEmailSenderSettings = (qpqConfig: QPQConfig): EmailSenderQPQWebServerConfigSetting[] => {\n const emailSenderSettings =\n qpqCoreUtils.getConfigSettings<EmailSenderQPQWebServerConfigSetting>(qpqConfig, QPQWebServerConfigSettingType.EmailSender) || [];\n\n return emailSenderSettings;\n};\n\nexport const getWebsocketSettings = (qpqConfig: QPQConfig): WebSocketQPQWebServerConfigSetting[] => {\n const websocketSettings =\n qpqCoreUtils.getConfigSettings<WebSocketQPQWebServerConfigSetting>(qpqConfig, QPQWebServerConfigSettingType.WebSocket) || [];\n\n return websocketSettings;\n};\n\nexport const getOwnedWebsocketSettings = (qpqConfig: QPQConfig): WebSocketQPQWebServerConfigSetting[] => {\n const websocketSettings = getWebsocketSettings(qpqConfig);\n\n return qpqCoreUtils.getOwnedItems(websocketSettings, qpqConfig);\n};\n"]}
1
+ {"version":3,"file":"qpqConfigAccessorsUtils.js","sourceRoot":"","sources":["../../../src/utils/qpqConfigAccessorsUtils.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDefined, QPQConfig, qpqCoreUtils, QpqFunctionRuntime } from 'quidproquo-core';\n\nimport {\n ApiKeyQPQWebServerConfigSetting,\n CacheQPQWebServerConfigSetting,\n CertificateQPQWebServerConfigSetting,\n DefaultRouteOptionsQPQWebServerConfigSetting,\n DnsQPQWebServerConfigSetting,\n DomainProxyQPQWebServerConfigSetting,\n EmailSenderQPQWebServerConfigSetting,\n FileUploadSettings,\n FileUploadSettingsQPQWebServerConfigSetting,\n QPQWebServerConfigSettingType,\n RouteQPQWebServerConfigSetting,\n SeoQPQWebServerConfigSetting,\n ServiceFunctionQPQWebServerConfigSetting,\n SubdomainRedirectQPQWebServerConfigSetting,\n WebSocketQPQWebServerConfigSetting,\n} from '../config';\nimport { ApiQPQWebServerConfigSetting, WebEntryQPQWebServerConfigSetting } from '../config';\n\nexport const getAllRoutes = (qpqConfig: QPQConfig): RouteQPQWebServerConfigSetting[] => {\n const routes = qpqCoreUtils.getConfigSettings<RouteQPQWebServerConfigSetting>(qpqConfig, QPQWebServerConfigSettingType.Route);\n\n return routes;\n};\n\nexport const getAllRoutesForApi = (apiName: string, qpqConfig: QPQConfig): RouteQPQWebServerConfigSetting[] => {\n const routes = getAllRoutes(qpqConfig);\n\n return routes;\n};\n\nexport const getAllApiKeyConfigs = (qpqConfig: QPQConfig): ApiKeyQPQWebServerConfigSetting[] => {\n const apiKeyConfigs = qpqCoreUtils.getConfigSettings<ApiKeyQPQWebServerConfigSetting>(qpqConfig, QPQWebServerConfigSettingType.ApiKey);\n\n return apiKeyConfigs;\n};\n\nexport const getAllSeo = (qpqConfig: QPQConfig): SeoQPQWebServerConfigSetting[] => {\n const seoConfigs = qpqCoreUtils.getConfigSettings<SeoQPQWebServerConfigSetting>(qpqConfig, QPQWebServerConfigSettingType.Seo);\n\n return seoConfigs;\n};\n\nexport const getAllServiceFunctions = (qpqConfig: QPQConfig): ServiceFunctionQPQWebServerConfigSetting[] => {\n const serviceFunctions = qpqCoreUtils.getConfigSettings<ServiceFunctionQPQWebServerConfigSetting>(\n qpqConfig,\n QPQWebServerConfigSettingType.ServiceFunction,\n );\n\n return serviceFunctions;\n};\n\nexport const getOwnedServiceFunctions = (qpqConfig: QPQConfig): ServiceFunctionQPQWebServerConfigSetting[] => {\n const serviceFunctions = getAllServiceFunctions(qpqConfig);\n\n return qpqCoreUtils.getOwnedItems(serviceFunctions, qpqConfig);\n};\n\nexport const getAllWebsocketSrcEntries = (qpqConfig: QPQConfig): QpqFunctionRuntime[] => {\n return getOwnedWebsocketSettings(qpqConfig)\n .flatMap((s) => [s.eventProcessors.onConnect, s.eventProcessors.onDisconnect, s.eventProcessors.onMessage])\n .filter(isDefined);\n};\n\n// Used in bundlers to know where and what to build and index\n// Events, routes, etc\nexport const getAllSrcEntries = (configs: QPQConfig): QpqFunctionRuntime[] => {\n // The domain resolver pointer is a QpqPureFunction, structurally an advanced runtime, so\n // the same loader bundles and serves it.\n const domainResolver = qpqCoreUtils.getConfigSetting<DnsQPQWebServerConfigSetting>(configs, QPQWebServerConfigSettingType.Dns)?.resolver;\n\n return qpqCoreUtils.expandSrcEntriesWithActionProcessors([\n ...getAllRoutes(configs).map((r) => r.runtime),\n ...getAllSeo(configs).map((seo) => seo.runtime),\n ...getAllServiceFunctions(configs).map((sf) => sf.runtime),\n ...getAllWebsocketSrcEntries(configs),\n ...(domainResolver ? [domainResolver] : []),\n ]);\n};\n\nexport const getWebEntry = (configs: QPQConfig): string => {\n const webEntry = qpqCoreUtils.getConfigSetting<WebEntryQPQWebServerConfigSetting>(configs, QPQWebServerConfigSettingType.WebEntry);\n\n if (!webEntry?.buildPath) {\n throw new Error('please use defineWebEntry in your qpq config');\n }\n\n return webEntry?.buildPath;\n};\n\nexport const getWebsocketEntryByApiName = (apiName: string, qpqConfig: QPQConfig): WebSocketQPQWebServerConfigSetting => {\n const websocketSettings = getWebsocketSettings(qpqConfig);\n\n const websocketSetting = websocketSettings.find((s) => s.apiName === apiName);\n\n if (!websocketSetting) {\n throw new Error(`No websocket setting found for api [${apiName}]`);\n }\n\n return websocketSetting;\n};\n\nexport const getSubdomainRedirects = (configs: QPQConfig): SubdomainRedirectQPQWebServerConfigSetting[] => {\n const subdomainRedirects = qpqCoreUtils.getConfigSettings<SubdomainRedirectQPQWebServerConfigSetting>(\n configs,\n QPQWebServerConfigSettingType.SubdomainRedirect,\n );\n\n return subdomainRedirects;\n};\n\nexport const getApiConfigs = (configs: QPQConfig): ApiQPQWebServerConfigSetting[] => {\n return qpqCoreUtils.getConfigSettings<ApiQPQWebServerConfigSetting>(configs, QPQWebServerConfigSettingType.Api);\n};\n\nexport const getWebEntryConfigs = (configs: QPQConfig): WebEntryQPQWebServerConfigSetting[] => {\n return qpqCoreUtils.getConfigSettings<WebEntryQPQWebServerConfigSetting>(configs, QPQWebServerConfigSettingType.WebEntry);\n};\n\nexport const getDomainProxyConfigs = (configs: QPQConfig): DomainProxyQPQWebServerConfigSetting[] => {\n return qpqCoreUtils.getConfigSettings<DomainProxyQPQWebServerConfigSetting>(configs, QPQWebServerConfigSettingType.DomainProxy);\n};\n\nexport const getAllOwnedCacheConfigs = (qpqConfig: QPQConfig): CacheQPQWebServerConfigSetting[] => {\n const cacheSettings = qpqCoreUtils.getConfigSettings<CacheQPQWebServerConfigSetting>(qpqConfig, QPQWebServerConfigSettingType.Cache);\n\n return qpqCoreUtils.getOwnedItems(cacheSettings, qpqConfig);\n};\n\nexport const getAllOwnedCertifcateConfigs = (qpqConfig: QPQConfig): CertificateQPQWebServerConfigSetting[] => {\n const certificateSettings = qpqCoreUtils.getConfigSettings<CertificateQPQWebServerConfigSetting>(\n qpqConfig,\n QPQWebServerConfigSettingType.Certificate,\n );\n\n return qpqCoreUtils.getOwnedItems(certificateSettings, qpqConfig);\n};\n\nexport const getCacheConfigByName = (cacheConfigName: string, qpqConfig: QPQConfig): CacheQPQWebServerConfigSetting => {\n const cacheSetting = qpqCoreUtils\n .getConfigSettings<CacheQPQWebServerConfigSetting>(qpqConfig, QPQWebServerConfigSettingType.Cache)\n .find((c) => c.name === cacheConfigName);\n\n if (!cacheSetting) {\n throw new Error(`No cache config found for name [${cacheConfigName}]`);\n }\n\n return cacheSetting;\n};\n\nexport const isStorageDriveWebEntryOrigin = (qpqConfig: QPQConfig, storageDriveName: string): boolean => {\n return getWebEntryConfigs(qpqConfig).some((webEntry) => webEntry.storageDrive.sourceStorageDrive === storageDriveName);\n};\n\n// API Gateway caps request payloads at 10MB, so the default per-file ceiling matches it;\n// the other defaults exist to bound parser memory rather than to be hit in practice.\nexport const defaultFileUploadSettings: FileUploadSettings = {\n maxFileSizeBytes: 10 * 1024 * 1024,\n maxFileCount: 10,\n maxFieldCount: 100,\n maxFieldSizeBytes: 1024 * 1024,\n};\n\nexport const getFileUploadSettings = (qpqConfig: QPQConfig): FileUploadSettings => {\n const setting = qpqCoreUtils.getConfigSetting<FileUploadSettingsQPQWebServerConfigSetting>(\n qpqConfig,\n QPQWebServerConfigSettingType.FileUploadSettings,\n );\n\n return {\n ...defaultFileUploadSettings,\n ...Object.fromEntries(Object.entries(setting?.fileUploadSettings || {}).filter(([, value]) => isDefined(value))),\n };\n};\n\nexport const getDefaultRouteSettings = (qpqConfig: QPQConfig): DefaultRouteOptionsQPQWebServerConfigSetting[] => {\n const defaultRouteSettings =\n qpqCoreUtils.getConfigSettings<DefaultRouteOptionsQPQWebServerConfigSetting>(qpqConfig, QPQWebServerConfigSettingType.DefaultRouteOptions) || [];\n\n return defaultRouteSettings;\n};\n\nexport const getEmailSenderSettings = (qpqConfig: QPQConfig): EmailSenderQPQWebServerConfigSetting[] => {\n return qpqCoreUtils.getConfigSettings<EmailSenderQPQWebServerConfigSetting>(qpqConfig, QPQWebServerConfigSettingType.EmailSender) || [];\n};\n\nexport const getWebsocketSettings = (qpqConfig: QPQConfig): WebSocketQPQWebServerConfigSetting[] => {\n const websocketSettings =\n qpqCoreUtils.getConfigSettings<WebSocketQPQWebServerConfigSetting>(qpqConfig, QPQWebServerConfigSettingType.WebSocket) || [];\n\n return websocketSettings;\n};\n\nexport const getOwnedWebsocketSettings = (qpqConfig: QPQConfig): WebSocketQPQWebServerConfigSetting[] => {\n const websocketSettings = getWebsocketSettings(qpqConfig);\n\n return qpqCoreUtils.getOwnedItems(websocketSettings, qpqConfig);\n};\n"]}
@@ -1,4 +1,5 @@
1
1
  import { actionResult, askEventAutoRespondBase, createActionProcessor, generateUuid, getProcessCustomImplementation, mergeRuntimeActionProcessors, } from 'quidproquo-core';
2
+ import { loadDomainResolver } from '../../domain/logic/resolver/loadDomainResolver';
2
3
  import { askValidateRouteAuth } from '../../stories/askValidateRouteAuth';
3
4
  import { FileUploadErrorTypeEnum } from '../../types/HTTPEvent';
4
5
  import { getCorsHeaders } from '../../utils/headerUtils';
@@ -9,7 +10,8 @@ const fileUploadErrorHttpStatusMap = {
9
10
  [FileUploadErrorTypeEnum.disallowedMimeType]: 415,
10
11
  [FileUploadErrorTypeEnum.malformed]: 400,
11
12
  };
12
- const getProcessAutoRespond = (qpqConfig) => {
13
+ const getProcessAutoRespond = async (qpqConfig, loader) => {
14
+ const domainResolver = await loadDomainResolver(qpqConfig, loader);
13
15
  const validateAuth = getProcessCustomImplementation(qpqConfig, askValidateRouteAuth, 'API Auth Validation', null, () => new Date().toISOString(), generateUuid);
14
16
  return async ({ qpqEventRecord: rawEventRecord, matchResult }, session, actionProcessorList, logger, updateSession, dynamicModuleLoader) => {
15
17
  // This processor is registered only for the http api event source, so the base's
@@ -21,7 +23,7 @@ const getProcessAutoRespond = (qpqConfig) => {
21
23
  status: 200,
22
24
  isBase64Encoded: false,
23
25
  body: '',
24
- headers: getCorsHeaders(qpqConfig, matchResult.config || {}, qpqEventRecord.headers),
26
+ headers: getCorsHeaders(qpqConfig, matchResult.config || {}, qpqEventRecord.headers, domainResolver),
25
27
  });
26
28
  }
27
29
  const authPayload = {
@@ -40,7 +42,7 @@ const getProcessAutoRespond = (qpqConfig) => {
40
42
  body: JSON.stringify({
41
43
  message: 'You are unauthorized to access this resource',
42
44
  }),
43
- headers: getCorsHeaders(qpqConfig, matchResult.config || {}, qpqEventRecord.headers),
45
+ headers: getCorsHeaders(qpqConfig, matchResult.config || {}, qpqEventRecord.headers, domainResolver),
44
46
  });
45
47
  }
46
48
  // Reject invalid multipart uploads before the route story runs (after auth, so a 401 wins)
@@ -52,7 +54,7 @@ const getProcessAutoRespond = (qpqConfig) => {
52
54
  errorType: qpqEventRecord.fileUploadError.errorType,
53
55
  errorText: qpqEventRecord.fileUploadError.message,
54
56
  }),
55
- headers: getCorsHeaders(qpqConfig, matchResult.config || {}, qpqEventRecord.headers),
57
+ headers: getCorsHeaders(qpqConfig, matchResult.config || {}, qpqEventRecord.headers, domainResolver),
56
58
  });
57
59
  }
58
60
  return actionResult(null);
@@ -1 +1 @@
1
- {"version":3,"file":"getHttpApiEventAutoRespondActionProcessor.js","sourceRoot":"","sources":["../../../../src/actionProcessor/api/getHttpApiEventAutoRespondActionProcessor.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n actionResult,\n askEventAutoRespondBase,\n createActionProcessor,\n EventActionType,\n generateUuid,\n getProcessCustomImplementation,\n MatchStoryResult,\n mergeRuntimeActionProcessors,\n ProcessorFor,\n QPQConfig,\n} from 'quidproquo-core';\n\nimport { RouteOptions } from '../../config/settings/route';\nimport { askValidateRouteAuth, ValidateRouteAuthPayload } from '../../stories/askValidateRouteAuth';\nimport { FileUploadErrorTypeEnum, HTTPEvent, HTTPEventResponse } from '../../types/HTTPEvent';\nimport { getCorsHeaders } from '../../utils/headerUtils';\n\ntype InternalMatchResult = MatchStoryResult<any, RouteOptions>;\n\nconst fileUploadErrorHttpStatusMap: Record<FileUploadErrorTypeEnum, number> = {\n [FileUploadErrorTypeEnum.fileTooLarge]: 413,\n [FileUploadErrorTypeEnum.tooManyFiles]: 413,\n [FileUploadErrorTypeEnum.tooManyFields]: 400,\n [FileUploadErrorTypeEnum.disallowedMimeType]: 415,\n [FileUploadErrorTypeEnum.malformed]: 400,\n};\n\nconst getProcessAutoRespond = (qpqConfig: QPQConfig): ProcessorFor<typeof askEventAutoRespondBase> => {\n const validateAuth = getProcessCustomImplementation<any>(\n qpqConfig,\n askValidateRouteAuth,\n 'API Auth Validation',\n null,\n () => new Date().toISOString(),\n generateUuid,\n );\n\n return async ({ qpqEventRecord: rawEventRecord, matchResult }, session, actionProcessorList, logger, updateSession, dynamicModuleLoader) => {\n // This processor is registered only for the http api event source, so the base's\n // source-agnostic record is an HTTPEvent here.\n const qpqEventRecord = rawEventRecord as HTTPEvent;\n // Just auto respond for options requests\n if (qpqEventRecord.method === 'OPTIONS') {\n return actionResult({\n status: 200,\n isBase64Encoded: false,\n body: '',\n headers: getCorsHeaders(qpqConfig, matchResult.config || {}, qpqEventRecord.headers),\n });\n }\n\n const authPayload: ValidateRouteAuthPayload = {\n event: qpqEventRecord,\n routeAuthSettings: matchResult.config?.routeAuthSettings,\n };\n\n // The matched route's processor overrides must be visible HERE, in the\n // framework preamble: auth decode runs before the route story, so without\n // this merge a per-route auth override would never see its own requests.\n const mergedActionProcessorList = await mergeRuntimeActionProcessors(qpqConfig, matchResult.runtime, actionProcessorList, dynamicModuleLoader);\n\n const [authValid, authError] = await validateAuth(authPayload, session, mergedActionProcessorList, logger, updateSession, dynamicModuleLoader);\n\n if (authError || !authValid) {\n return actionResult({\n status: 401,\n isBase64Encoded: false,\n body: JSON.stringify({\n message: 'You are unauthorized to access this resource',\n }),\n headers: getCorsHeaders(qpqConfig, matchResult.config || {}, qpqEventRecord.headers),\n });\n }\n\n // Reject invalid multipart uploads before the route story runs (after auth, so a 401 wins)\n if (qpqEventRecord.fileUploadError) {\n return actionResult({\n status: fileUploadErrorHttpStatusMap[qpqEventRecord.fileUploadError.errorType] || 400,\n isBase64Encoded: false,\n body: JSON.stringify({\n errorType: qpqEventRecord.fileUploadError.errorType,\n errorText: qpqEventRecord.fileUploadError.message,\n }),\n headers: getCorsHeaders(qpqConfig, matchResult.config || {}, qpqEventRecord.headers),\n });\n }\n\n return actionResult(null);\n };\n};\n\nexport const getHttpApiEventAutoRespondActionProcessor = createActionProcessor(askEventAutoRespondBase, getProcessAutoRespond);\n"]}
1
+ {"version":3,"file":"getHttpApiEventAutoRespondActionProcessor.js","sourceRoot":"","sources":["../../../../src/actionProcessor/api/getHttpApiEventAutoRespondActionProcessor.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n actionResult,\n askEventAutoRespondBase,\n createActionProcessor,\n DynamicModuleLoader,\n EventActionType,\n generateUuid,\n getProcessCustomImplementation,\n MatchStoryResult,\n mergeRuntimeActionProcessors,\n ProcessorFor,\n QPQConfig,\n} from 'quidproquo-core';\n\nimport { RouteOptions } from '../../config/settings/route';\nimport { loadDomainResolver } from '../../domain/logic/resolver/loadDomainResolver';\nimport { askValidateRouteAuth, ValidateRouteAuthPayload } from '../../stories/askValidateRouteAuth';\nimport { FileUploadErrorTypeEnum, HTTPEvent, HTTPEventResponse } from '../../types/HTTPEvent';\nimport { getCorsHeaders } from '../../utils/headerUtils';\n\ntype InternalMatchResult = MatchStoryResult<any, RouteOptions>;\n\nconst fileUploadErrorHttpStatusMap: Record<FileUploadErrorTypeEnum, number> = {\n [FileUploadErrorTypeEnum.fileTooLarge]: 413,\n [FileUploadErrorTypeEnum.tooManyFiles]: 413,\n [FileUploadErrorTypeEnum.tooManyFields]: 400,\n [FileUploadErrorTypeEnum.disallowedMimeType]: 415,\n [FileUploadErrorTypeEnum.malformed]: 400,\n};\n\nconst getProcessAutoRespond = async (qpqConfig: QPQConfig, loader: DynamicModuleLoader): Promise<ProcessorFor<typeof askEventAutoRespondBase>> => {\n const domainResolver = await loadDomainResolver(qpqConfig, loader);\n\n const validateAuth = getProcessCustomImplementation<any>(\n qpqConfig,\n askValidateRouteAuth,\n 'API Auth Validation',\n null,\n () => new Date().toISOString(),\n generateUuid,\n );\n\n return async ({ qpqEventRecord: rawEventRecord, matchResult }, session, actionProcessorList, logger, updateSession, dynamicModuleLoader) => {\n // This processor is registered only for the http api event source, so the base's\n // source-agnostic record is an HTTPEvent here.\n const qpqEventRecord = rawEventRecord as HTTPEvent;\n // Just auto respond for options requests\n if (qpqEventRecord.method === 'OPTIONS') {\n return actionResult({\n status: 200,\n isBase64Encoded: false,\n body: '',\n headers: getCorsHeaders(qpqConfig, matchResult.config || {}, qpqEventRecord.headers, domainResolver),\n });\n }\n\n const authPayload: ValidateRouteAuthPayload = {\n event: qpqEventRecord,\n routeAuthSettings: matchResult.config?.routeAuthSettings,\n };\n\n // The matched route's processor overrides must be visible HERE, in the\n // framework preamble: auth decode runs before the route story, so without\n // this merge a per-route auth override would never see its own requests.\n const mergedActionProcessorList = await mergeRuntimeActionProcessors(qpqConfig, matchResult.runtime, actionProcessorList, dynamicModuleLoader);\n\n const [authValid, authError] = await validateAuth(authPayload, session, mergedActionProcessorList, logger, updateSession, dynamicModuleLoader);\n\n if (authError || !authValid) {\n return actionResult({\n status: 401,\n isBase64Encoded: false,\n body: JSON.stringify({\n message: 'You are unauthorized to access this resource',\n }),\n headers: getCorsHeaders(qpqConfig, matchResult.config || {}, qpqEventRecord.headers, domainResolver),\n });\n }\n\n // Reject invalid multipart uploads before the route story runs (after auth, so a 401 wins)\n if (qpqEventRecord.fileUploadError) {\n return actionResult({\n status: fileUploadErrorHttpStatusMap[qpqEventRecord.fileUploadError.errorType] || 400,\n isBase64Encoded: false,\n body: JSON.stringify({\n errorType: qpqEventRecord.fileUploadError.errorType,\n errorText: qpqEventRecord.fileUploadError.message,\n }),\n headers: getCorsHeaders(qpqConfig, matchResult.config || {}, qpqEventRecord.headers, domainResolver),\n });\n }\n\n return actionResult(null);\n };\n};\n\nexport const getHttpApiEventAutoRespondActionProcessor = createActionProcessor(askEventAutoRespondBase, getProcessAutoRespond);\n"]}
@@ -1,3 +1,5 @@
1
+ /** Action types for reading the service's declared domains from a story. */
1
2
  export declare enum DnsActionType {
2
- List = "@quidproquo-webserver/Dns/List"
3
+ List = "@quidproquo-webserver/Dns/List",
4
+ ResolveHosts = "@quidproquo-webserver/Dns/ResolveHosts"
3
5
  }
@@ -1,5 +1,7 @@
1
+ /** Action types for reading the service's declared domains from a story. */
1
2
  export var DnsActionType;
2
3
  (function (DnsActionType) {
3
4
  DnsActionType["List"] = "@quidproquo-webserver/Dns/List";
5
+ DnsActionType["ResolveHosts"] = "@quidproquo-webserver/Dns/ResolveHosts";
4
6
  })(DnsActionType || (DnsActionType = {}));
5
7
  //# sourceMappingURL=DnsActionType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DnsActionType.js","sourceRoot":"","sources":["../../../../src/actions/dns/DnsActionType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAEX;AAFD,WAAY,aAAa;IACvB,wDAAuC,CAAA;AACzC,CAAC,EAFW,aAAa,KAAb,aAAa,QAExB","sourcesContent":["export enum DnsActionType {\n List = '@quidproquo-webserver/Dns/List',\n}\n"]}
1
+ {"version":3,"file":"DnsActionType.js","sourceRoot":"","sources":["../../../../src/actions/dns/DnsActionType.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,wDAAuC,CAAA;IACvC,wEAAuD,CAAA;AACzD,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB","sourcesContent":["/** Action types for reading the service's declared domains from a story. */\nexport enum DnsActionType {\n List = '@quidproquo-webserver/Dns/List',\n ResolveHosts = '@quidproquo-webserver/Dns/ResolveHosts',\n}\n"]}
@@ -1,2 +1,3 @@
1
1
  import { DnsActionType } from './DnsActionType';
2
- export declare const askDnsList: import("quidproquo-core").ActionRequesterFunction<DnsActionType, [], undefined, string[], never>;
2
+ /** The root domains the service declared with defineDns, primary first; empty without a domain. */
3
+ export declare const askDnsList: import("quidproquo-core").ActionRequesterFunction<DnsActionType.List, [], undefined, string[], never>;
@@ -1,5 +1,6 @@
1
1
  import { createActionRequester } from 'quidproquo-core';
2
2
  import { DnsActionType } from './DnsActionType';
3
+ /** The root domains the service declared with defineDns, primary first; empty without a domain. */
3
4
  export const askDnsList = createActionRequester()({
4
5
  actionType: DnsActionType.List,
5
6
  });
@@ -1 +1 @@
1
- {"version":3,"file":"askDnsList.js","sourceRoot":"","sources":["../../../../src/actions/dns/askDnsList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,CAAC,MAAM,UAAU,GAAG,qBAAqB,EAAY,CAAC;IAC1D,UAAU,EAAE,aAAa,CAAC,IAAI;CAC/B,CAAC,CAAC","sourcesContent":["import { createActionRequester } from 'quidproquo-core';\n\nimport { DnsActionType } from './DnsActionType';\n\nexport const askDnsList = createActionRequester<string[]>()({\n actionType: DnsActionType.List,\n});\n"]}
1
+ {"version":3,"file":"askDnsList.js","sourceRoot":"","sources":["../../../../src/actions/dns/askDnsList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,mGAAmG;AACnG,MAAM,CAAC,MAAM,UAAU,GAAG,qBAAqB,EAAY,CAAC;IAC1D,UAAU,EAAE,aAAa,CAAC,IAAI;CAC/B,CAAC,CAAC","sourcesContent":["import { createActionRequester } from 'quidproquo-core';\n\nimport { DnsActionType } from './DnsActionType';\n\n/** The root domains the service declared with defineDns, primary first; empty without a domain. */\nexport const askDnsList = createActionRequester<string[]>()({\n actionType: DnsActionType.List,\n});\n"]}
@@ -0,0 +1,9 @@
1
+ import { Action } from 'quidproquo-core';
2
+ import { DomainTarget } from '../../domain/types/DomainTarget';
3
+ import { DnsActionType } from './DnsActionType';
4
+ export interface DnsResolveHostsAction extends Action<DomainTarget> {
5
+ type: DnsActionType.ResolveHosts;
6
+ payload: DomainTarget;
7
+ }
8
+ /** Hosts for a target on every root, primary first. Only targets declared in config resolve; others throw. */
9
+ export declare const askDnsResolveHosts: import("quidproquo-core").ActionRequesterFunction<DnsActionType.ResolveHosts, [target?: DomainTarget | undefined], DomainTarget, string[], never>;
@@ -0,0 +1,8 @@
1
+ import { createActionRequester } from 'quidproquo-core';
2
+ import { DnsActionType } from './DnsActionType';
3
+ /** Hosts for a target on every root, primary first. Only targets declared in config resolve; others throw. */
4
+ export const askDnsResolveHosts = createActionRequester()({
5
+ actionType: DnsActionType.ResolveHosts,
6
+ getPayload: (target = {}) => target,
7
+ });
8
+ //# sourceMappingURL=askDnsResolveHosts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"askDnsResolveHosts.js","sourceRoot":"","sources":["../../../../src/actions/dns/askDnsResolveHosts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOhD,8GAA8G;AAC9G,MAAM,CAAC,MAAM,kBAAkB,GAAG,qBAAqB,EAAY,CAAC;IAClE,UAAU,EAAE,aAAa,CAAC,YAAY;IACtC,UAAU,EAAE,CAAC,SAAuB,EAAE,EAAE,EAAE,CAAC,MAAM;CAClD,CAAC,CAAC","sourcesContent":["import { Action, createActionRequester } from 'quidproquo-core';\n\nimport { DomainTarget } from '../../domain/types/DomainTarget';\nimport { DnsActionType } from './DnsActionType';\n\nexport interface DnsResolveHostsAction extends Action<DomainTarget> {\n type: DnsActionType.ResolveHosts;\n payload: DomainTarget;\n}\n\n/** Hosts for a target on every root, primary first. Only targets declared in config resolve; others throw. */\nexport const askDnsResolveHosts = createActionRequester<string[]>()({\n actionType: DnsActionType.ResolveHosts,\n getPayload: (target: DomainTarget = {}) => target,\n});\n"]}
@@ -1,2 +1,3 @@
1
1
  export * from './askDnsList';
2
+ export * from './askDnsResolveHosts';
2
3
  export * from './DnsActionType';
@@ -1,3 +1,4 @@
1
1
  export * from './askDnsList';
2
+ export * from './askDnsResolveHosts';
2
3
  export * from './DnsActionType';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/actions/dns/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC","sourcesContent":["export * from './askDnsList';\nexport * from './DnsActionType';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/actions/dns/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC","sourcesContent":["export * from './askDnsList';\nexport * from './askDnsResolveHosts';\nexport * from './DnsActionType';\n"]}
@@ -4,7 +4,7 @@ export * from './apiKeyValidation';
4
4
  export * from './dns';
5
5
  export * from './email';
6
6
  export * from './genericDataResource';
7
- export * from './openApiSpec';
7
+ export * from './openApi';
8
8
  export * from './routeAuthValidation';
9
9
  export * from './serviceFunction';
10
10
  export * from './webEntry';
@@ -4,7 +4,7 @@ export * from './apiKeyValidation';
4
4
  export * from './dns';
5
5
  export * from './email';
6
6
  export * from './genericDataResource';
7
- export * from './openApiSpec';
7
+ export * from './openApi';
8
8
  export * from './routeAuthValidation';
9
9
  export * from './serviceFunction';
10
10
  export * from './webEntry';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actions/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,oBAAoB,CAAC;AACnC,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC","sourcesContent":["export * from './admin';\nexport * from './api';\nexport * from './apiKeyValidation';\nexport * from './dns';\nexport * from './email';\nexport * from './genericDataResource';\nexport * from './openApiSpec';\nexport * from './routeAuthValidation';\nexport * from './serviceFunction';\nexport * from './webEntry';\nexport * from './websocket';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actions/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,oBAAoB,CAAC;AACnC,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC","sourcesContent":["export * from './admin';\nexport * from './api';\nexport * from './apiKeyValidation';\nexport * from './dns';\nexport * from './email';\nexport * from './genericDataResource';\nexport * from './openApi';\nexport * from './routeAuthValidation';\nexport * from './serviceFunction';\nexport * from './webEntry';\nexport * from './websocket';\n"]}
@@ -0,0 +1,3 @@
1
+ export declare enum OpenApiActionType {
2
+ GetDocument = "@quidproquo-webserver/OpenApi/GetDocument"
3
+ }
@@ -0,0 +1,5 @@
1
+ export var OpenApiActionType;
2
+ (function (OpenApiActionType) {
3
+ OpenApiActionType["GetDocument"] = "@quidproquo-webserver/OpenApi/GetDocument";
4
+ })(OpenApiActionType || (OpenApiActionType = {}));
5
+ //# sourceMappingURL=OpenApiActionType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenApiActionType.js","sourceRoot":"","sources":["../../../../src/actions/openApi/OpenApiActionType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,iBAEX;AAFD,WAAY,iBAAiB;IAC3B,8EAAyD,CAAA;AAC3D,CAAC,EAFW,iBAAiB,KAAjB,iBAAiB,QAE5B","sourcesContent":["export enum OpenApiActionType {\n GetDocument = '@quidproquo-webserver/OpenApi/GetDocument',\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import { OpenApiDocument } from '../../types/OpenApiDocument';
2
+ import { OpenApiDocumentOptions } from '../../utils/openApi/OpenApiDocumentOptions';
3
+ import { OpenApiActionType } from './OpenApiActionType';
4
+ export type OpenApiGetDocumentActionPayload = {
5
+ options: OpenApiDocumentOptions;
6
+ };
7
+ export declare const askOpenApiGetDocument: import("quidproquo-core").ActionRequesterFunction<OpenApiActionType, [options?: Partial<import("../../types/OpenApiDocument").OpenApiInfo> | undefined], {
8
+ options: Partial<import("../../types/OpenApiDocument").OpenApiInfo>;
9
+ }, OpenApiDocument, never>;
@@ -0,0 +1,9 @@
1
+ import { createActionRequester } from 'quidproquo-core';
2
+ import { OpenApiActionType } from './OpenApiActionType';
3
+ // Stories never see the service config, so building the document is an action:
4
+ // the processor holds the config and does the walk.
5
+ export const askOpenApiGetDocument = createActionRequester()({
6
+ actionType: OpenApiActionType.GetDocument,
7
+ getPayload: (options = {}) => ({ options }),
8
+ });
9
+ //# sourceMappingURL=askOpenApiGetDocument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"askOpenApiGetDocument.js","sourceRoot":"","sources":["../../../../src/actions/openApi/askOpenApiGetDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAIxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMxD,+EAA+E;AAC/E,oDAAoD;AACpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,qBAAqB,EAAmB,CAAC;IAC5E,UAAU,EAAE,iBAAiB,CAAC,WAAW;IACzC,UAAU,EAAE,CAAC,UAAkC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;CACpE,CAAC,CAAC","sourcesContent":["import { createActionRequester } from 'quidproquo-core';\n\nimport { OpenApiDocument } from '../../types/OpenApiDocument';\nimport { OpenApiDocumentOptions } from '../../utils/openApi/OpenApiDocumentOptions';\nimport { OpenApiActionType } from './OpenApiActionType';\n\nexport type OpenApiGetDocumentActionPayload = {\n options: OpenApiDocumentOptions;\n};\n\n// Stories never see the service config, so building the document is an action:\n// the processor holds the config and does the walk.\nexport const askOpenApiGetDocument = createActionRequester<OpenApiDocument>()({\n actionType: OpenApiActionType.GetDocument,\n getPayload: (options: OpenApiDocumentOptions = {}) => ({ options }),\n});\n"]}
@@ -0,0 +1,2 @@
1
+ export * from './askOpenApiGetDocument';
2
+ export * from './OpenApiActionType';
@@ -0,0 +1,3 @@
1
+ export * from './askOpenApiGetDocument';
2
+ export * from './OpenApiActionType';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/actions/openApi/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC","sourcesContent":["export * from './askOpenApiGetDocument';\nexport * from './OpenApiActionType';\n"]}
@@ -3,7 +3,6 @@ export declare enum QPQWebServerConfigSettingType {
3
3
  DefaultRouteOptions = "@quidproquo-webserver/config/DefaultRouteOptions",
4
4
  Dns = "@quidproquo-webserver/config/Dns",
5
5
  EmailSender = "@quidproquo-webserver/config/EmailSender",
6
- OpenApi = "@quidproquo-webserver/config/OpenApi",
7
6
  Seo = "@quidproquo-webserver/config/Seo",
8
7
  SubdomainRedirect = "@quidproquo-webserver/config/SubdomainRedirect",
9
8
  WebEntry = "@quidproquo-webserver/config/WebEntry",
@@ -4,7 +4,6 @@ export var QPQWebServerConfigSettingType;
4
4
  QPQWebServerConfigSettingType["DefaultRouteOptions"] = "@quidproquo-webserver/config/DefaultRouteOptions";
5
5
  QPQWebServerConfigSettingType["Dns"] = "@quidproquo-webserver/config/Dns";
6
6
  QPQWebServerConfigSettingType["EmailSender"] = "@quidproquo-webserver/config/EmailSender";
7
- QPQWebServerConfigSettingType["OpenApi"] = "@quidproquo-webserver/config/OpenApi";
8
7
  QPQWebServerConfigSettingType["Seo"] = "@quidproquo-webserver/config/Seo";
9
8
  QPQWebServerConfigSettingType["SubdomainRedirect"] = "@quidproquo-webserver/config/SubdomainRedirect";
10
9
  QPQWebServerConfigSettingType["WebEntry"] = "@quidproquo-webserver/config/WebEntry";