@syngrisi/syngrisi 2.2.2 → 2.2.6-alpha.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 (613) hide show
  1. package/README.md +49 -27
  2. package/dist/server/api-docs/openAPIDocumentGenerator.js +6489 -0
  3. package/dist/server/api-docs/openAPIDocumentGenerator.js.map +1 -0
  4. package/dist/server/api-docs/openAPIResponseBuilders.js +89 -0
  5. package/dist/server/api-docs/openAPIResponseBuilders.js.map +1 -0
  6. package/dist/server/api-docs/openAPIRouter.js +6505 -0
  7. package/dist/server/api-docs/openAPIRouter.js.map +1 -0
  8. package/dist/server/api-docs/serviceResponse.js +39 -0
  9. package/dist/server/api-docs/serviceResponse.js.map +1 -0
  10. package/dist/server/app.js +6751 -0
  11. package/dist/server/app.js.map +1 -0
  12. package/dist/server/config.js +1055 -0
  13. package/dist/server/config.js.map +1 -0
  14. package/dist/server/controllers/app.controller.js +1949 -0
  15. package/dist/server/controllers/app.controller.js.map +1 -0
  16. package/dist/server/controllers/auth.controller.js +2079 -0
  17. package/dist/server/controllers/auth.controller.js.map +1 -0
  18. package/dist/server/controllers/baseline.controller.js +1976 -0
  19. package/dist/server/controllers/baseline.controller.js.map +1 -0
  20. package/dist/server/controllers/check.controller.js +2289 -0
  21. package/dist/server/controllers/check.controller.js.map +1 -0
  22. package/dist/server/controllers/client.controller.js +2994 -0
  23. package/dist/server/controllers/client.controller.js.map +1 -0
  24. package/dist/server/controllers/index.js +4289 -0
  25. package/dist/server/controllers/index.js.map +1 -0
  26. package/dist/server/controllers/logs.controller.js +1954 -0
  27. package/dist/server/controllers/logs.controller.js.map +1 -0
  28. package/dist/server/controllers/runs.controller.js +2293 -0
  29. package/dist/server/controllers/runs.controller.js.map +1 -0
  30. package/dist/server/controllers/settings.controller.js +843 -0
  31. package/dist/server/controllers/settings.controller.js.map +1 -0
  32. package/dist/server/controllers/snapshots.controller.js +1953 -0
  33. package/dist/server/controllers/snapshots.controller.js.map +1 -0
  34. package/dist/server/controllers/suite.controller.js +2288 -0
  35. package/dist/server/controllers/suite.controller.js.map +1 -0
  36. package/dist/server/controllers/tasks.controller.js +2378 -0
  37. package/dist/server/controllers/tasks.controller.js.map +1 -0
  38. package/dist/server/controllers/test.controller.js +2312 -0
  39. package/dist/server/controllers/test.controller.js.map +1 -0
  40. package/dist/server/controllers/users.controller.js +2056 -0
  41. package/dist/server/controllers/users.controller.js.map +1 -0
  42. package/dist/server/envConfig.js +70 -0
  43. package/dist/server/envConfig.js.map +1 -0
  44. package/dist/server/lib/AppSettings/AppSettings.js +814 -0
  45. package/dist/server/lib/AppSettings/AppSettings.js.map +1 -0
  46. package/dist/server/lib/AppSettings/index.js +814 -0
  47. package/dist/server/lib/AppSettings/index.js.map +1 -0
  48. package/dist/server/lib/connectDb.js +1873 -0
  49. package/dist/server/lib/connectDb.js.map +1 -0
  50. package/dist/server/lib/dbItems/createAppIfNotExist.js +1878 -0
  51. package/dist/server/lib/dbItems/createAppIfNotExist.js.map +1 -0
  52. package/dist/server/lib/dbItems/createItemIfNotExist.js +1883 -0
  53. package/dist/server/lib/dbItems/createItemIfNotExist.js.map +1 -0
  54. package/dist/server/lib/dbItems/createItemProm.js +1877 -0
  55. package/dist/server/lib/dbItems/createItemProm.js.map +1 -0
  56. package/dist/server/lib/dbItems/createRunIfNotExist.js +1898 -0
  57. package/dist/server/lib/dbItems/createRunIfNotExist.js.map +1 -0
  58. package/dist/server/lib/dbItems/createSuiteIfNotExist.js +1878 -0
  59. package/dist/server/lib/dbItems/createSuiteIfNotExist.js.map +1 -0
  60. package/dist/server/lib/dbItems/createTest.js +1884 -0
  61. package/dist/server/lib/dbItems/createTest.js.map +1 -0
  62. package/dist/server/lib/dbItems/createUser.js +1884 -0
  63. package/dist/server/lib/dbItems/createUser.js.map +1 -0
  64. package/dist/server/lib/dbItems/index.js +2043 -0
  65. package/dist/server/lib/dbItems/index.js.map +1 -0
  66. package/dist/server/lib/dbItems/updateItem.js +1873 -0
  67. package/dist/server/lib/dbItems/updateItem.js.map +1 -0
  68. package/dist/server/lib/dbItems/updateItemDate.js +1872 -0
  69. package/dist/server/lib/dbItems/updateItemDate.js.map +1 -0
  70. package/dist/server/lib/httpLogger.js +1066 -0
  71. package/dist/server/lib/httpLogger.js.map +1 -0
  72. package/dist/server/lib/logger.js +1852 -0
  73. package/dist/server/lib/logger.js.map +1 -0
  74. package/dist/server/lib/startup/createBasicUsers.js +1901 -0
  75. package/dist/server/lib/startup/createBasicUsers.js.map +1 -0
  76. package/dist/server/lib/startup/createInitialSettings.js +820 -0
  77. package/dist/server/lib/startup/createInitialSettings.js.map +1 -0
  78. package/dist/server/lib/startup/createTempDir.js +1066 -0
  79. package/dist/server/lib/startup/createTempDir.js.map +1 -0
  80. package/dist/server/lib/startup/createTestsUsers.js +1916 -0
  81. package/dist/server/lib/startup/createTestsUsers.js.map +1 -0
  82. package/dist/server/lib/startup/index.js +2071 -0
  83. package/dist/server/lib/startup/index.js.map +1 -0
  84. package/dist/server/lib//321/201omparison/comparator.js +1955 -0
  85. package/dist/server/lib//321/201omparison/comparator.js.map +1 -0
  86. package/dist/server/lib//321/201omparison/compareImagesNode.js +91 -0
  87. package/dist/server/lib//321/201omparison/compareImagesNode.js.map +1 -0
  88. package/dist/server/lib//321/201omparison/index.js +1955 -0
  89. package/dist/server/lib//321/201omparison/index.js.map +1 -0
  90. package/dist/server/middlewares/authorization.js +1994 -0
  91. package/dist/server/middlewares/authorization.js.map +1 -0
  92. package/dist/server/middlewares/compressionFilter.js +47 -0
  93. package/dist/server/middlewares/compressionFilter.js.map +1 -0
  94. package/dist/server/middlewares/disableCors.js +1073 -0
  95. package/dist/server/middlewares/disableCors.js.map +1 -0
  96. package/dist/server/middlewares/ensureLogin/ensureLoggedIn.js +2103 -0
  97. package/dist/server/middlewares/ensureLogin/ensureLoggedIn.js.map +1 -0
  98. package/dist/server/middlewares/ensureLogin/index.js +2087 -0
  99. package/dist/server/middlewares/ensureLogin/index.js.map +1 -0
  100. package/dist/server/middlewares/errorHandler.js +1886 -0
  101. package/dist/server/middlewares/errorHandler.js.map +1 -0
  102. package/dist/server/middlewares/index.js +2025 -0
  103. package/dist/server/middlewares/index.js.map +1 -0
  104. package/dist/server/models/App.model.js +145 -0
  105. package/dist/server/models/App.model.js.map +1 -0
  106. package/dist/server/models/AppSettings.model.js +105 -0
  107. package/dist/server/models/AppSettings.model.js.map +1 -0
  108. package/dist/server/models/Baseline.model.js +187 -0
  109. package/dist/server/models/Baseline.model.js.map +1 -0
  110. package/dist/server/models/Check.model.js +241 -0
  111. package/dist/server/models/Check.model.js.map +1 -0
  112. package/dist/server/models/Log.model.js +139 -0
  113. package/dist/server/models/Log.model.js.map +1 -0
  114. package/dist/server/models/Run.model.js +154 -0
  115. package/dist/server/models/Run.model.js.map +1 -0
  116. package/dist/server/models/Snapshot.model.js +148 -0
  117. package/dist/server/models/Snapshot.model.js.map +1 -0
  118. package/dist/server/models/Suite.model.js +151 -0
  119. package/dist/server/models/Suite.model.js.map +1 -0
  120. package/dist/server/models/Test.model.js +248 -0
  121. package/dist/server/models/Test.model.js.map +1 -0
  122. package/dist/server/models/User.model.js +169 -0
  123. package/dist/server/models/User.model.js.map +1 -0
  124. package/dist/server/models/index.js +720 -0
  125. package/dist/server/models/index.js.map +1 -0
  126. package/dist/server/models/plugins/index.js +159 -0
  127. package/dist/server/models/plugins/index.js.map +1 -0
  128. package/dist/server/models/plugins/paginate.plugin.js +68 -0
  129. package/dist/server/models/plugins/paginate.plugin.js.map +1 -0
  130. package/dist/server/models/plugins/paginateDistinct.plugin.js +73 -0
  131. package/dist/server/models/plugins/paginateDistinct.plugin.js.map +1 -0
  132. package/dist/server/models/plugins/toJSON.plugin.js +56 -0
  133. package/dist/server/models/plugins/toJSON.plugin.js.map +1 -0
  134. package/dist/server/models/plugins/utils.js +19 -0
  135. package/dist/server/models/plugins/utils.js.map +1 -0
  136. package/dist/server/routes/ui/admin.js +2082 -0
  137. package/dist/server/routes/ui/admin.js.map +1 -0
  138. package/dist/server/routes/ui/auth.js +711 -0
  139. package/dist/server/routes/ui/auth.js.map +1 -0
  140. package/dist/server/routes/ui/index.js +2036 -0
  141. package/dist/server/routes/ui/index.js.map +1 -0
  142. package/dist/server/routes/v1/app.route.js +4372 -0
  143. package/dist/server/routes/v1/app.route.js.map +1 -0
  144. package/dist/server/routes/v1/auth.route.js +2325 -0
  145. package/dist/server/routes/v1/auth.route.js.map +1 -0
  146. package/dist/server/routes/v1/baselines.route.js +2487 -0
  147. package/dist/server/routes/v1/baselines.route.js.map +1 -0
  148. package/dist/server/routes/v1/checks.route.js +2840 -0
  149. package/dist/server/routes/v1/checks.route.js.map +1 -0
  150. package/dist/server/routes/v1/client.route.js +3764 -0
  151. package/dist/server/routes/v1/client.route.js.map +1 -0
  152. package/dist/server/routes/v1/index.route.js +6536 -0
  153. package/dist/server/routes/v1/index.route.js.map +1 -0
  154. package/dist/server/routes/v1/logs.route.js +2426 -0
  155. package/dist/server/routes/v1/logs.route.js.map +1 -0
  156. package/dist/server/routes/v1/runs.route.js +2771 -0
  157. package/dist/server/routes/v1/runs.route.js.map +1 -0
  158. package/dist/server/routes/v1/settings.route.js +2349 -0
  159. package/dist/server/routes/v1/settings.route.js.map +1 -0
  160. package/dist/server/routes/v1/snapshots.route.js +2361 -0
  161. package/dist/server/routes/v1/snapshots.route.js.map +1 -0
  162. package/dist/server/routes/v1/suites.route.js +2713 -0
  163. package/dist/server/routes/v1/suites.route.js.map +1 -0
  164. package/dist/server/routes/v1/tasks.route.js +2761 -0
  165. package/dist/server/routes/v1/tasks.route.js.map +1 -0
  166. package/dist/server/routes/v1/test_distinct.route.js +2714 -0
  167. package/dist/server/routes/v1/test_distinct.route.js.map +1 -0
  168. package/dist/server/routes/v1/tests.route.js +2895 -0
  169. package/dist/server/routes/v1/tests.route.js.map +1 -0
  170. package/dist/server/routes/v1/users.route.js +4619 -0
  171. package/dist/server/routes/v1/users.route.js.map +1 -0
  172. package/dist/server/schemas/App.schema.js +102 -0
  173. package/dist/server/schemas/App.schema.js.map +1 -0
  174. package/dist/server/schemas/Auth.schema.js +116 -0
  175. package/dist/server/schemas/Auth.schema.js.map +1 -0
  176. package/dist/server/schemas/Baseline.schema.js +183 -0
  177. package/dist/server/schemas/Baseline.schema.js.map +1 -0
  178. package/dist/server/schemas/Check.schema.js +198 -0
  179. package/dist/server/schemas/Check.schema.js.map +1 -0
  180. package/dist/server/schemas/Client.schema.js +455 -0
  181. package/dist/server/schemas/Client.schema.js.map +1 -0
  182. package/dist/server/schemas/CreateCheck.shema.js +47 -0
  183. package/dist/server/schemas/CreateCheck.shema.js.map +1 -0
  184. package/dist/server/schemas/GetBaseline.shema.js +56 -0
  185. package/dist/server/schemas/GetBaseline.shema.js.map +1 -0
  186. package/dist/server/schemas/Logs.schema.js +140 -0
  187. package/dist/server/schemas/Logs.schema.js.map +1 -0
  188. package/dist/server/schemas/Runs.schema.js +128 -0
  189. package/dist/server/schemas/Runs.schema.js.map +1 -0
  190. package/dist/server/schemas/Settings.schema.js +156 -0
  191. package/dist/server/schemas/Settings.schema.js.map +1 -0
  192. package/dist/server/schemas/SkipValid.schema.js +32 -0
  193. package/dist/server/schemas/SkipValid.schema.js.map +1 -0
  194. package/dist/server/schemas/SnapshotDiff.schema.js +44 -0
  195. package/dist/server/schemas/SnapshotDiff.schema.js.map +1 -0
  196. package/dist/server/schemas/Snapshots.schema.js +115 -0
  197. package/dist/server/schemas/Snapshots.schema.js.map +1 -0
  198. package/dist/server/schemas/Suite.schema.js +114 -0
  199. package/dist/server/schemas/Suite.schema.js.map +1 -0
  200. package/dist/server/schemas/Test.schema.js +204 -0
  201. package/dist/server/schemas/Test.schema.js.map +1 -0
  202. package/dist/server/schemas/TestDistinct.schema.js +63 -0
  203. package/dist/server/schemas/TestDistinct.schema.js.map +1 -0
  204. package/dist/server/schemas/User.schema.js +139 -0
  205. package/dist/server/schemas/User.schema.js.map +1 -0
  206. package/dist/server/schemas/common/ApiError.schema.js +51 -0
  207. package/dist/server/schemas/common/ApiError.schema.js.map +1 -0
  208. package/dist/server/schemas/common/Error.schema.js +47 -0
  209. package/dist/server/schemas/common/Error.schema.js.map +1 -0
  210. package/dist/server/schemas/common/RequestPagination.schema.js +121 -0
  211. package/dist/server/schemas/common/RequestPagination.schema.js.map +1 -0
  212. package/dist/server/schemas/common/Version.schema.js +36 -0
  213. package/dist/server/schemas/common/Version.schema.js.map +1 -0
  214. package/dist/server/schemas/common/requestQueryFilterSchema.schema.js +53 -0
  215. package/dist/server/schemas/common/requestQueryFilterSchema.schema.js.map +1 -0
  216. package/dist/server/schemas/index.js +155 -0
  217. package/dist/server/schemas/index.js.map +1 -0
  218. package/dist/server/schemas/utils/commonValidations.js +82 -0
  219. package/dist/server/schemas/utils/commonValidations.js.map +1 -0
  220. package/dist/server/schemas/utils/createRequestBodySchema.js +32 -0
  221. package/dist/server/schemas/utils/createRequestBodySchema.js.map +1 -0
  222. package/dist/server/schemas/utils/createRequestOpenApiBodySchema.js +35 -0
  223. package/dist/server/schemas/utils/createRequestOpenApiBodySchema.js.map +1 -0
  224. package/dist/server/schemas/utils/createRequestParamsSchema.js +93 -0
  225. package/dist/server/schemas/utils/createRequestParamsSchema.js.map +1 -0
  226. package/dist/server/schemas/utils/createRequestQuerySchema.js +32 -0
  227. package/dist/server/schemas/utils/createRequestQuerySchema.js.map +1 -0
  228. package/dist/server/schemas/utils/index.js +84 -0
  229. package/dist/server/schemas/utils/index.js.map +1 -0
  230. package/dist/server/server.js +6921 -0
  231. package/dist/server/server.js.map +1 -0
  232. package/dist/server/server_old.js +7284 -0
  233. package/dist/server/server_old.js.map +1 -0
  234. package/dist/server/services/app.service.js +696 -0
  235. package/dist/server/services/app.service.js.map +1 -0
  236. package/dist/server/services/auth.service.js +2025 -0
  237. package/dist/server/services/auth.service.js.map +1 -0
  238. package/dist/server/services/check.service.js +2149 -0
  239. package/dist/server/services/check.service.js.map +1 -0
  240. package/dist/server/services/client.service.js +2648 -0
  241. package/dist/server/services/client.service.js.map +1 -0
  242. package/dist/server/services/generic.service.js +1888 -0
  243. package/dist/server/services/generic.service.js.map +1 -0
  244. package/dist/server/services/index.js +3548 -0
  245. package/dist/server/services/index.js.map +1 -0
  246. package/dist/server/services/logs.service.js +1875 -0
  247. package/dist/server/services/logs.service.js.map +1 -0
  248. package/dist/server/services/run.service.js +2221 -0
  249. package/dist/server/services/run.service.js.map +1 -0
  250. package/dist/server/services/snapshot.service.js +1921 -0
  251. package/dist/server/services/snapshot.service.js.map +1 -0
  252. package/dist/server/services/suite.service.js +2218 -0
  253. package/dist/server/services/suite.service.js.map +1 -0
  254. package/dist/server/services/tasks.service.js +2288 -0
  255. package/dist/server/services/tasks.service.js.map +1 -0
  256. package/dist/server/services/test.service.js +2230 -0
  257. package/dist/server/services/test.service.js.map +1 -0
  258. package/dist/server/services/user.service.js +1925 -0
  259. package/dist/server/services/user.service.js.map +1 -0
  260. package/dist/server/utils/ApiError.js +39 -0
  261. package/dist/server/utils/ApiError.js.map +1 -0
  262. package/dist/server/utils/ProgressBar.js +54 -0
  263. package/dist/server/utils/ProgressBar.js.map +1 -0
  264. package/dist/server/utils/ServiceResponse.js +45 -0
  265. package/dist/server/utils/ServiceResponse.js.map +1 -0
  266. package/dist/server/utils/buildIdentObject.js +52 -0
  267. package/dist/server/utils/buildIdentObject.js.map +1 -0
  268. package/dist/server/utils/calculateAcceptedStatus.js +710 -0
  269. package/dist/server/utils/calculateAcceptedStatus.js.map +1 -0
  270. package/dist/server/utils/catchAsync.js +32 -0
  271. package/dist/server/utils/catchAsync.js.map +1 -0
  272. package/dist/server/utils/checkIdent.js +36 -0
  273. package/dist/server/utils/checkIdent.js.map +1 -0
  274. package/dist/server/utils/dateToISO8601.js +30 -0
  275. package/dist/server/utils/dateToISO8601.js.map +1 -0
  276. package/dist/server/utils/deserializeIfJSON.js +706 -0
  277. package/dist/server/utils/deserializeIfJSON.js.map +1 -0
  278. package/dist/server/utils/errMsg.js +33 -0
  279. package/dist/server/utils/errMsg.js.map +1 -0
  280. package/dist/server/utils/formatISOToDateTime.js +31 -0
  281. package/dist/server/utils/formatISOToDateTime.js.map +1 -0
  282. package/dist/server/utils/ident.js +31 -0
  283. package/dist/server/utils/ident.js.map +1 -0
  284. package/dist/server/utils/index.js +910 -0
  285. package/dist/server/utils/index.js.map +1 -0
  286. package/dist/server/utils/isJSON.js +34 -0
  287. package/dist/server/utils/isJSON.js.map +1 -0
  288. package/dist/server/utils/paramsGuard.js +45 -0
  289. package/dist/server/utils/paramsGuard.js.map +1 -0
  290. package/dist/server/utils/pick.js +35 -0
  291. package/dist/server/utils/pick.js.map +1 -0
  292. package/dist/server/utils/prettyCheckParams.js +37 -0
  293. package/dist/server/utils/prettyCheckParams.js.map +1 -0
  294. package/dist/server/utils/removeEmptyProperties.js +34 -0
  295. package/dist/server/utils/removeEmptyProperties.js.map +1 -0
  296. package/dist/server/utils/subDays.js +32 -0
  297. package/dist/server/utils/subDays.js.map +1 -0
  298. package/dist/server/utils/validateRequest.js +1922 -0
  299. package/dist/server/utils/validateRequest.js.map +1 -0
  300. package/dist/server/utils/waitUntil.js +43 -0
  301. package/dist/server/utils/waitUntil.js.map +1 -0
  302. package/dist/tasks/backup.js +1085 -0
  303. package/dist/tasks/backup.js.map +1 -0
  304. package/dist/tasks/lib/index.js +717 -0
  305. package/dist/tasks/lib/index.js.map +1 -0
  306. package/dist/tasks/lib/utils.js +1070 -0
  307. package/dist/tasks/lib/utils.js.map +1 -0
  308. package/dist/tasks/migrations/2.0.migration.js +908 -0
  309. package/dist/tasks/migrations/2.0.migration.js.map +1 -0
  310. package/dist/tasks/reindex.js +1742 -0
  311. package/dist/tasks/reindex.js.map +1 -0
  312. package/dist/tasks/restore.js +1097 -0
  313. package/dist/tasks/restore.js.map +1 -0
  314. package/docker-compose.yml +3 -3
  315. package/mvc/views/react/admin/index.html +4 -4
  316. package/mvc/views/react/assets/{LogicalGroup.6c0a9f4a.js → LogicalGroup.80e37bbf.js} +1 -22
  317. package/mvc/views/react/assets/{PasswordInput.b97a4ef7.js → PasswordInput.eb05d2ed.js} +1 -1
  318. package/mvc/views/react/assets/{admin.6d843d1b.js → admin.d6aa02f7.js} +3 -3
  319. package/mvc/views/react/assets/{auth.ecf25364.js → auth.e49d0968.js} +3 -2
  320. package/mvc/views/react/assets/{root.25abcc85.js → root.b071750f.js} +7 -9
  321. package/mvc/views/react/assets/{use-form.10003abf.js → use-form.c4a2cf47.js} +203 -151
  322. package/mvc/views/react/auth/index.html +3 -3
  323. package/mvc/views/react/index2/index.html +3 -3
  324. package/package.json +45 -14
  325. package/src/seeds/testAdmin.json +10 -0
  326. package/src/server/api-docs/openAPIDocumentGenerator.ts +48 -0
  327. package/src/server/api-docs/openAPIResponseBuilders.ts +38 -0
  328. package/src/server/api-docs/openAPIRouter.ts +18 -0
  329. package/src/server/api-docs/serviceResponse.ts +11 -0
  330. package/src/server/app.ts +77 -0
  331. package/src/server/config.ts +57 -0
  332. package/src/server/controllers/app.controller.ts +23 -0
  333. package/src/server/controllers/auth.controller.ts +149 -0
  334. package/src/server/controllers/baseline.controller.ts +32 -0
  335. package/src/server/controllers/{check.controller.js → check.controller.ts} +17 -14
  336. package/src/server/controllers/client.controller.ts +134 -0
  337. package/src/server/controllers/index.ts +27 -0
  338. package/src/server/controllers/logs.controller.ts +36 -0
  339. package/src/server/controllers/runs.controller.ts +32 -0
  340. package/src/server/controllers/settings.controller.ts +28 -0
  341. package/src/server/controllers/snapshots.controller.ts +24 -0
  342. package/src/server/controllers/suite.controller.ts +30 -0
  343. package/src/server/controllers/tasks.controller.ts +47 -0
  344. package/src/server/controllers/test.controller.ts +62 -0
  345. package/src/server/controllers/users.controller.ts +89 -0
  346. package/src/server/envConfig.ts +36 -0
  347. package/src/server/lib/AppSettings/AppSettings.ts +88 -0
  348. package/src/server/lib/AppSettings/index.ts +1 -0
  349. package/src/server/lib/connectDb.ts +18 -0
  350. package/src/server/lib/dbItems/createAppIfNotExist.ts +26 -0
  351. package/src/server/lib/dbItems/createItemIfNotExist.ts +29 -0
  352. package/src/server/lib/dbItems/createItemProm.ts +22 -0
  353. package/src/server/lib/dbItems/createRunIfNotExist.ts +44 -0
  354. package/src/server/lib/dbItems/createSuiteIfNotExist.ts +26 -0
  355. package/src/server/lib/dbItems/createTest.ts +7 -0
  356. package/src/server/lib/dbItems/createUser.ts +7 -0
  357. package/src/server/lib/dbItems/index.ts +12 -0
  358. package/src/server/lib/dbItems/updateItem.ts +17 -0
  359. package/src/server/lib/dbItems/updateItemDate.ts +18 -0
  360. package/src/server/lib/httpLogger.ts +14 -0
  361. package/src/server/lib/logger.ts +147 -0
  362. package/src/server/lib/startup/createBasicUsers.ts +25 -0
  363. package/src/server/lib/startup/createInitialSettings.ts +8 -0
  364. package/src/server/lib/startup/createTempDir.ts +9 -0
  365. package/src/server/lib/startup/createTestsUsers.ts +17 -0
  366. package/src/server/lib/startup/index.ts +4 -0
  367. package/src/server/lib//321/201omparison/comparator.ts +49 -0
  368. package/src/server/lib//321/201omparison/compareImagesNode.ts +61 -0
  369. package/src/server/lib//321/201omparison/index.ts +1 -0
  370. package/src/server/middlewares/{authorization.js → authorization.ts} +23 -14
  371. package/src/server/middlewares/compressionFilter.ts +9 -0
  372. package/src/server/middlewares/disableCors.ts +32 -0
  373. package/src/server/{lib/ensureLogin/ensureLoggedIn.js → middlewares/ensureLogin/ensureLoggedIn.ts} +60 -63
  374. package/src/server/middlewares/ensureLogin/index.ts +2 -0
  375. package/src/server/middlewares/errorHandler.ts +42 -0
  376. package/src/server/middlewares/index.ts +4 -0
  377. package/src/server/models/App.model.ts +42 -0
  378. package/src/server/models/AppSettings.model.ts +48 -0
  379. package/src/server/models/Baseline.model.ts +98 -0
  380. package/src/server/models/Check.model.ts +166 -0
  381. package/src/server/models/Log.model.ts +36 -0
  382. package/src/server/models/Run.model.ts +55 -0
  383. package/src/server/models/Snapshot.model.ts +47 -0
  384. package/src/server/models/Suite.model.ts +50 -0
  385. package/src/server/models/Test.model.ts +117 -0
  386. package/src/server/models/User.model.ts +77 -0
  387. package/src/server/models/index.ts +11 -0
  388. package/src/server/models/plugins/index.ts +3 -0
  389. package/src/server/models/plugins/paginate.plugin.ts +74 -0
  390. package/src/server/models/plugins/paginateDistinct.plugin.ts +90 -0
  391. package/src/server/models/plugins/toJSON.plugin.ts +41 -0
  392. package/src/server/models/plugins/utils.ts +34 -0
  393. package/src/server/routes/ui/admin.ts +29 -0
  394. package/src/server/routes/ui/auth.ts +22 -0
  395. package/src/server/routes/ui/index.ts +25 -0
  396. package/src/server/routes/v1/app.route.ts +48 -0
  397. package/src/server/routes/v1/auth.route.ts +88 -0
  398. package/src/server/routes/v1/baselines.route.ts +52 -0
  399. package/src/server/routes/v1/checks.route.ts +85 -0
  400. package/src/server/routes/v1/client.route.ts +123 -0
  401. package/src/server/routes/v1/{index.js → index.route.ts} +16 -16
  402. package/src/server/routes/v1/logs.route.ts +65 -0
  403. package/src/server/routes/v1/runs.route.ts +55 -0
  404. package/src/server/routes/v1/settings.route.ts +54 -0
  405. package/src/server/routes/v1/snapshots.route.ts +32 -0
  406. package/src/server/routes/v1/suites.route.ts +52 -0
  407. package/src/server/routes/v1/tasks.route.ts +121 -0
  408. package/src/server/routes/v1/test_distinct.route.ts +32 -0
  409. package/src/server/routes/v1/tests.route.ts +90 -0
  410. package/src/server/routes/v1/users.route.ts +115 -0
  411. package/src/server/schemas/App.schema.ts +19 -0
  412. package/src/server/schemas/Auth.schema.ts +27 -0
  413. package/src/server/schemas/Baseline.schema.ts +106 -0
  414. package/src/server/schemas/Check.schema.ts +117 -0
  415. package/src/server/schemas/Client.schema.ts +380 -0
  416. package/src/server/schemas/GetBaseline.shema.ts +34 -0
  417. package/src/server/schemas/Logs.schema.ts +61 -0
  418. package/src/server/schemas/Runs.schema.ts +45 -0
  419. package/src/server/schemas/Settings.schema.ts +71 -0
  420. package/src/server/schemas/SkipValid.schema.ts +2 -0
  421. package/src/server/schemas/SnapshotDiff.schema.ts +18 -0
  422. package/src/server/schemas/Snapshots.schema.ts +42 -0
  423. package/src/server/schemas/Suite.schema.ts +34 -0
  424. package/src/server/schemas/Test.schema.ts +126 -0
  425. package/src/server/schemas/TestDistinct.schema.ts +36 -0
  426. package/src/server/schemas/User.schema.ts +59 -0
  427. package/src/server/schemas/common/ApiError.schema.ts +23 -0
  428. package/src/server/schemas/common/Error.schema.ts +19 -0
  429. package/src/server/schemas/common/RequestPagination.schema.ts +16 -0
  430. package/src/server/schemas/common/Version.schema.ts +14 -0
  431. package/src/server/schemas/common/requestQueryFilterSchema.schema.ts +32 -0
  432. package/src/server/schemas/index.ts +4 -0
  433. package/src/server/schemas/utils/commonValidations.ts +51 -0
  434. package/src/server/schemas/utils/createRequestBodySchema.ts +2 -0
  435. package/src/server/schemas/utils/createRequestOpenApiBodySchema.ts +6 -0
  436. package/src/server/schemas/utils/createRequestParamsSchema.ts +7 -0
  437. package/src/server/schemas/utils/createRequestQuerySchema.ts +2 -0
  438. package/src/server/schemas/utils/index.ts +3 -0
  439. package/src/server/server.ts +54 -0
  440. package/src/server/server_old.ts +185 -0
  441. package/src/server/services/app.service.ts +9 -0
  442. package/src/server/services/auth.service.ts +94 -0
  443. package/src/server/services/check.service.ts +241 -0
  444. package/src/server/services/client.service.ts +691 -0
  445. package/src/server/services/generic.service.ts +37 -0
  446. package/src/server/services/index.ts +24 -0
  447. package/src/server/services/logs.service.ts +27 -0
  448. package/src/server/services/run.service.ts +32 -0
  449. package/src/server/services/snapshot.service.ts +78 -0
  450. package/src/server/services/suite.service.ts +30 -0
  451. package/src/server/services/{tasks.service.js → tasks.service.ts} +157 -228
  452. package/src/server/services/test.service.ts +65 -0
  453. package/src/server/services/user.service.ts +90 -0
  454. package/src/server/utils/{ApiError.js → ApiError.ts} +5 -2
  455. package/src/server/utils/ProgressBar.ts +35 -0
  456. package/src/server/utils/ServiceResponse.ts +18 -0
  457. package/src/server/utils/buildIdentObject.ts +34 -0
  458. package/src/server/utils/calculateAcceptedStatus.ts +22 -0
  459. package/src/server/utils/catchAsync.ts +11 -0
  460. package/src/server/utils/checkIdent.ts +4 -0
  461. package/src/server/utils/dateToISO8601.ts +5 -0
  462. package/src/server/utils/deserializeIfJSON.ts +9 -0
  463. package/src/server/utils/errMsg.ts +3 -0
  464. package/src/server/utils/{formatISOToDateTime.js → formatISOToDateTime.ts} +2 -2
  465. package/src/server/utils/ident.ts +1 -0
  466. package/src/server/utils/index.ts +24 -0
  467. package/src/server/utils/isJSON.ts +14 -0
  468. package/src/server/utils/paramsGuard.ts +7 -6
  469. package/src/server/utils/pick.ts +17 -0
  470. package/src/server/utils/prettyCheckParams.ts +18 -0
  471. package/src/server/utils/removeEmptyProperties.ts +5 -0
  472. package/src/server/utils/{subDays.js → subDays.ts} +2 -2
  473. package/src/server/utils/validateRequest.ts +56 -0
  474. package/src/server/utils/waitUntil.ts +14 -0
  475. package/src/tasks/backup.ts +1 -1
  476. package/src/tasks/lib/index.ts +13 -0
  477. package/src/tasks/lib/utils.ts +14 -0
  478. package/src/tasks/migrations/2.0.migration.ts +2 -2
  479. package/src/tasks/reindex.ts +34 -0
  480. package/src/tasks/restore.ts +1 -1
  481. package/src/types/ExtRequest.ts +10 -0
  482. package/src/types/LogOpts.ts +20 -0
  483. package/src/types/Midleware.ts +3 -0
  484. package/src/types/RequestUser.ts +14 -0
  485. package/src/types/index.ts +4 -0
  486. package/src/ui-app/README.md +2 -2
  487. package/src/ui-app/auth/components/ChangePasswordForm.tsx +1 -1
  488. package/src/ui-app/index2/components/Tests/Table/Checks/CheckDetails/Canvas/mainView.ts +3 -3
  489. package/src/ui-app/index2/components/Tests/Table/Checks/Checks.tsx +30 -2
  490. package/src/ui-app/package-lock.json +10 -16
  491. package/src/ui-app/package.json +2 -2
  492. package/src/ui-app/shared/services/checks.service.ts +1 -1
  493. package/src/ui-app/shared/services/generic.service.ts +0 -28
  494. package/src/ui-app/tsconfig.json +3 -2
  495. package/config.js +0 -17
  496. package/dist/config.js +0 -16
  497. package/dist/src/server/models/index.js +0 -508
  498. package/dist/src/server/models/plugins/index.js +0 -4
  499. package/dist/src/server/models/plugins/paginate.plugin.js +0 -76
  500. package/dist/src/server/models/plugins/paginateDistinct.plugin.js +0 -76
  501. package/dist/src/server/models/plugins/toJSON.plugin.js +0 -39
  502. package/dist/src/server/schemas/createCheck.shema.js +0 -17
  503. package/dist/src/server/schemas/getBaseline.shema.js +0 -12
  504. package/dist/src/server/utils/paramsGuard.js +0 -18
  505. package/dist/src/tasks/backup.js +0 -68
  506. package/dist/src/tasks/lib/common.js +0 -14
  507. package/dist/src/tasks/lib/utils.js +0 -14
  508. package/dist/src/tasks/migrations/2.0.migration.js +0 -86
  509. package/dist/src/tasks/migrations/2.0.migration_mql.js +0 -57
  510. package/dist/src/tasks/reindex.js +0 -28
  511. package/dist/src/tasks/restore.js +0 -86
  512. package/dist/tsconfig.tsbuildinfo +0 -1
  513. package/mvc/views/react/index.html +0 -19
  514. package/server.js +0 -166
  515. package/src/server/controllers/app.controller.js +0 -21
  516. package/src/server/controllers/auth.controller.js +0 -156
  517. package/src/server/controllers/baseline.controller.js +0 -24
  518. package/src/server/controllers/client.controller.js +0 -173
  519. package/src/server/controllers/index.js +0 -12
  520. package/src/server/controllers/logs.controller.js +0 -30
  521. package/src/server/controllers/runs.controller.js +0 -25
  522. package/src/server/controllers/settings.controller.js +0 -23
  523. package/src/server/controllers/snapshots.controller.js +0 -17
  524. package/src/server/controllers/suite.controller.js +0 -24
  525. package/src/server/controllers/tasks.controller.js +0 -47
  526. package/src/server/controllers/test.controller.js +0 -70
  527. package/src/server/controllers/users.controller.js +0 -79
  528. package/src/server/data/custom_devices.json +0 -8
  529. package/src/server/lib/AppSettings.js +0 -56
  530. package/src/server/lib/comparator.js +0 -147
  531. package/src/server/lib/compareImagesNode.js +0 -60
  532. package/src/server/lib/dbItems.js +0 -215
  533. package/src/server/lib/ensureLogin/ensureLoggedOut.js +0 -44
  534. package/src/server/lib/getElementsByPixPositionsFromDump.js +0 -72
  535. package/src/server/lib/logger.js +0 -95
  536. package/src/server/lib/onStart.js +0 -53
  537. package/src/server/lib/parseDiff.js.bak +0 -72
  538. package/src/server/middlewares/disableCors.js +0 -19
  539. package/src/server/models/index.js +0 -534
  540. package/src/server/models/plugins/index.js +0 -3
  541. package/src/server/models/plugins/paginate.plugin.js +0 -83
  542. package/src/server/models/plugins/paginateDistinct.plugin.js +0 -80
  543. package/src/server/models/plugins/toJSON.plugin.js +0 -44
  544. package/src/server/routes/ui/admin.js +0 -20
  545. package/src/server/routes/ui/auth.js +0 -15
  546. package/src/server/routes/ui/index.js +0 -19
  547. package/src/server/routes/v1/app.route.js +0 -9
  548. package/src/server/routes/v1/auth.route.js +0 -12
  549. package/src/server/routes/v1/baselines.route.js +0 -14
  550. package/src/server/routes/v1/checks.route.js +0 -25
  551. package/src/server/routes/v1/client.route.js +0 -39
  552. package/src/server/routes/v1/logs.route.js +0 -16
  553. package/src/server/routes/v1/runs.route.js +0 -15
  554. package/src/server/routes/v1/settings.route.js +0 -23
  555. package/src/server/routes/v1/snapshots.route.js +0 -11
  556. package/src/server/routes/v1/suites.route.js +0 -15
  557. package/src/server/routes/v1/tasks.route.js +0 -59
  558. package/src/server/routes/v1/test.route.js +0 -20
  559. package/src/server/routes/v1/test_distinct.route.js +0 -14
  560. package/src/server/routes/v1/users.route.js +0 -36
  561. package/src/server/schemas/getBaseline.shema.ts +0 -12
  562. package/src/server/services/app.service.js +0 -23
  563. package/src/server/services/check.service.js +0 -178
  564. package/src/server/services/client.service.js +0 -648
  565. package/src/server/services/generic.service.js +0 -51
  566. package/src/server/services/index.js +0 -12
  567. package/src/server/services/logs.service.js +0 -38
  568. package/src/server/services/run.service.js +0 -40
  569. package/src/server/services/suite.service.js +0 -39
  570. package/src/server/services/test.service.js +0 -72
  571. package/src/server/services/user.service.js +0 -128
  572. package/src/server/utils/catchAsync.js +0 -8
  573. package/src/server/utils/check.js +0 -58
  574. package/src/server/utils/dateToISO8601.js +0 -2
  575. package/src/server/utils/deserializeIfJSON.js +0 -9
  576. package/src/server/utils/index.js +0 -10
  577. package/src/server/utils/isJSON.js +0 -6
  578. package/src/server/utils/pick.js +0 -15
  579. package/src/server/utils/prettyCheckParams.js +0 -13
  580. package/src/server/utils/snapshots.js +0 -73
  581. package/src/server/utils/tests.js +0 -36
  582. package/src/server/utils/utils.js +0 -146
  583. package/src/tasks/backup.js.bak +0 -84
  584. package/src/tasks/lib/common.js +0 -24
  585. package/src/tasks/lib/utils.js +0 -15
  586. package/src/tasks/reindex.js +0 -36
  587. package/src/tasks/restore.js.bak +0 -100
  588. package/src/ui-app/tsconfig.node.json +0 -12
  589. package/static/js/canvasjs.min.js.bak +0 -957
  590. package/static/js/chart.js.bak +0 -92
  591. package/static/js/jquery-3.3.1.slim.js.bak +0 -8269
  592. package/static/js/jquery-3.3.1.slim.min.js.bak +0 -2
  593. package/static/js/moment.min.js.bak +0 -2
  594. /package/src/{server/lib → seeds}/admin.json +0 -0
  595. /package/src/{server/lib → seeds}/guest.json +0 -0
  596. /package/src/{server/lib → seeds}/initialAppSettings.json +0 -0
  597. /package/src/{server/lib/testAdmin.json → seeds/testAdmin copy.json} +0 -0
  598. /package/src/{server/lib → seeds}/testUsers.json +0 -0
  599. /package/src/server/schemas/{createCheck.shema.ts → CreateCheck.shema.ts} +0 -0
  600. /package/{static → src/server/static/static}/A.png +0 -0
  601. /package/{static → src/server/static/static}/B.png +0 -0
  602. /package/{static → src/server/static/static}/affected.html +0 -0
  603. /package/{static → src/server/static/static}/affected_2.html +0 -0
  604. /package/{static → src/server/static/static}/data/custom_devices.json +0 -0
  605. /package/{static → src/server/static/static}/grids/desktop-higher.html +0 -0
  606. /package/{static → src/server/static/static}/grids/desktop-wider.html +0 -0
  607. /package/{static → src/server/static/static}/grids/desktop.html +0 -0
  608. /package/{static → src/server/static/static}/grids/fit-in-view.html +0 -0
  609. /package/{static → src/server/static/static}/low_diff_0.png +0 -0
  610. /package/{static → src/server/static/static}/low_diff_1.png +0 -0
  611. /package/{static → src/server/static/static}/vShift.png +0 -0
  612. /package/{static → src/server/static/static}/vShift_bottom.png +0 -0
  613. /package/{static → src/server/static/static}/vShift_top.png +0 -0
@@ -0,0 +1,19 @@
1
+ import { extendZodWithOpenApi, OpenAPIRegistry } from '@asteasolutions/zod-to-openapi';
2
+ import { commonValidations } from '@schemas/utils';
3
+ import { z } from 'zod';
4
+
5
+ extendZodWithOpenApi(z);
6
+
7
+ export const registry = new OpenAPIRegistry();
8
+
9
+ export const AppInfoRespSchema = z.object({
10
+ version: commonValidations.version,
11
+ });
12
+
13
+ export const AppRespSchema = z.object({
14
+ _id: commonValidations.id,
15
+ id: commonValidations.id,
16
+ name: z.string().min(1, 'AppRespSchema: the name is empty').openapi({ example: "Admin Panel" }),
17
+ });
18
+
19
+ // export type AppType = z.infer<typeof AppRespSchema>;
@@ -0,0 +1,27 @@
1
+ import { extendZodWithOpenApi } from '@asteasolutions/zod-to-openapi';
2
+ import { z } from 'zod';
3
+ import { commonValidations } from './utils';
4
+
5
+ extendZodWithOpenApi(z);
6
+ export const AuthLoginSchema = z.object({
7
+ username: commonValidations.username,
8
+ password: commonValidations.password
9
+ });
10
+
11
+ export const AuthLoginSuccessRespSchema = commonValidations.success;
12
+ export const AuthChangePasswordSchema = z.object({
13
+ currentPassword: commonValidations.password,
14
+ newPassword: commonValidations.password,
15
+ });
16
+
17
+ export const AuthChangePasswordFirstRunSchema = z.object({
18
+ // currentPassword: commonValidations.password,
19
+ newPassword: commonValidations.password,
20
+ });
21
+
22
+
23
+ export const AuthApiKeyRespSchema = z.object({
24
+ apikey: z.string().regex(/^[A-Z0-9]{7}-[A-Z0-9]{7}-[A-Z0-9]{7}-[A-Z0-9]{7}$/).openapi({ example: 'J3QQ400-H7H2V00-2HCH400-M3HK800' }),
25
+ });
26
+
27
+ export const AuthLogoutRespSchema = commonValidations.success;
@@ -0,0 +1,106 @@
1
+ import { z } from 'zod';
2
+ import { commonValidations } from './utils';
3
+
4
+ const BaselineGetSchema = z.object({
5
+ _id: commonValidations.id,
6
+ name: z.string().min(1).openapi({
7
+ description: 'Name of the baseline',
8
+ example: 'Green Button'
9
+ }),
10
+ app: commonValidations.id.openapi({
11
+ description: 'Application identifier for the baseline',
12
+ example: '6651dd45b9c3e1e0b8c1ce26'
13
+ }),
14
+ branch: z.string().min(1).openapi({
15
+ description: 'Branch name for the baseline',
16
+ example: 'master'
17
+ }),
18
+ browserName: z.string().min(1).openapi({
19
+ description: 'Browser name used for the baseline',
20
+ example: 'chrome'
21
+ }),
22
+ viewport: z.string().min(1).openapi({
23
+ description: 'Viewport size used for the baseline',
24
+ example: '1366x768'
25
+ }),
26
+ os: z.string().min(1).openapi({
27
+ description: 'Operating system used for the baseline',
28
+ example: 'macOS'
29
+ }),
30
+ createdDate: commonValidations.date.openapi({
31
+ description: 'Creation date of the baseline',
32
+ example: '2024-05-26T10:49:19.896Z'
33
+ }),
34
+ lastMarkedDate: commonValidations.date.openapi({
35
+ description: 'Last marked date of the baseline',
36
+ example: '2024-05-26T10:49:19.852Z'
37
+ }),
38
+ markedAs: z.string().min(1).openapi({
39
+ description: 'Status marked for the baseline',
40
+ example: 'accepted'
41
+ }),
42
+
43
+ markedById: commonValidations.id.openapi({
44
+ description: 'Identifier of the user who marked the baseline',
45
+ example: '66519e582c2c701cc438ce59'
46
+ }),
47
+ markedByUsername: z.string().min(1).openapi({
48
+ description: 'Username of the user who marked the baseline',
49
+ example: 'Guest'
50
+ }),
51
+ snapshootId: commonValidations.id.openapi({
52
+ description: 'Snapshot identifier for the baseline',
53
+ example: '6651ec20917e9ce26f7c0849'
54
+ }),
55
+ id: commonValidations.id,
56
+ });
57
+
58
+ // export type BaselineType = z.infer<typeof BaselineGetSchema>;
59
+
60
+ const BaselinePutSchema = z.object({
61
+ name: z.string().min(1).openapi({
62
+ description: 'Name of the baseline',
63
+ example: 'Green Button'
64
+ }).optional(),
65
+ branch: z.string().min(1).openapi({
66
+ description: 'Branch name for the baseline',
67
+ example: 'master'
68
+ }).optional(),
69
+ browserName: z.string().min(1).openapi({
70
+ description: 'Browser name used for the baseline',
71
+ example: 'chrome'
72
+ }).optional(),
73
+ viewport: z.string().min(1).openapi({
74
+ description: 'Viewport size used for the baseline',
75
+ example: '1366x768'
76
+ }).optional(),
77
+ os: z.string().min(1).openapi({
78
+ description: 'Operating system used for the baseline',
79
+ example: 'macOS'
80
+ }).optional(),
81
+ createdDate: commonValidations.date.openapi({
82
+ description: 'Creation date of the baseline',
83
+ example: '2024-05-26T10:49:19.896Z'
84
+ }).optional(),
85
+ lastMarkedDate: commonValidations.date.openapi({
86
+ description: 'Last marked date of the baseline',
87
+ example: '2024-05-26T10:49:19.852Z'
88
+ }).optional(),
89
+ markedAs: z.string().min(1).openapi({
90
+ description: 'Status marked for the baseline',
91
+ example: 'accepted'
92
+ }).optional(),
93
+ markedById: commonValidations.id.openapi({
94
+ description: 'Identifier of the user who marked the baseline',
95
+ example: '66519e582c2c701cc438ce59'
96
+ }).optional(),
97
+ markedByUsername: z.string().min(1).openapi({
98
+ description: 'Username of the user who marked the baseline',
99
+ example: 'Guest'
100
+ }).optional(),
101
+ });
102
+
103
+
104
+
105
+ export { BaselineGetSchema, BaselinePutSchema };
106
+
@@ -0,0 +1,117 @@
1
+ import { z } from 'zod';
2
+ import { commonValidations } from './utils';
3
+
4
+ const CheckGetSchema = z.object({
5
+ _id: commonValidations.id,
6
+ name: z.string().min(1).openapi({
7
+ description: 'Name of the check',
8
+ example: 'Sample Check'
9
+ }),
10
+ test: commonValidations.id.openapi({
11
+ description: 'Test identifier',
12
+ example: '666acbe24fe1d2a67424ff60'
13
+ }),
14
+ suite: commonValidations.id.openapi({
15
+ description: 'Suite identifier',
16
+ example: '6651dd457c9186e315910b00'
17
+ }),
18
+ app: commonValidations.id.openapi({
19
+ description: 'Application identifier',
20
+ example: '6651dd45b9c3e1e0b8c1ce26'
21
+ }),
22
+ branch: z.string().min(1).openapi({
23
+ description: 'Branch name',
24
+ example: 'master'
25
+ }),
26
+ baselineId: commonValidations.id.openapi({
27
+ description: 'Baseline identifier',
28
+ example: '6656ee01bac26a33185c9488'
29
+ }),
30
+ actualSnapshotId: commonValidations.id.openapi({
31
+ description: 'Actual snapshot identifier',
32
+ example: '666acbf04fe1d2a67424ffa4'
33
+ }),
34
+ diffId: commonValidations.id.openapi({
35
+ description: 'Difference identifier',
36
+ example: '666acbf04fe1d2a67424ffa9'
37
+ }),
38
+ updatedDate: commonValidations.date.openapi({
39
+ description: 'Last update date of the check',
40
+ example: '2024-06-13T10:37:36.264Z'
41
+ }),
42
+ status: z.array(z.string().min(1)).openapi({
43
+ description: 'Status of the check',
44
+ example: ['failed']
45
+ }),
46
+ browserName: z.string().min(1).openapi({
47
+ description: 'Browser name used for the check',
48
+ example: 'chrome'
49
+ }),
50
+ browserVersion: z.string().min(1).openapi({
51
+ description: 'Browser version used for the check',
52
+ example: '125'
53
+ }),
54
+ browserFullVersion: z.string().min(1).openapi({
55
+ description: 'Full browser version used for the check',
56
+ example: '125.0.6422.142'
57
+ }),
58
+ viewport: z.string().min(1).openapi({
59
+ description: 'Viewport size used for the check',
60
+ example: '1366x768'
61
+ }),
62
+ os: z.string().min(1).openapi({
63
+ description: 'Operating system used for the check',
64
+ example: 'macOS'
65
+ }),
66
+ result: z.string().openapi({
67
+ description: 'Result of the check',
68
+ example: '{\n\t"isSameDimensions": false,\n\t"dimensionDifference": {\n\t\t"width": 24,\n\t\t"height": 8\n\t},\n\t"rawMisMatchPercentage": 67.38024135551241,\n\t"misMatchPercentage": "67.38",\n\t"analysisTime": 99,\n\t"executionTotalTime": "0,398753687",\n\t"totalCheckHandleTime": "0,431217924"\n}'
69
+ }),
70
+ run: commonValidations.id.openapi({
71
+ description: 'Run identifier',
72
+ example: '666acbe24fe1d2a67424ff5d'
73
+ }),
74
+ markedAs: z.string().min(1).openapi({
75
+ description: 'Status marked for the check',
76
+ example: 'accepted'
77
+ }),
78
+ markedDate: commonValidations.date.openapi({
79
+ description: 'Marked date of the check',
80
+ example: '2024-06-13T07:19:32.246Z'
81
+ }),
82
+ markedByUsername: z.string().min(1).openapi({
83
+ description: 'Username of the user who marked the check',
84
+ example: 'Administrator'
85
+ }),
86
+ creatorId: commonValidations.id.openapi({
87
+ description: 'Identifier of the user who created the check',
88
+ example: '66519e582c2c701cc438ce59'
89
+ }),
90
+ creatorUsername: z.string().min(1).openapi({
91
+ description: 'Username of the user who created the check',
92
+ example: 'Guest'
93
+ }),
94
+ failReasons: z.array(z.string().min(1)).openapi({
95
+ description: 'Reasons for the check failure',
96
+ example: ['wrong_dimensions', 'different_images']
97
+ }),
98
+ createdDate: commonValidations.date.openapi({
99
+ description: 'Creation date of the check',
100
+ example: '2024-06-13T10:37:36.721Z'
101
+ }),
102
+ id: commonValidations.id,
103
+ });
104
+
105
+
106
+ const CheckUpdateSchema = CheckGetSchema.omit({ id: true, _id: true }).partial();
107
+
108
+ // export type CheckUpdateType = z.infer<typeof CheckUpdateSchema> & { files: { file: UploadedFile } } & { hashCode: string };
109
+
110
+ const CheckAcceptSchema = z.object({
111
+ baselineId: commonValidations.id.openapi({
112
+ description: 'Baseline identifier to accept the check',
113
+ example: '6651ec20917e9ce26f7c0849'
114
+ }),
115
+ });
116
+
117
+ export { CheckGetSchema, CheckUpdateSchema, CheckAcceptSchema };
@@ -0,0 +1,380 @@
1
+ import { z } from 'zod';
2
+ import { commonValidations } from './utils';
3
+
4
+ const ClientStartSessionSchema = z.object({
5
+ name: z.string().min(1).openapi({
6
+ description: 'Name of the session',
7
+ example: 'Login test'
8
+ }),
9
+ app: z.string().min(1).openapi({
10
+ description: 'Application name',
11
+ example: 'My project'
12
+ }),
13
+ tags: z.string().openapi({
14
+ description: 'Tags associated with the session',
15
+ example: "[\"@smoke\", \"@PJ-231\"]"
16
+ }).optional(),
17
+ branch: z.string().min(1).openapi({
18
+ description: 'Branch name',
19
+ example: 'master'
20
+ }),
21
+ viewport: z.string().min(1).openapi({
22
+ description: 'Viewport size',
23
+ example: '1366x768'
24
+ }),
25
+ browser: z.string().min(1).openapi({
26
+ description: 'Browser name',
27
+ example: 'chrome'
28
+ }),
29
+ browserVersion: z.string().min(1).openapi({
30
+ description: 'Browser version',
31
+ example: '125'
32
+ }),
33
+ browserFullVersion: z.string().min(1).openapi({
34
+ description: 'Browser full version',
35
+ example: '125.12.56.001'
36
+ }).optional(),
37
+ os: z.string().min(1).openapi({
38
+ description: 'Operating system',
39
+ example: 'macOS'
40
+ }),
41
+ run: z.string().min(1).openapi({
42
+ description: 'Run name',
43
+ example: 'Build #123'
44
+ }),
45
+ runident: z.string().min(1).openapi({
46
+ description: 'Run identifier',
47
+ example: '978ee42c-78f8-40f4-8954-51ebc08d1718'
48
+ }),
49
+ suite: z.string().min(1).openapi({
50
+ description: 'Suite name',
51
+ example: 'Smoke tests'
52
+ })
53
+ });
54
+
55
+ export type ClientStartSessionType = z.infer<typeof ClientStartSessionSchema>
56
+
57
+ const ClientStartSessionResponseSchema = z.object({
58
+ name: z.string().openapi({
59
+ description: 'Name of the session',
60
+ example: 'Login test'
61
+ }),
62
+ status: z.string().openapi({
63
+ description: 'Status of the session',
64
+ example: 'Running'
65
+ }),
66
+ browserName: z.string().openapi({
67
+ description: 'Browser name',
68
+ example: 'chrome'
69
+ }),
70
+ browserVersion: z.string().openapi({
71
+ description: 'Browser version',
72
+ example: '125'
73
+ }),
74
+ branch: z.string().openapi({
75
+ description: 'Branch name',
76
+ example: 'master'
77
+ }),
78
+ tags: z.array(z.string()).openapi({
79
+ description: 'Tags associated with the session',
80
+ example: ['@smoke', '@PJ-231']
81
+ }),
82
+ viewport: z.string().openapi({
83
+ description: 'Viewport size',
84
+ example: '1366x768'
85
+ }),
86
+ os: z.string().openapi({
87
+ description: 'Operating system',
88
+ example: 'macOS'
89
+ }),
90
+ app: z.string().openapi({
91
+ description: 'Application identifier',
92
+ example: '666b3b82db17d34ecdbd06f6'
93
+ }),
94
+ blinking: z.number().openapi({
95
+ description: 'Blinking count',
96
+ example: 0
97
+ }),
98
+ updatedDate: z.string().openapi({
99
+ description: 'Last updated date',
100
+ example: '2024-06-13T18:34:28.121Z'
101
+ }),
102
+ startDate: z.string().openapi({
103
+ description: 'Start date of the session',
104
+ example: '2024-06-13T18:34:28.121Z'
105
+ }),
106
+ checks: z.array(z.any()).openapi({
107
+ description: 'Checks associated with the session',
108
+ example: []
109
+ }),
110
+ suite: z.string().openapi({
111
+ description: 'Suite identifier',
112
+ example: '666b3b828833d0cf24a670d7'
113
+ }),
114
+ run: z.string().openapi({
115
+ description: 'Run identifier',
116
+ example: '666b244a70a6fb0a4368b59e'
117
+ }),
118
+ _id: commonValidations.id.openapi({
119
+ description: 'Identifier of the session',
120
+ example: '666b3bb49e0c25666d76e0c4'
121
+ }),
122
+ id: commonValidations.id.openapi({
123
+ description: 'Identifier of the session',
124
+ example: '666b3bb49e0c25666d76e0c4'
125
+ })
126
+ });
127
+
128
+ const ClientEndSessionSchema = z.object({
129
+ testid: commonValidations.id
130
+ });
131
+
132
+ const ClientCreateCheckSchema = z.object({
133
+ testid: commonValidations.id.openapi({
134
+ description: 'Test identifier',
135
+ example: '666b2e1e93ca920ef5985b47'
136
+ }),
137
+ name: z.string().openapi({
138
+ description: 'Name of the check',
139
+ example: 'Login page'
140
+ }),
141
+ appName: z.string().openapi({
142
+ description: 'Application name',
143
+ example: 'My App'
144
+ }),
145
+ branch: z.string().openapi({
146
+ description: 'Branch name',
147
+ example: 'master'
148
+ }),
149
+ suitename: z.string().openapi({
150
+ description: 'Suite name',
151
+ example: 'Smoke tests'
152
+ }),
153
+ viewport: z.string().openapi({
154
+ description: 'Viewport size',
155
+ example: '1366x768'
156
+ }),
157
+ browserName: z.string().openapi({
158
+ description: 'Browser name',
159
+ example: 'chrome'
160
+ }),
161
+ browserVersion: z.string().openapi({
162
+ description: 'Browser version',
163
+ example: '125'
164
+ }),
165
+ browserFullVersion: z.string().openapi({
166
+ description: 'Full browser version',
167
+ example: '125.0.6422.142'
168
+ }),
169
+ os: z.string().openapi({
170
+ description: 'Operating system',
171
+ example: 'macOS'
172
+ }),
173
+ hashcode: z.string().openapi({
174
+ description: 'Hash of the snapshot - In the first phase, only the hash is sent, in case the snapshot is already in the Syngrisi database',
175
+ example: 'ef6ff7c6e6fd536de877c02cf61381e5a1111a24c9d21c1c2a0c0c06fdd2f01271da8880da80a1caa7c123ce3256068c40055753d70bd1dbc558d088f90cd398'
176
+ })
177
+ });
178
+
179
+ // export type CreateCheckType = z.infer<typeof ClientCreateCheckSchema>;
180
+
181
+ const SnapshotSchema = z.object({
182
+ name: z.string().openapi({
183
+ description: 'Name of the snapshot',
184
+ example: 'Login page'
185
+ }),
186
+ filename: z.string().openapi({
187
+ description: 'Filename of the snapshot',
188
+ example: '666b12d859ac872b495af4b0.png'
189
+ }),
190
+ imghash: z.string().openapi({
191
+ description: 'Image hash of the snapshot',
192
+ example: 'ef6ff7c6e6fd536de877c02cf61381e5a1111a24c9d21c1c2a0c0c06fdd2f01271da8880da80a1caa7c123ce3256068c40055753d70bd1dbc558d088f90cd398'
193
+ }),
194
+ _id: commonValidations.id.openapi({
195
+ description: 'Identifier of the snapshot',
196
+ example: '666b4ebc421977cbf466b478'
197
+ }),
198
+ createdDate: z.string().openapi({
199
+ description: 'Creation date',
200
+ example: '2024-06-13T19:55:40.068Z'
201
+ }),
202
+ id: commonValidations.id.openapi({
203
+ description: 'Identifier of the snapshot',
204
+ example: '666b4ebc421977cbf466b478'
205
+ })
206
+ });
207
+
208
+ const ClientCreateCheckResponseSchema = z.object({
209
+ name: z.string().openapi({
210
+ description: 'Name of the check',
211
+ example: 'Login page'
212
+ }),
213
+ test: commonValidations.id.openapi({
214
+ description: 'Test identifier',
215
+ example: '666b4e74421977cbf466b446'
216
+ }),
217
+ suite: commonValidations.id.openapi({
218
+ description: 'Suite identifier',
219
+ example: '666b3b828833d0cf24a670d7'
220
+ }),
221
+ app: commonValidations.id.openapi({
222
+ description: 'Application identifier',
223
+ example: '6651dd45b9c3e1e0b8c1ce26'
224
+ }),
225
+ branch: z.string().openapi({
226
+ description: 'Branch name',
227
+ example: 'master'
228
+ }),
229
+ baselineId: commonValidations.id.openapi({
230
+ description: 'Baseline identifier',
231
+ example: '666b4ebc421977cbf466b478'
232
+ }),
233
+ actualSnapshotId: commonValidations.id.openapi({
234
+ description: 'Actual snapshot identifier',
235
+ example: '666b4ebc421977cbf466b478'
236
+ }),
237
+ updatedDate: z.string().openapi({
238
+ description: 'Last updated date',
239
+ example: '2024-06-13T19:55:40.061Z'
240
+ }),
241
+ status: z.array(z.string()).openapi({
242
+ description: 'Status of the check',
243
+ example: ['new']
244
+ }),
245
+ browserName: z.string().openapi({
246
+ description: 'Browser name',
247
+ example: 'chrome'
248
+ }),
249
+ browserVersion: z.string().openapi({
250
+ description: 'Browser version',
251
+ example: '125'
252
+ }),
253
+ browserFullVersion: z.string().openapi({
254
+ description: 'Full browser version',
255
+ example: '125.0.6422.142'
256
+ }),
257
+ viewport: z.string().openapi({
258
+ description: 'Viewport size',
259
+ example: '1366x768'
260
+ }),
261
+ os: z.string().openapi({
262
+ description: 'Operating system',
263
+ example: 'macOS'
264
+ }),
265
+ result: z.string().openapi({
266
+ description: 'Result of the check',
267
+ example: '{}'
268
+ }),
269
+ run: commonValidations.id.openapi({
270
+ description: 'Run identifier',
271
+ example: '666b4e74421977cbf466b443'
272
+ }),
273
+ creatorId: commonValidations.id.openapi({
274
+ description: 'Creator identifier',
275
+ example: '66519e582c2c701cc438ce59'
276
+ }),
277
+ creatorUsername: z.string().openapi({
278
+ description: 'Creator username',
279
+ example: 'Guest'
280
+ }),
281
+ failReasons: z.array(z.any()).openapi({
282
+ description: 'Reasons for failure',
283
+ example: []
284
+ }),
285
+ _id: commonValidations.id.openapi({
286
+ description: 'Identifier of the check',
287
+ example: '666b4ebc421977cbf466b47c'
288
+ }),
289
+ createdDate: z.string().openapi({
290
+ description: 'Creation date',
291
+ example: '2024-06-13T19:55:40.082Z'
292
+ }),
293
+ currentSnapshot: SnapshotSchema,
294
+ expectedSnapshot: SnapshotSchema,
295
+ lastSuccess: commonValidations.id.openapi({
296
+ description: 'Identifier of the last successful check',
297
+ example: '666b4ebc421977cbf466b47c'
298
+ })
299
+ });
300
+
301
+ const ClientGetIdentSchema = z.array(z.string()).openapi({
302
+ description: "Set of fields that identify checks and baselines",
303
+ example: ['name', 'viewport', 'browserName', 'os', 'app', 'branch']
304
+ });
305
+
306
+ const ClientGetBaselinesSchema = z.object({
307
+ baselines: z.array(z.object({
308
+ id: commonValidations.id,
309
+ name: z.string().openapi({
310
+ description: 'Name of the baseline',
311
+ example: 'A-A-A'
312
+ }),
313
+ app: commonValidations.id.openapi({
314
+ description: 'Application identifier',
315
+ example: '6651dd45b9c3e1e0b8c1ce26'
316
+ }),
317
+ branch: z.string().openapi({
318
+ description: 'Branch name',
319
+ example: 'master'
320
+ }),
321
+ browserName: z.string().openapi({
322
+ description: 'Browser name',
323
+ example: 'chrome'
324
+ }),
325
+ viewport: z.string().openapi({
326
+ description: 'Viewport size',
327
+ example: '1366x768'
328
+ }),
329
+ os: z.string().openapi({
330
+ description: 'Operating system',
331
+ example: 'macOS'
332
+ }),
333
+ createdDate: z.string().openapi({
334
+ description: 'Creation date',
335
+ example: '2024-06-13T15:59:44.479Z'
336
+ }),
337
+ lastMarkedDate: z.string().openapi({
338
+ description: 'Last marked date',
339
+ example: '2024-06-13T15:59:44.381Z'
340
+ }),
341
+ markedAs: z.string().openapi({
342
+ description: 'Marked status',
343
+ example: 'accepted'
344
+ }),
345
+ markedById: commonValidations.id.openapi({
346
+ description: 'Identifier of the user who marked the baseline',
347
+ example: '66519e1682764a892a1a0031'
348
+ }),
349
+ markedByUsername: z.string().openapi({
350
+ description: 'Username of the user who marked the baseline',
351
+ example: 'Administrator'
352
+ }),
353
+ snapshootId: commonValidations.id.openapi({
354
+ description: 'Snapshot identifier',
355
+ example: '666b12d859ac872b495af4b0'
356
+ }),
357
+ _id: commonValidations.id.openapi({
358
+ description: 'Identifier of the baseline',
359
+ example: '666b177059ac872b495af63d'
360
+ })
361
+ }))
362
+ });
363
+
364
+ const ClientGetSnapshotsSchema = z.object({
365
+ snapshots: z.array(z.object({
366
+ id: commonValidations.id,
367
+ name: z.string()
368
+ }))
369
+ });
370
+
371
+ export {
372
+ ClientStartSessionSchema,
373
+ ClientStartSessionResponseSchema,
374
+ ClientEndSessionSchema,
375
+ ClientCreateCheckSchema,
376
+ ClientGetIdentSchema,
377
+ ClientGetBaselinesSchema,
378
+ ClientGetSnapshotsSchema,
379
+ ClientCreateCheckResponseSchema
380
+ };
@@ -0,0 +1,34 @@
1
+ import { z } from 'zod';
2
+
3
+ export const RequiredIdentOptionsSchema = z.object({
4
+ name: z.string().min(1),
5
+ viewport: z.string().min(3),
6
+ browserName: z.string().min(1),
7
+ os: z.string().min(1),
8
+ app: z.string().min(1),
9
+ branch: z.string().min(1),
10
+ })
11
+
12
+ export type RequiredIdentOptionsType = z.infer<typeof RequiredIdentOptionsSchema>
13
+
14
+ export const IdentJSONStringSchema = z
15
+ .string()
16
+ .optional()
17
+ .refine((data) => {
18
+ if (!data) return false;
19
+ try {
20
+ const parsed = JSON.parse(data);
21
+ RequiredIdentOptionsSchema.parse(parsed); // Проверяем поля внутри объекта
22
+ return true;
23
+ } catch (e) {
24
+ return false;
25
+ }
26
+ }, {
27
+ message: "Invalid JSON string or does not match the required schema",
28
+ })
29
+ .openapi({
30
+ description: "baseline filter based on ident",
31
+ example: '{"name": "Login page", "viewport": "1366x768", "browserName": "chrome", "os": "macOS", "app": "My App", "branch": "master"}',
32
+ });
33
+
34
+ export type RequiredIdentOptions = z.infer<typeof RequiredIdentOptionsSchema>;