@defra/forms-engine-plugin 4.7.2 → 4.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (407) hide show
  1. package/.public/javascripts/shared.min.js +1 -1
  2. package/.public/javascripts/shared.min.js.map +1 -1
  3. package/.server/client/javascripts/geospatial-map.d.ts +6 -6
  4. package/.server/client/javascripts/geospatial-map.js +3 -3
  5. package/.server/client/javascripts/location-map.d.ts +1 -1
  6. package/.server/client/javascripts/location-map.js +1 -1
  7. package/.server/client/javascripts/map.d.ts +5 -1
  8. package/.server/client/javascripts/map.js +10 -2
  9. package/.server/client/javascripts/map.js.map +1 -1
  10. package/.server/client/javascripts/shared.d.ts +7 -7
  11. package/.server/server/index.d.ts +1 -1
  12. package/.server/server/plugins/crumb.d.ts +1 -1
  13. package/.server/server/plugins/engine/beta/form-context.d.ts +6 -6
  14. package/.server/server/plugins/engine/components/AutocompleteField.d.ts +4 -4
  15. package/.server/server/plugins/engine/components/CheckboxesField.d.ts +2 -2
  16. package/.server/server/plugins/engine/components/CheckboxesField.js +2 -2
  17. package/.server/server/plugins/engine/components/CheckboxesField.js.map +1 -1
  18. package/.server/server/plugins/engine/components/ComponentBase.d.ts +5 -5
  19. package/.server/server/plugins/engine/components/ComponentCollection.d.ts +8 -8
  20. package/.server/server/plugins/engine/components/DatePartsField.d.ts +11 -11
  21. package/.server/server/plugins/engine/components/DeclarationField.d.ts +3 -3
  22. package/.server/server/plugins/engine/components/Details.d.ts +1 -1
  23. package/.server/server/plugins/engine/components/EastingNorthingField.d.ts +22 -22
  24. package/.server/server/plugins/engine/components/EmailAddressField.d.ts +4 -4
  25. package/.server/server/plugins/engine/components/FileUploadField.d.ts +3 -3
  26. package/.server/server/plugins/engine/components/FormComponent.d.ts +10 -10
  27. package/.server/server/plugins/engine/components/GeospatialField.d.ts +6 -6
  28. package/.server/server/plugins/engine/components/HiddenField.d.ts +2 -2
  29. package/.server/server/plugins/engine/components/Html.d.ts +1 -1
  30. package/.server/server/plugins/engine/components/InsetText.d.ts +1 -1
  31. package/.server/server/plugins/engine/components/LatLongField.d.ts +22 -22
  32. package/.server/server/plugins/engine/components/List.d.ts +8 -8
  33. package/.server/server/plugins/engine/components/ListFormComponent.d.ts +10 -10
  34. package/.server/server/plugins/engine/components/LocationFieldBase.d.ts +6 -6
  35. package/.server/server/plugins/engine/components/LocationFieldHelpers.d.ts +14 -14
  36. package/.server/server/plugins/engine/components/Markdown.d.ts +1 -1
  37. package/.server/server/plugins/engine/components/MonthYearField.d.ts +11 -11
  38. package/.server/server/plugins/engine/components/MultilineTextField.d.ts +5 -5
  39. package/.server/server/plugins/engine/components/NationalGridFieldNumberField.d.ts +1 -1
  40. package/.server/server/plugins/engine/components/NumberField.d.ts +3 -3
  41. package/.server/server/plugins/engine/components/OsGridRefField.d.ts +1 -1
  42. package/.server/server/plugins/engine/components/PaymentField.d.ts +12 -12
  43. package/.server/server/plugins/engine/components/RadiosField.d.ts +1 -1
  44. package/.server/server/plugins/engine/components/SelectField.d.ts +4 -4
  45. package/.server/server/plugins/engine/components/SelectionControlField.d.ts +10 -10
  46. package/.server/server/plugins/engine/components/TelephoneNumberField.d.ts +4 -4
  47. package/.server/server/plugins/engine/components/TextField.d.ts +2 -2
  48. package/.server/server/plugins/engine/components/UkAddressField.d.ts +11 -11
  49. package/.server/server/plugins/engine/components/YesNoField.d.ts +2 -2
  50. package/.server/server/plugins/engine/components/helpers/__stubs__/geospatial.d.ts +1 -1
  51. package/.server/server/plugins/engine/components/helpers/components.d.ts +5 -5
  52. package/.server/server/plugins/engine/components/helpers/geospatial.d.ts +1 -1
  53. package/.server/server/plugins/engine/components/index.d.ts +27 -27
  54. package/.server/server/plugins/engine/components/types.d.ts +1 -1
  55. package/.server/server/plugins/engine/configureEnginePlugin.d.ts +4 -4
  56. package/.server/server/plugins/engine/date-helper.d.ts +1 -1
  57. package/.server/server/plugins/engine/helpers.d.ts +8 -8
  58. package/.server/server/plugins/engine/index.d.ts +5 -5
  59. package/.server/server/plugins/engine/models/FormModel.d.ts +6 -6
  60. package/.server/server/plugins/engine/models/SummaryViewModel.d.ts +6 -6
  61. package/.server/server/plugins/engine/models/index.d.ts +2 -2
  62. package/.server/server/plugins/engine/models/types.d.ts +4 -4
  63. package/.server/server/plugins/engine/options.d.ts +1 -1
  64. package/.server/server/plugins/engine/options.js +1 -1
  65. package/.server/server/plugins/engine/options.test.js +1 -1
  66. package/.server/server/plugins/engine/outputFormatters/adapter/v1.d.ts +4 -4
  67. package/.server/server/plugins/engine/outputFormatters/human/v1.d.ts +4 -4
  68. package/.server/server/plugins/engine/outputFormatters/index.d.ts +5 -5
  69. package/.server/server/plugins/engine/outputFormatters/machine/v1.d.ts +4 -4
  70. package/.server/server/plugins/engine/outputFormatters/machine/v2.d.ts +4 -4
  71. package/.server/server/plugins/engine/pageControllers/FileUploadPageController.d.ts +8 -8
  72. package/.server/server/plugins/engine/pageControllers/PageController.d.ts +6 -6
  73. package/.server/server/plugins/engine/pageControllers/QuestionPageController.d.ts +8 -8
  74. package/.server/server/plugins/engine/pageControllers/RepeatPageController.d.ts +5 -5
  75. package/.server/server/plugins/engine/pageControllers/StartPageController.d.ts +4 -4
  76. package/.server/server/plugins/engine/pageControllers/StatusPageController.d.ts +4 -4
  77. package/.server/server/plugins/engine/pageControllers/SummaryPageController.d.ts +5 -5
  78. package/.server/server/plugins/engine/pageControllers/TerminalPageController.d.ts +3 -3
  79. package/.server/server/plugins/engine/pageControllers/__stubs__/request.d.ts +2 -2
  80. package/.server/server/plugins/engine/pageControllers/errors.d.ts +1 -1
  81. package/.server/server/plugins/engine/pageControllers/helpers/pages.d.ts +2 -2
  82. package/.server/server/plugins/engine/pageControllers/helpers/state.d.ts +5 -5
  83. package/.server/server/plugins/engine/pageControllers/helpers/state.js +1 -1
  84. package/.server/server/plugins/engine/pageControllers/helpers/state.js.map +1 -1
  85. package/.server/server/plugins/engine/pageControllers/helpers/submission.d.ts +1 -1
  86. package/.server/server/plugins/engine/pageControllers/index.d.ts +7 -7
  87. package/.server/server/plugins/engine/plugin.d.ts +1 -1
  88. package/.server/server/plugins/engine/routes/file-upload.d.ts +1 -1
  89. package/.server/server/plugins/engine/routes/index.d.ts +3 -3
  90. package/.server/server/plugins/engine/routes/payment-helper.d.ts +3 -3
  91. package/.server/server/plugins/engine/routes/payment-helper.js +2 -2
  92. package/.server/server/plugins/engine/routes/payment.js +5 -5
  93. package/.server/server/plugins/engine/routes/payment.test.js +1 -1
  94. package/.server/server/plugins/engine/routes/questions.d.ts +2 -2
  95. package/.server/server/plugins/engine/routes/repeaters/item-delete.d.ts +2 -2
  96. package/.server/server/plugins/engine/routes/repeaters/summary.d.ts +2 -2
  97. package/.server/server/plugins/engine/services/index.d.ts +3 -3
  98. package/.server/server/plugins/engine/services/notifyService.d.ts +4 -4
  99. package/.server/server/plugins/engine/services/uploadService.d.ts +2 -2
  100. package/.server/server/plugins/engine/services/uploadService.js +1 -1
  101. package/.server/server/plugins/engine/types/index.d.ts +10 -10
  102. package/.server/server/plugins/engine/types/schema.d.ts +1 -1
  103. package/.server/server/plugins/engine/types.d.ts +25 -16
  104. package/.server/server/plugins/engine/types.js.map +1 -1
  105. package/.server/server/plugins/engine/validationHelpers.d.ts +2 -2
  106. package/.server/server/plugins/engine/vision.d.ts +1 -1
  107. package/.server/server/plugins/map/index.d.ts +1 -1
  108. package/.server/server/plugins/map/index.js +1 -1
  109. package/.server/server/plugins/map/routes/get-os-token.d.ts +11 -1
  110. package/.server/server/plugins/map/routes/get-os-token.js +12 -2
  111. package/.server/server/plugins/map/routes/get-os-token.js.map +1 -1
  112. package/.server/server/plugins/map/routes/index.d.ts +4 -4
  113. package/.server/server/plugins/map/routes/index.js +3 -2
  114. package/.server/server/plugins/map/routes/index.js.map +1 -1
  115. package/.server/server/plugins/map/routes/vts/esri-aerial.json +23 -0
  116. package/.server/server/plugins/map/service.d.ts +1 -1
  117. package/.server/server/plugins/map/service.js +5 -2
  118. package/.server/server/plugins/map/service.js.map +1 -1
  119. package/.server/server/plugins/map/test/__stubs__/find.d.ts +1 -1
  120. package/.server/server/plugins/map/test/__stubs__/find.js +1 -1
  121. package/.server/server/plugins/nunjucks/context.d.ts +2 -2
  122. package/.server/server/plugins/nunjucks/context.js +2 -2
  123. package/.server/server/plugins/nunjucks/context.test.js +1 -1
  124. package/.server/server/plugins/nunjucks/enviroment.test.js +1 -1
  125. package/.server/server/plugins/nunjucks/environment.d.ts +3 -3
  126. package/.server/server/plugins/nunjucks/environment.js +3 -3
  127. package/.server/server/plugins/nunjucks/filters/answer.d.ts +1 -1
  128. package/.server/server/plugins/nunjucks/filters/answer.js +2 -2
  129. package/.server/server/plugins/nunjucks/filters/answer.test.js +1 -1
  130. package/.server/server/plugins/nunjucks/filters/evaluate.d.ts +1 -1
  131. package/.server/server/plugins/nunjucks/filters/evaluate.js +1 -1
  132. package/.server/server/plugins/nunjucks/filters/field.d.ts +1 -1
  133. package/.server/server/plugins/nunjucks/filters/field.js +1 -1
  134. package/.server/server/plugins/nunjucks/filters/field.test.js +1 -1
  135. package/.server/server/plugins/nunjucks/filters/href.d.ts +1 -1
  136. package/.server/server/plugins/nunjucks/filters/href.js +1 -1
  137. package/.server/server/plugins/nunjucks/filters/href.test.js +1 -1
  138. package/.server/server/plugins/nunjucks/filters/index.d.ts +8 -8
  139. package/.server/server/plugins/nunjucks/filters/page.d.ts +1 -1
  140. package/.server/server/plugins/nunjucks/filters/page.js +1 -1
  141. package/.server/server/plugins/nunjucks/filters/page.test.js +1 -1
  142. package/.server/server/plugins/nunjucks/index.d.ts +3 -3
  143. package/.server/server/plugins/nunjucks/render.d.ts +2 -2
  144. package/.server/server/plugins/nunjucks/render.js +1 -1
  145. package/.server/server/plugins/nunjucks/types.d.ts +1 -1
  146. package/.server/server/plugins/nunjucks/types.js +1 -1
  147. package/.server/server/plugins/payment/helper.d.ts +2 -2
  148. package/.server/server/plugins/payment/helper.js +1 -1
  149. package/.server/server/plugins/payment/service.d.ts +3 -3
  150. package/.server/server/plugins/payment/service.js +1 -1
  151. package/.server/server/plugins/postcode-lookup/index.d.ts +1 -1
  152. package/.server/server/plugins/postcode-lookup/index.js +1 -1
  153. package/.server/server/plugins/postcode-lookup/models/index.d.ts +6 -6
  154. package/.server/server/plugins/postcode-lookup/models/index.js +1 -1
  155. package/.server/server/plugins/postcode-lookup/routes/index.d.ts +6 -6
  156. package/.server/server/plugins/postcode-lookup/routes/index.js +15 -15
  157. package/.server/server/plugins/postcode-lookup/routes/index.js.map +1 -1
  158. package/.server/server/plugins/postcode-lookup/service.d.ts +1 -1
  159. package/.server/server/plugins/postcode-lookup/service.js +5 -2
  160. package/.server/server/plugins/postcode-lookup/service.js.map +1 -1
  161. package/.server/server/plugins/postcode-lookup/types.js +1 -1
  162. package/.server/server/routes/index.d.ts +2 -2
  163. package/.server/server/routes/types.d.ts +1 -1
  164. package/.server/server/schemas/index.d.ts +2 -2
  165. package/.server/server/services/cacheService.d.ts +8 -8
  166. package/.server/server/services/cacheService.js +2 -5
  167. package/.server/server/services/cacheService.js.map +1 -1
  168. package/.server/server/services/httpService.test.js +1 -1
  169. package/.server/server/services/index.d.ts +1 -1
  170. package/.server/server/types.d.ts +7 -7
  171. package/.server/server/utils/file-form-service.d.ts +2 -2
  172. package/.server/server/utils/file-form-service.js +1 -1
  173. package/package.json +8 -4
  174. package/src/client/javascripts/application.js +1 -1
  175. package/src/client/javascripts/geospatial-map.js +4 -4
  176. package/src/client/javascripts/location-map.js +2 -2
  177. package/src/client/javascripts/map.js +13 -4
  178. package/src/client/javascripts/shared.js +7 -7
  179. package/src/index.ts +3 -3
  180. package/src/server/common/helpers/logging/logger-options.ts +1 -1
  181. package/src/server/common/helpers/logging/logger.ts +1 -1
  182. package/src/server/common/helpers/logging/request-logger.ts +1 -1
  183. package/src/server/common/helpers/logging/request-tracing.js +1 -1
  184. package/src/server/common/helpers/redis-client.js +2 -2
  185. package/src/server/index.ts +13 -13
  186. package/src/server/plugins/crumb.ts +2 -2
  187. package/src/server/plugins/engine/beta/form-context.ts +9 -9
  188. package/src/server/plugins/engine/components/AutocompleteField.ts +3 -3
  189. package/src/server/plugins/engine/components/CheckboxesField.ts +7 -8
  190. package/src/server/plugins/engine/components/ComponentBase.ts +5 -5
  191. package/src/server/plugins/engine/components/ComponentCollection.ts +9 -9
  192. package/src/server/plugins/engine/components/DatePartsField.ts +8 -8
  193. package/src/server/plugins/engine/components/DeclarationField.ts +3 -3
  194. package/src/server/plugins/engine/components/Details.ts +1 -1
  195. package/src/server/plugins/engine/components/EastingNorthingField.ts +9 -9
  196. package/src/server/plugins/engine/components/EmailAddressField.ts +3 -3
  197. package/src/server/plugins/engine/components/FileUploadField.ts +6 -6
  198. package/src/server/plugins/engine/components/FormComponent.ts +4 -4
  199. package/src/server/plugins/engine/components/GeospatialField.ts +5 -5
  200. package/src/server/plugins/engine/components/HiddenField.ts +4 -4
  201. package/src/server/plugins/engine/components/Html.ts +1 -1
  202. package/src/server/plugins/engine/components/InsetText.ts +1 -1
  203. package/src/server/plugins/engine/components/LatLongField.ts +9 -9
  204. package/src/server/plugins/engine/components/List.ts +2 -2
  205. package/src/server/plugins/engine/components/ListFormComponent.ts +4 -4
  206. package/src/server/plugins/engine/components/LocationFieldBase.ts +5 -5
  207. package/src/server/plugins/engine/components/LocationFieldHelpers.ts +5 -5
  208. package/src/server/plugins/engine/components/Markdown.ts +1 -1
  209. package/src/server/plugins/engine/components/MonthYearField.ts +8 -8
  210. package/src/server/plugins/engine/components/MultilineTextField.ts +4 -4
  211. package/src/server/plugins/engine/components/NationalGridFieldNumberField.ts +2 -2
  212. package/src/server/plugins/engine/components/NumberField.ts +3 -3
  213. package/src/server/plugins/engine/components/OsGridRefField.ts +2 -2
  214. package/src/server/plugins/engine/components/PaymentField.ts +8 -8
  215. package/src/server/plugins/engine/components/RadiosField.ts +1 -1
  216. package/src/server/plugins/engine/components/SelectField.ts +2 -2
  217. package/src/server/plugins/engine/components/SelectionControlField.ts +4 -4
  218. package/src/server/plugins/engine/components/TelephoneNumberField.ts +4 -4
  219. package/src/server/plugins/engine/components/TextField.ts +3 -3
  220. package/src/server/plugins/engine/components/UkAddressField.ts +7 -7
  221. package/src/server/plugins/engine/components/YesNoField.ts +5 -5
  222. package/src/server/plugins/engine/components/helpers/__stubs__/geospatial.ts +1 -1
  223. package/src/server/plugins/engine/components/helpers/components.ts +8 -8
  224. package/src/server/plugins/engine/components/helpers/geospatial.ts +1 -1
  225. package/src/server/plugins/engine/components/index.ts +27 -27
  226. package/src/server/plugins/engine/components/types.ts +1 -1
  227. package/src/server/plugins/engine/configureEnginePlugin.ts +10 -10
  228. package/src/server/plugins/engine/date-helper.ts +1 -1
  229. package/src/server/plugins/engine/helpers.ts +8 -8
  230. package/src/server/plugins/engine/index.ts +8 -8
  231. package/src/server/plugins/engine/models/FormModel.ts +15 -15
  232. package/src/server/plugins/engine/models/SummaryViewModel.ts +10 -10
  233. package/src/server/plugins/engine/models/index.ts +2 -2
  234. package/src/server/plugins/engine/models/types.ts +4 -4
  235. package/src/server/plugins/engine/options.js +3 -3
  236. package/src/server/plugins/engine/outputFormatters/adapter/v1.ts +6 -6
  237. package/src/server/plugins/engine/outputFormatters/human/v1.ts +9 -9
  238. package/src/server/plugins/engine/outputFormatters/index.ts +8 -8
  239. package/src/server/plugins/engine/outputFormatters/machine/v1.ts +7 -7
  240. package/src/server/plugins/engine/outputFormatters/machine/v2.ts +6 -6
  241. package/src/server/plugins/engine/pageControllers/FileUploadPageController.ts +9 -9
  242. package/src/server/plugins/engine/pageControllers/PageController.ts +7 -7
  243. package/src/server/plugins/engine/pageControllers/QuestionPageController.ts +13 -13
  244. package/src/server/plugins/engine/pageControllers/RepeatPageController.ts +6 -6
  245. package/src/server/plugins/engine/pageControllers/StartPageController.ts +3 -3
  246. package/src/server/plugins/engine/pageControllers/StatusPageController.ts +5 -5
  247. package/src/server/plugins/engine/pageControllers/SummaryPageController.ts +12 -12
  248. package/src/server/plugins/engine/pageControllers/TerminalPageController.ts +3 -3
  249. package/src/server/plugins/engine/pageControllers/__stubs__/request.ts +3 -3
  250. package/src/server/plugins/engine/pageControllers/__stubs__/server.ts +2 -2
  251. package/src/server/plugins/engine/pageControllers/errors.ts +1 -1
  252. package/src/server/plugins/engine/pageControllers/helpers/pages.ts +2 -2
  253. package/src/server/plugins/engine/pageControllers/helpers/state.ts +9 -9
  254. package/src/server/plugins/engine/pageControllers/helpers/submission.ts +5 -5
  255. package/src/server/plugins/engine/pageControllers/index.ts +7 -7
  256. package/src/server/plugins/engine/pageControllers/validationOptions.ts +1 -1
  257. package/src/server/plugins/engine/plugin.ts +14 -14
  258. package/src/server/plugins/engine/routes/file-upload.ts +2 -2
  259. package/src/server/plugins/engine/routes/index.ts +10 -10
  260. package/src/server/plugins/engine/routes/payment-helper.js +4 -4
  261. package/src/server/plugins/engine/routes/payment.js +9 -9
  262. package/src/server/plugins/engine/routes/questions.ts +10 -10
  263. package/src/server/plugins/engine/routes/repeaters/item-delete.ts +6 -6
  264. package/src/server/plugins/engine/routes/repeaters/summary.ts +5 -5
  265. package/src/server/plugins/engine/services/formSubmissionService.js +2 -2
  266. package/src/server/plugins/engine/services/index.js +3 -3
  267. package/src/server/plugins/engine/services/localFormsService.js +2 -2
  268. package/src/server/plugins/engine/services/notifyService.ts +9 -9
  269. package/src/server/plugins/engine/services/uploadService.js +3 -3
  270. package/src/server/plugins/engine/types/index.ts +10 -10
  271. package/src/server/plugins/engine/types/schema.ts +2 -2
  272. package/src/server/plugins/engine/types.ts +22 -17
  273. package/src/server/plugins/engine/validationHelpers.ts +3 -3
  274. package/src/server/plugins/engine/vision.ts +3 -3
  275. package/src/server/plugins/map/index.js +2 -2
  276. package/src/server/plugins/map/routes/get-os-token.js +15 -3
  277. package/src/server/plugins/map/routes/index.js +7 -5
  278. package/src/server/plugins/map/routes/vts/esri-aerial.json +23 -0
  279. package/src/server/plugins/map/service.js +7 -4
  280. package/src/server/plugins/map/test/__stubs__/find.js +1 -1
  281. package/src/server/plugins/nunjucks/context.js +5 -5
  282. package/src/server/plugins/nunjucks/environment.js +6 -6
  283. package/src/server/plugins/nunjucks/filters/answer.js +3 -3
  284. package/src/server/plugins/nunjucks/filters/evaluate.js +2 -2
  285. package/src/server/plugins/nunjucks/filters/field.js +1 -1
  286. package/src/server/plugins/nunjucks/filters/href.js +2 -2
  287. package/src/server/plugins/nunjucks/filters/index.js +8 -8
  288. package/src/server/plugins/nunjucks/filters/page.js +1 -1
  289. package/src/server/plugins/nunjucks/index.js +3 -3
  290. package/src/server/plugins/nunjucks/plugin.js +3 -3
  291. package/src/server/plugins/nunjucks/render.js +2 -2
  292. package/src/server/plugins/nunjucks/types.js +1 -1
  293. package/src/server/plugins/payment/helper.js +2 -2
  294. package/src/server/plugins/payment/service.js +4 -4
  295. package/src/server/plugins/postcode-lookup/index.js +2 -2
  296. package/src/server/plugins/postcode-lookup/models/index.js +3 -3
  297. package/src/server/plugins/postcode-lookup/routes/index.js +24 -14
  298. package/src/server/plugins/postcode-lookup/service.js +7 -4
  299. package/src/server/plugins/postcode-lookup/types.js +1 -1
  300. package/src/server/plugins/session.ts +1 -1
  301. package/src/server/routes/index.ts +2 -2
  302. package/src/server/routes/public.ts +1 -1
  303. package/src/server/routes/types.ts +1 -1
  304. package/src/server/schemas/index.ts +2 -2
  305. package/src/server/secure-context.js +1 -1
  306. package/src/server/services/cacheService.ts +13 -18
  307. package/src/server/services/httpService.ts +1 -1
  308. package/src/server/services/index.ts +1 -1
  309. package/src/server/types.ts +7 -7
  310. package/src/server/utils/notify.ts +2 -2
  311. package/src/server/utils/utils.js +1 -1
  312. package/src/typings/hapi/index.d.ts +4 -4
  313. package/src/typings/joi/index.d.ts +1 -1
  314. package/src/server/common/helpers/logging/logger-options.test.ts +0 -50
  315. package/src/server/index.test.ts +0 -644
  316. package/src/server/plugins/engine/beta/form-context.test.ts +0 -373
  317. package/src/server/plugins/engine/components/AutocompleteField.test.ts +0 -362
  318. package/src/server/plugins/engine/components/CheckboxesField.test.ts +0 -486
  319. package/src/server/plugins/engine/components/DatePartsField.test.ts +0 -927
  320. package/src/server/plugins/engine/components/DeclarationField.test.ts +0 -560
  321. package/src/server/plugins/engine/components/Details.test.ts +0 -49
  322. package/src/server/plugins/engine/components/EastingNorthingField.test.ts +0 -727
  323. package/src/server/plugins/engine/components/EmailAddressField.test.ts +0 -445
  324. package/src/server/plugins/engine/components/FileUploadField.test.ts +0 -1079
  325. package/src/server/plugins/engine/components/GeospatialField.test.ts +0 -380
  326. package/src/server/plugins/engine/components/HiddenField.test.ts +0 -188
  327. package/src/server/plugins/engine/components/Html.test.ts +0 -48
  328. package/src/server/plugins/engine/components/InsetText.test.ts +0 -48
  329. package/src/server/plugins/engine/components/LatLongField.test.ts +0 -898
  330. package/src/server/plugins/engine/components/List.test.ts +0 -79
  331. package/src/server/plugins/engine/components/LocationFieldBase.test.ts +0 -253
  332. package/src/server/plugins/engine/components/LocationFieldHelpers.test.ts +0 -743
  333. package/src/server/plugins/engine/components/Markdown.test.ts +0 -48
  334. package/src/server/plugins/engine/components/MonthYearField.test.ts +0 -617
  335. package/src/server/plugins/engine/components/MultilineTextField.test.ts +0 -647
  336. package/src/server/plugins/engine/components/NationalGridFieldNumberField.test.ts +0 -449
  337. package/src/server/plugins/engine/components/NumberField.test.ts +0 -723
  338. package/src/server/plugins/engine/components/OsGridRefField.test.ts +0 -460
  339. package/src/server/plugins/engine/components/PaymentField.test.ts +0 -745
  340. package/src/server/plugins/engine/components/RadiosField.test.ts +0 -297
  341. package/src/server/plugins/engine/components/SelectField.test.ts +0 -289
  342. package/src/server/plugins/engine/components/TelephoneNumberField.test.ts +0 -384
  343. package/src/server/plugins/engine/components/TextField.test.ts +0 -521
  344. package/src/server/plugins/engine/components/UkAddressField.test.ts +0 -806
  345. package/src/server/plugins/engine/components/YesNoField.test.ts +0 -256
  346. package/src/server/plugins/engine/components/helpers/components.test.ts +0 -399
  347. package/src/server/plugins/engine/components/helpers/geospatial.test.js +0 -55
  348. package/src/server/plugins/engine/components/helpers/helpers.test.ts +0 -219
  349. package/src/server/plugins/engine/date-helper.test.ts +0 -47
  350. package/src/server/plugins/engine/helpers.test.ts +0 -868
  351. package/src/server/plugins/engine/models/FormModel.test.ts +0 -725
  352. package/src/server/plugins/engine/models/SummaryViewModel.test.ts +0 -472
  353. package/src/server/plugins/engine/options.test.js +0 -63
  354. package/src/server/plugins/engine/outputFormatters/adapter/v1.location.test.ts +0 -356
  355. package/src/server/plugins/engine/outputFormatters/adapter/v1.test.ts +0 -871
  356. package/src/server/plugins/engine/outputFormatters/human/v1.payment.test.ts +0 -147
  357. package/src/server/plugins/engine/outputFormatters/human/v1.test.ts +0 -145
  358. package/src/server/plugins/engine/outputFormatters/index.test.ts +0 -17
  359. package/src/server/plugins/engine/outputFormatters/machine/v1.test.ts +0 -268
  360. package/src/server/plugins/engine/outputFormatters/machine/v2.location.test.ts +0 -341
  361. package/src/server/plugins/engine/outputFormatters/machine/v2.payment.test.ts +0 -115
  362. package/src/server/plugins/engine/outputFormatters/machine/v2.test.ts +0 -311
  363. package/src/server/plugins/engine/pageControllers/FileUploadPageController.test.ts +0 -1372
  364. package/src/server/plugins/engine/pageControllers/PageController.test.ts +0 -246
  365. package/src/server/plugins/engine/pageControllers/QuestionPageController.test.ts +0 -1686
  366. package/src/server/plugins/engine/pageControllers/RepeatPageController.test.ts +0 -279
  367. package/src/server/plugins/engine/pageControllers/StartPageController.test.ts +0 -32
  368. package/src/server/plugins/engine/pageControllers/StatusPageController.test.ts +0 -32
  369. package/src/server/plugins/engine/pageControllers/SummaryPageController.test.ts +0 -89
  370. package/src/server/plugins/engine/pageControllers/TerminalController.test.ts +0 -37
  371. package/src/server/plugins/engine/pageControllers/errors.test.ts +0 -78
  372. package/src/server/plugins/engine/pageControllers/helpers/helpers.test.ts +0 -182
  373. package/src/server/plugins/engine/pageControllers/helpers/state.test.ts +0 -359
  374. package/src/server/plugins/engine/pageControllers/helpers/submission.test.ts +0 -373
  375. package/src/server/plugins/engine/referenceNumbers.test.ts +0 -74
  376. package/src/server/plugins/engine/routes/index.test.ts +0 -332
  377. package/src/server/plugins/engine/routes/payment-helper.test.js +0 -136
  378. package/src/server/plugins/engine/routes/payment.test.js +0 -180
  379. package/src/server/plugins/engine/routes/questions.test.ts +0 -502
  380. package/src/server/plugins/engine/routes/repeaters/item-delete.test.ts +0 -83
  381. package/src/server/plugins/engine/routes/repeaters/summary.test.ts +0 -75
  382. package/src/server/plugins/engine/services/formsService.test.js +0 -26
  383. package/src/server/plugins/engine/services/notifyService.test.ts +0 -310
  384. package/src/server/plugins/engine/types/schema.test.ts +0 -234
  385. package/src/server/plugins/engine/views/components/service-banner/template.test.js +0 -43
  386. package/src/server/plugins/engine/views/components/tag-env/template.test.js +0 -28
  387. package/src/server/plugins/engine/views/partials/preview-banner.test.js +0 -122
  388. package/src/server/plugins/map/routes/get-os-token.test.js +0 -55
  389. package/src/server/plugins/map/service.test.js +0 -144
  390. package/src/server/plugins/nunjucks/context.test.js +0 -109
  391. package/src/server/plugins/nunjucks/enviroment.test.js +0 -207
  392. package/src/server/plugins/nunjucks/filters/answer.test.js +0 -92
  393. package/src/server/plugins/nunjucks/filters/field.test.js +0 -75
  394. package/src/server/plugins/nunjucks/filters/href.test.js +0 -80
  395. package/src/server/plugins/nunjucks/filters/merge.test.js +0 -15
  396. package/src/server/plugins/nunjucks/filters/page.test.js +0 -65
  397. package/src/server/plugins/payment/helper.test.js +0 -29
  398. package/src/server/plugins/payment/service.test.js +0 -218
  399. package/src/server/plugins/postcode-lookup/service.test.js +0 -177
  400. package/src/server/postcode-lookup.test.ts +0 -64
  401. package/src/server/routes/dummy-api.test.ts +0 -97
  402. package/src/server/services/cacheService.test.ts +0 -308
  403. package/src/server/services/httpService.test.js +0 -491
  404. package/src/server/utils/file-form-service.test.js +0 -127
  405. package/src/server/utils/notify.test.ts +0 -37
  406. package/src/server/utils/secure-context/get-trust-store-certs.test.js +0 -19
  407. package/src/server/utils/utils.test.js +0 -69
@@ -1,11 +1,11 @@
1
1
  import { StatusCodes } from 'http-status-codes'
2
2
 
3
- import { createLogger } from '~/src/server/common/helpers/logging/logger.js'
3
+ import { createLogger } from '../../common/helpers/logging/logger.js'
4
4
  import {
5
5
  buildPaymentInfo,
6
6
  convertPenceToPounds
7
- } from '~/src/server/plugins/engine/routes/payment-helper.js'
8
- import { get, post, postJson } from '~/src/server/services/httpService.js'
7
+ } from '../engine/routes/payment-helper.js'
8
+ import { get, post, postJson } from '../../services/httpService.js'
9
9
 
10
10
  const PAYMENT_BASE_URL = 'https://publicapi.payments.service.gov.uk'
11
11
  const PAYMENT_ENDPOINT = '/v1/payments'
@@ -231,5 +231,5 @@ export class PaymentService {
231
231
  }
232
232
 
233
233
  /**
234
- * @import { CreatePaymentRequest, CreatePaymentResponse, GetPaymentApiResponse, GetPaymentResponse } from '~/src/server/plugins/payment/types.js'
234
+ * @import { CreatePaymentRequest, CreatePaymentResponse, GetPaymentApiResponse, GetPaymentResponse } from './types.js'
235
235
  */
@@ -1,4 +1,4 @@
1
- import { getRoutes } from '~/src/server/plugins/postcode-lookup/routes/index.js'
1
+ import { getRoutes } from './routes/index.js'
2
2
 
3
3
  export const VIEW_PATH = 'src/server/plugins/postcode-lookup/views'
4
4
 
@@ -17,5 +17,5 @@ export const postcodeLookupPlugin = {
17
17
 
18
18
  /**
19
19
  * @import { NamedPlugin } from '@hapi/hapi'
20
- * @import { PostcodeLookupConfiguration } from '~/src/server/plugins/postcode-lookup/types.js'
20
+ * @import { PostcodeLookupConfiguration } from './types.js'
21
21
  */
@@ -1,7 +1,7 @@
1
1
  import Joi from 'joi'
2
2
 
3
- import * as service from '~/src/server/plugins/postcode-lookup/service.js'
4
- import { crumbSchema } from '~/src/server/schemas/index.js'
3
+ import * as service from '../service.js'
4
+ import { crumbSchema } from '../../../schemas/index.js'
5
5
 
6
6
  // Field names/ids
7
7
  const postcodeQueryFieldName = 'postcodeQuery'
@@ -550,5 +550,5 @@ export function manualViewModel(data, payload, err) {
550
550
 
551
551
  /**
552
552
  * @import { ObjectSchema, ValidationErrorItem } from 'joi'
553
- * @import { Address, PostcodeLookupDetailsData, PostcodeLookupDetailsPayload, PostcodeLookupManualPayload, PostcodeLookupSelectPayload, PostcodeLookupSessionData } from '~/src/server/plugins/postcode-lookup/types.js'
553
+ * @import { Address, PostcodeLookupDetailsData, PostcodeLookupDetailsPayload, PostcodeLookupManualPayload, PostcodeLookupSelectPayload, PostcodeLookupSessionData } from '../types.js'
554
554
  */
@@ -2,7 +2,7 @@ import Boom from '@hapi/boom'
2
2
  import { StatusCodes } from 'http-status-codes'
3
3
  import Joi from 'joi'
4
4
 
5
- import { EXTERNAL_STATE_APPENDAGE } from '~/src/server/constants.js'
5
+ import { EXTERNAL_STATE_APPENDAGE } from '../../../constants.js'
6
6
  import {
7
7
  JOURNEY_BASE_URL,
8
8
  detailsPayloadSchema,
@@ -13,8 +13,8 @@ import {
13
13
  selectViewModel,
14
14
  stepSchema,
15
15
  steps
16
- } from '~/src/server/plugins/postcode-lookup/models/index.js'
17
- import * as service from '~/src/server/plugins/postcode-lookup/service.js'
16
+ } from '../models/index.js'
17
+ import * as service from '../service.js'
18
18
 
19
19
  const viewName = 'postcode-lookup-details'
20
20
 
@@ -170,10 +170,14 @@ function postRoute(options) {
170
170
  * @param {PostcodeLookupConfiguration} options
171
171
  */
172
172
  async function detailsPostHandler(request, h, options) {
173
- const { payload } = request
174
173
  const session = getSessionState(request)
175
174
  const { ordnanceSurveyApiKey: apiKey } = options
176
- const { value: details, error } = detailsPayloadSchema.validate(payload)
175
+
176
+ /** @type {{ value: PostcodeLookupDetailsPayload, error?: import('joi').ValidationError }} */
177
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
178
+ const { value: details, error } = detailsPayloadSchema.validate(
179
+ request.payload
180
+ )
177
181
 
178
182
  let model
179
183
 
@@ -201,10 +205,12 @@ async function detailsPostHandler(request, h, options) {
201
205
  * @param {PostcodeLookupConfiguration} options
202
206
  */
203
207
  async function selectPostHandler(request, h, options) {
204
- const { payload } = request
205
208
  const session = getSessionState(request)
206
209
  const { ordnanceSurveyApiKey: apiKey } = options
207
- const { value: select, error } = selectPayloadSchema.validate(payload)
210
+
211
+ /** @type {{ value: PostcodeLookupSelectPayload, error?: import('joi').ValidationError }} */
212
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
213
+ const { value: select, error } = selectPayloadSchema.validate(request.payload)
208
214
 
209
215
  if (error) {
210
216
  const model = await selectViewModel({ session, apiKey }, select, error)
@@ -232,12 +238,16 @@ async function selectPostHandler(request, h, options) {
232
238
  * @param {ResponseToolkit<PostcodeLookupPostRequestRefs>} h
233
239
  */
234
240
  function manualPostHandler(request, h) {
235
- const { payload } = request
236
241
  const session = getSessionState(request)
237
242
 
238
- const { value: manual, error } = manualPayloadSchema.validate(payload, {
239
- abortEarly: false
240
- })
243
+ /** @type {{ value: PostcodeLookupManualPayload, error?: import('joi').ValidationError }} */
244
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
245
+ const { value: manual, error } = manualPayloadSchema.validate(
246
+ request.payload,
247
+ {
248
+ abortEarly: false
249
+ }
250
+ )
241
251
 
242
252
  if (error) {
243
253
  const model = manualViewModel(session, manual, error)
@@ -254,7 +264,7 @@ function manualPostHandler(request, h) {
254
264
 
255
265
  /**
256
266
  * @import { ResponseToolkit, ServerRoute } from '@hapi/hapi'
257
- * @import { PostcodeLookupManualPayload, Address, PostcodeLookupGetRequestRefs, PostcodeLookupPostRequestRefs, PostcodeLookupRequest, PostcodeLookupPostRequest, PostcodeLookupConfiguration, PostcodeLookupDispatchData, PostcodeLookupSessionData } from '~/src/server/plugins/postcode-lookup/types.js'
258
- * @import { FormRequestPayload, FormResponseToolkit } from '~/src/server/routes/types.js'
259
- * @import { ExternalStateAppendage } from '~/src/server/plugins/engine/types.js'
267
+ * @import { PostcodeLookupManualPayload, PostcodeLookupDetailsPayload, PostcodeLookupSelectPayload, Address, PostcodeLookupGetRequestRefs, PostcodeLookupPostRequestRefs, PostcodeLookupRequest, PostcodeLookupPostRequest, PostcodeLookupConfiguration, PostcodeLookupDispatchData, PostcodeLookupSessionData } from '../types.js'
268
+ * @import { FormRequestPayload, FormResponseToolkit } from '../../../routes/types.js'
269
+ * @import { ExternalStateAppendage } from '../../engine/types.js'
260
270
  */
@@ -1,8 +1,8 @@
1
1
  import { getErrorMessage } from '@defra/forms-model'
2
2
  import Boom from '@hapi/boom'
3
3
 
4
- import { createLogger } from '~/src/server/common/helpers/logging/logger.js'
5
- import { getJson } from '~/src/server/services/httpService.js'
4
+ import { createLogger } from '../../common/helpers/logging/logger.js'
5
+ import { getJson } from '../../services/httpService.js'
6
6
 
7
7
  const logger = createLogger()
8
8
 
@@ -19,7 +19,10 @@ function empty() {
19
19
  * @param {string} endpoint - the OS api endpoint
20
20
  */
21
21
  function logErrorAndReturnEmpty(err, endpoint) {
22
- const msg = `${getErrorMessage(err)} ${(Boom.isBoom(err) && err.data?.payload?.error?.message) ?? ''}`
22
+ /** @type {{ payload?: { error?: { message?: string } } } | false} */
23
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
24
+ const boomData = Boom.isBoom(err) && err.data
25
+ const msg = `${getErrorMessage(err)} ${(boomData && boomData.payload?.error?.message) ?? ''}`
23
26
 
24
27
  logger.error(err, `Exception occured calling OS places ${endpoint} - ${msg}}`)
25
28
 
@@ -184,5 +187,5 @@ function titleCase(address) {
184
187
  }
185
188
 
186
189
  /**
187
- * @import { Address, DeliveryPointAddress, DeliveryPointAddressResult } from '~/src/server/plugins/postcode-lookup/types.js'
190
+ * @import { Address, DeliveryPointAddress, DeliveryPointAddressResult } from './types.js'
188
191
  */
@@ -139,5 +139,5 @@
139
139
 
140
140
  /**
141
141
  * @import { Request } from '@hapi/hapi'
142
- * @import { FormPayload } from '~/src/server/plugins/engine/types.js'
142
+ * @import { FormPayload } from '../engine/types.js'
143
143
  */
@@ -1,7 +1,7 @@
1
1
  import { type ServerRegisterPluginObject } from '@hapi/hapi'
2
2
  import yar, { type YarOptions } from '@hapi/yar'
3
3
 
4
- import { config } from '~/src/config/index.js'
4
+ import { config } from '../../config/index.js'
5
5
 
6
6
  /**
7
7
  * Yar is used for temporary session data but not form submissions, e.g. UI helpers, session flags.
@@ -1,2 +1,2 @@
1
- export { default as publicRoutes } from '~/src/server/routes/public.js'
2
- export { default as dummyApiRoutes } from '~/src/server/routes/dummy-api.js'
1
+ export { default as publicRoutes } from './public.js'
2
+ export { default as dummyApiRoutes } from './dummy-api.js'
@@ -2,7 +2,7 @@ import { join } from 'node:path'
2
2
 
3
3
  import { type HandlerDecorations, type ServerRoute } from '@hapi/hapi'
4
4
 
5
- import { config } from '~/src/config/index.js'
5
+ import { config } from '../../config/index.js'
6
6
 
7
7
  export default [
8
8
  {
@@ -4,7 +4,7 @@ import {
4
4
  type ResponseToolkit
5
5
  } from '@hapi/hapi'
6
6
 
7
- import { type FormPayload } from '~/src/server/plugins/engine/types.js'
7
+ import { type FormPayload } from '../plugins/engine/types.js'
8
8
 
9
9
  export interface FormQuery extends Partial<Record<string, string>> {
10
10
  /**
@@ -1,7 +1,7 @@
1
1
  import Joi from 'joi'
2
2
 
3
- import { type FormPayloadParams } from '~/src/server/plugins/engine/types.js'
4
- import { FormAction, FormStatus } from '~/src/server/routes/types.js'
3
+ import { type FormPayloadParams } from '../plugins/engine/types.js'
4
+ import { FormAction, FormStatus } from '../routes/types.js'
5
5
 
6
6
  export const stateSchema = Joi.string<FormStatus>()
7
7
  .valid(FormStatus.Draft, FormStatus.Live)
@@ -1,6 +1,6 @@
1
1
  import tls from 'node:tls'
2
2
 
3
- import { getTrustStoreCerts } from '~/src/server/utils/secure-context/get-trust-store-certs.js'
3
+ import { getTrustStoreCerts } from './utils/secure-context/get-trust-store-certs.js'
4
4
 
5
5
  /**
6
6
  * @type {SecureContext}
@@ -2,17 +2,17 @@ import { type Server } from '@hapi/hapi'
2
2
  import * as Hoek from '@hapi/hoek'
3
3
  import unset from 'lodash/unset.js'
4
4
 
5
- import { config } from '~/src/config/index.js'
6
- import { type createServer } from '~/src/server/index.js'
5
+ import { config } from '../../config/index.js'
6
+ import { type createServer } from '../index.js'
7
7
  import {
8
8
  type AnyFormRequest,
9
- type AnyRequest,
9
+ type CacheRequest,
10
10
  type FormConfirmationState,
11
11
  type FormPayload,
12
12
  type FormState,
13
13
  type FormSubmissionError,
14
14
  type FormSubmissionState
15
- } from '~/src/server/plugins/engine/types.js'
15
+ } from '../plugins/engine/types.js'
16
16
 
17
17
  const partition = 'cache'
18
18
 
@@ -39,14 +39,14 @@ export class CacheService {
39
39
  this.logger = server.logger
40
40
  }
41
41
 
42
- async getState(request: AnyRequest): Promise<FormSubmissionState> {
42
+ async getState(request: CacheRequest): Promise<FormSubmissionState> {
43
43
  const key = this.Key(request)
44
44
  const cached = await this.cache.get(key)
45
45
 
46
46
  return cached ?? {}
47
47
  }
48
48
 
49
- async setState(request: AnyFormRequest, state: FormSubmissionState) {
49
+ async setState(request: CacheRequest, state: FormSubmissionState) {
50
50
  const key = this.Key(request)
51
51
  const ttl = config.get('sessionTimeout')
52
52
 
@@ -56,7 +56,7 @@ export class CacheService {
56
56
  }
57
57
 
58
58
  async getConfirmationState(
59
- request: AnyFormRequest
59
+ request: CacheRequest
60
60
  ): Promise<FormConfirmationState> {
61
61
  const key = this.Key(request, ADDITIONAL_IDENTIFIER.Confirmation)
62
62
  const value = await this.cache.get(key)
@@ -65,7 +65,7 @@ export class CacheService {
65
65
  }
66
66
 
67
67
  async setConfirmationState(
68
- request: AnyFormRequest,
68
+ request: CacheRequest,
69
69
  confirmationState: FormConfirmationState
70
70
  ) {
71
71
  const key = this.Key(request, ADDITIONAL_IDENTIFIER.Confirmation)
@@ -74,7 +74,7 @@ export class CacheService {
74
74
  return this.cache.set(key, confirmationState, ttl)
75
75
  }
76
76
 
77
- async clearState(request: AnyFormRequest) {
77
+ async clearState(request: CacheRequest) {
78
78
  if (request.yar.id) {
79
79
  await this.cache.drop(this.Key(request))
80
80
  }
@@ -123,10 +123,7 @@ export class CacheService {
123
123
  * ```
124
124
  * @returns The updated state after removal
125
125
  */
126
- async resetComponentStates(
127
- request: AnyFormRequest,
128
- componentNames: string[]
129
- ) {
126
+ async resetComponentStates(request: CacheRequest, componentNames: string[]) {
130
127
  const state = await this.getState(request)
131
128
 
132
129
  for (const componentName of componentNames) {
@@ -142,15 +139,13 @@ export class CacheService {
142
139
  * @param request - hapi request object
143
140
  * @param additionalIdentifier - appended to the id
144
141
  */
145
- Key(request: AnyRequest, additionalIdentifier?: ADDITIONAL_IDENTIFIER) {
142
+ Key(request: CacheRequest, additionalIdentifier?: ADDITIONAL_IDENTIFIER) {
146
143
  if (!request.yar.id) {
147
144
  throw new Error('No session ID found')
148
145
  }
149
146
 
150
- // eslint-disable-next-line @typescript-eslint/non-nullable-type-assertion-style
151
- const state = (request.params.state as string) || ''
152
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
153
- const slug = (request.params.slug as string) || ''
147
+ const state = request.params.state ?? ''
148
+ const slug = request.params.slug ?? ''
154
149
  const key = `${request.yar.id}:${state}:${slug}:`
155
150
 
156
151
  return {
@@ -1,6 +1,6 @@
1
1
  import Wreck from '@hapi/wreck'
2
2
 
3
- import { applyTraceHeaders } from '~/src/server/utils/utils.js'
3
+ import { applyTraceHeaders } from '../utils/utils.js'
4
4
 
5
5
  export type Method = keyof Pick<typeof Wreck, 'get' | 'post' | 'put' | 'delete'>
6
6
  export type RequestOptions = Parameters<typeof Wreck.defaults>[0]
@@ -1 +1 @@
1
- export { CacheService } from '~/src/server/services/cacheService.js'
1
+ export { CacheService } from './cacheService.js'
@@ -6,21 +6,21 @@ import {
6
6
  } from '@defra/forms-model'
7
7
  import { type Server } from '@hapi/hapi'
8
8
 
9
- import { type FormModel } from '~/src/server/plugins/engine/models/index.js'
10
- import { type DetailItem } from '~/src/server/plugins/engine/models/types.js'
11
- import { type PageController } from '~/src/server/plugins/engine/pageControllers/PageController.js'
9
+ import { type FormModel } from './plugins/engine/models/index.js'
10
+ import { type DetailItem } from './plugins/engine/models/types.js'
11
+ import { type PageController } from './plugins/engine/pageControllers/PageController.js'
12
12
  import {
13
13
  type FormContext,
14
14
  type OnRequestCallback,
15
15
  type PluginOptions,
16
16
  type PreparePageEventRequestOptions
17
- } from '~/src/server/plugins/engine/types.js'
18
- import { type PaymentService } from '~/src/server/plugins/payment/service.js'
17
+ } from './plugins/engine/types.js'
18
+ import { type PaymentService } from './plugins/payment/service.js'
19
19
  import {
20
20
  type FormRequestPayload,
21
21
  type FormStatus
22
- } from '~/src/server/routes/types.js'
23
- import { type CacheService } from '~/src/server/services/cacheService.js'
22
+ } from './routes/types.js'
23
+ import { type CacheService } from './services/cacheService.js'
24
24
 
25
25
  export interface FormsService {
26
26
  getFormMetadata: (slug: string) => Promise<FormMetadata>
@@ -1,7 +1,7 @@
1
1
  import { token } from '@hapi/jwt'
2
2
 
3
- import { config } from '~/src/config/index.js'
4
- import { postJson } from '~/src/server/services/httpService.js'
3
+ import { config } from '../../config/index.js'
4
+ import { postJson } from '../services/httpService.js'
5
5
 
6
6
  const notifyAPIKey = config.get('notifyAPIKey')
7
7
 
@@ -1,7 +1,7 @@
1
1
  import { getTraceId } from '@defra/hapi-tracing'
2
2
  import Joi from 'joi'
3
3
 
4
- import { config } from '~/src/config/index.js'
4
+ import { config } from '../../config/index.js'
5
5
 
6
6
  /**
7
7
  * Returns a set of headers to use in an HTTP request, merging them with any existing headers in options.
@@ -6,14 +6,14 @@ import {
6
6
  type COMPONENT_STATE_ERROR,
7
7
  type EXTERNAL_STATE_APPENDAGE,
8
8
  type EXTERNAL_STATE_PAYLOAD
9
- } from '~/src/server/constants.js'
10
- import { type FormModel } from '~/src/server/plugins/engine/models/index.js'
9
+ } from '../../server/constants.js'
10
+ import { type FormModel } from '../../server/plugins/engine/models/index.js'
11
11
  import {
12
12
  type AnyFormRequest,
13
13
  type FormSubmissionError,
14
14
  type PluginOptions
15
- } from '~/src/server/plugins/engine/types.ts'
16
- import { type CacheService } from '~/src/server/services/index.js'
15
+ } from '../../server/plugins/engine/types.ts'
16
+ import { type CacheService } from '../../server/services/index.js'
17
17
 
18
18
  declare module '@hapi/yar' {
19
19
  interface YarFlashes {
@@ -1,4 +1,4 @@
1
- import { type FormPayload } from '~/src/server/plugins/engine/types.ts'
1
+ import { type FormPayload } from '../../server/plugins/engine/types.ts'
2
2
 
3
3
  declare module 'joi' {
4
4
  interface Context {
@@ -1,50 +0,0 @@
1
- import { getTraceId } from '@defra/hapi-tracing'
2
-
3
- import { loggerOptions } from '~/src/server/common/helpers/logging/logger-options.js'
4
-
5
- jest.mock('@defra/hapi-tracing', () => ({
6
- getTraceId: jest.fn()
7
- }))
8
-
9
- describe('logger-options', () => {
10
- beforeEach(() => {
11
- jest.clearAllMocks()
12
- })
13
-
14
- describe('configuration', () => {
15
- it('has the expected properties', () => {
16
- expect(loggerOptions).toHaveProperty('enabled')
17
- expect(loggerOptions).toHaveProperty('ignorePaths')
18
- expect(loggerOptions).toHaveProperty('redact')
19
- expect(loggerOptions).toHaveProperty('level')
20
- })
21
-
22
- it('ignores health endpoint', () => {
23
- expect(loggerOptions.ignorePaths).toContain('/health')
24
- })
25
-
26
- it('has redaction configuration', () => {
27
- expect(loggerOptions.redact).toBeDefined()
28
- })
29
- })
30
-
31
- describe('mixin function', () => {
32
- it('returns an empty object when no trace ID is available', () => {
33
- jest.mocked(getTraceId).mockReturnValue(null)
34
-
35
- const result = loggerOptions.mixin()
36
- expect(result).toEqual({})
37
- })
38
-
39
- it('includes trace ID when available', () => {
40
- jest.mocked(getTraceId).mockReturnValue('some-trace-id')
41
-
42
- const result = loggerOptions.mixin()
43
- expect(result).toEqual({
44
- trace: {
45
- id: 'some-trace-id'
46
- }
47
- })
48
- })
49
- })
50
- })