@opengis/fastify-table 2.3.5 → 2.4.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 (291) hide show
  1. package/dist/errors.d.ts +38 -0
  2. package/dist/errors.d.ts.map +1 -0
  3. package/dist/errors.js +10 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +30 -9
  6. package/dist/server/plugins/access/funcs/getAdminAccess.d.ts +1 -4
  7. package/dist/server/plugins/access/funcs/getAdminAccess.d.ts.map +1 -1
  8. package/dist/server/plugins/access/funcs/getAdminAccess.js +3 -2
  9. package/dist/server/plugins/auth/funcs/getQuery.d.ts.map +1 -1
  10. package/dist/server/plugins/auth/funcs/getQuery.js +2 -1
  11. package/dist/server/plugins/auth/funcs/loginFile.d.ts +1 -4
  12. package/dist/server/plugins/auth/funcs/loginFile.d.ts.map +1 -1
  13. package/dist/server/plugins/auth/funcs/loginFile.js +10 -5
  14. package/dist/server/plugins/auth/funcs/loginUser.d.ts.map +1 -1
  15. package/dist/server/plugins/auth/funcs/loginUser.js +25 -18
  16. package/dist/server/plugins/auth/index.d.ts.map +1 -1
  17. package/dist/server/plugins/auth/index.js +3 -4
  18. package/dist/server/plugins/crud/funcs/dataInsert.js +1 -1
  19. package/dist/server/plugins/extra/extraData.d.ts.map +1 -1
  20. package/dist/server/plugins/extra/extraData.js +3 -2
  21. package/dist/server/plugins/extra/extraDataGet.d.ts +1 -4
  22. package/dist/server/plugins/extra/extraDataGet.d.ts.map +1 -1
  23. package/dist/server/plugins/extra/extraDataGet.js +4 -6
  24. package/dist/server/plugins/file/uploadMultiPart.js +1 -1
  25. package/dist/server/plugins/grpc/utils/html2doc.d.ts +0 -6
  26. package/dist/server/plugins/grpc/utils/html2doc.d.ts.map +1 -1
  27. package/dist/server/plugins/grpc/utils/html2doc.js +3 -8
  28. package/dist/server/plugins/grpc/utils/html2img.d.ts +0 -6
  29. package/dist/server/plugins/grpc/utils/html2img.d.ts.map +1 -1
  30. package/dist/server/plugins/grpc/utils/html2img.js +3 -8
  31. package/dist/server/plugins/grpc/utils/html2pdf.d.ts +0 -6
  32. package/dist/server/plugins/grpc/utils/html2pdf.d.ts.map +1 -1
  33. package/dist/server/plugins/grpc/utils/html2pdf.js +7 -12
  34. package/dist/server/plugins/grpc/utils/mergePdf.d.ts +0 -7
  35. package/dist/server/plugins/grpc/utils/mergePdf.d.ts.map +1 -1
  36. package/dist/server/plugins/grpc/utils/mergePdf.js +4 -9
  37. package/dist/server/plugins/logger/checkUserAccess.d.ts +1 -4
  38. package/dist/server/plugins/logger/checkUserAccess.d.ts.map +1 -1
  39. package/dist/server/plugins/logger/checkUserAccess.js +4 -6
  40. package/dist/server/plugins/logger/errorMessage.d.ts +1 -1
  41. package/dist/server/plugins/logger/errorMessage.d.ts.map +1 -1
  42. package/dist/server/plugins/logger/errorMessage.js +7 -8
  43. package/dist/server/plugins/logger/errorStatus.d.ts.map +1 -1
  44. package/dist/server/plugins/logger/errorStatus.js +6 -0
  45. package/dist/server/plugins/logger/index.d.ts +2 -2
  46. package/dist/server/plugins/logger/index.d.ts.map +1 -1
  47. package/dist/server/plugins/logger/index.js +16 -18
  48. package/dist/server/plugins/pg/funcs/getMeta.d.ts.map +1 -1
  49. package/dist/server/plugins/pg/funcs/getMeta.js +5 -3
  50. package/dist/server/plugins/policy/funcs/checkJWT.d.ts +0 -9
  51. package/dist/server/plugins/policy/funcs/checkJWT.d.ts.map +1 -1
  52. package/dist/server/plugins/policy/funcs/checkJWT.js +6 -5
  53. package/dist/server/plugins/policy/funcs/checkPermissions.d.ts +1 -4
  54. package/dist/server/plugins/policy/funcs/checkPermissions.d.ts.map +1 -1
  55. package/dist/server/plugins/policy/funcs/checkPermissions.js +2 -1
  56. package/dist/server/plugins/policy/funcs/checkPolicy.d.ts +1 -4
  57. package/dist/server/plugins/policy/funcs/checkPolicy.d.ts.map +1 -1
  58. package/dist/server/plugins/policy/funcs/checkPolicy.js +8 -7
  59. package/dist/server/plugins/policy/index.d.ts.map +1 -1
  60. package/dist/server/plugins/policy/index.js +2 -11
  61. package/dist/server/plugins/table/funcs/getFilterSQL/index.d.ts +1 -15
  62. package/dist/server/plugins/table/funcs/getFilterSQL/index.d.ts.map +1 -1
  63. package/dist/server/plugins/table/funcs/getFilterSQL/index.js +6 -4
  64. package/dist/server/plugins/table/funcs/gisIRColumn.d.ts +0 -22
  65. package/dist/server/plugins/table/funcs/gisIRColumn.d.ts.map +1 -1
  66. package/dist/server/plugins/table/funcs/gisIRColumn.js +5 -3
  67. package/dist/server/plugins/upload/index.d.ts.map +1 -1
  68. package/dist/server/plugins/upload/index.js +7 -0
  69. package/dist/server/plugins/upload/s3.d.ts +7 -1
  70. package/dist/server/plugins/upload/s3.d.ts.map +1 -1
  71. package/dist/server/plugins/upload/s3.js +54 -10
  72. package/dist/server/plugins/upload/s3minio.d.ts +59 -0
  73. package/dist/server/plugins/upload/s3minio.d.ts.map +1 -0
  74. package/dist/server/plugins/upload/s3minio.js +199 -0
  75. package/dist/server/plugins/upload/startUpload.d.ts.map +1 -1
  76. package/dist/server/plugins/upload/startUpload.js +16 -8
  77. package/dist/server/plugins/upload/uploadChunk.d.ts.map +1 -1
  78. package/dist/server/plugins/upload/uploadChunk.js +14 -9
  79. package/dist/server/plugins/usercls/index.js +1 -1
  80. package/dist/server/routes/access/controllers/access.group.d.ts.map +1 -1
  81. package/dist/server/routes/access/controllers/access.group.js +3 -5
  82. package/dist/server/routes/access/controllers/access.group.post.d.ts.map +1 -1
  83. package/dist/server/routes/access/controllers/access.group.post.js +3 -5
  84. package/dist/server/routes/access/controllers/access.interface.d.ts.map +1 -1
  85. package/dist/server/routes/access/controllers/access.interface.js +1 -4
  86. package/dist/server/routes/access/controllers/access.user.d.ts +5 -1
  87. package/dist/server/routes/access/controllers/access.user.d.ts.map +1 -1
  88. package/dist/server/routes/access/controllers/access.user.js +4 -5
  89. package/dist/server/routes/access/controllers/access.user.post.d.ts.map +1 -1
  90. package/dist/server/routes/access/controllers/access.user.post.js +4 -5
  91. package/dist/server/routes/access/index.d.ts.map +1 -1
  92. package/dist/server/routes/access/index.js +10 -6
  93. package/dist/server/routes/auth/controllers/2factor/providers/totp.d.ts.map +1 -1
  94. package/dist/server/routes/auth/controllers/2factor/providers/totp.js +4 -3
  95. package/dist/server/routes/auth/controllers/2factor/qrcode.d.ts.map +1 -1
  96. package/dist/server/routes/auth/controllers/2factor/qrcode.js +6 -10
  97. package/dist/server/routes/auth/controllers/2factor/recovery.d.ts.map +1 -1
  98. package/dist/server/routes/auth/controllers/2factor/recovery.js +14 -23
  99. package/dist/server/routes/auth/controllers/2factor/reset.d.ts.map +1 -1
  100. package/dist/server/routes/auth/controllers/2factor/reset.js +3 -5
  101. package/dist/server/routes/auth/controllers/2factor/verify.d.ts.map +1 -1
  102. package/dist/server/routes/auth/controllers/2factor/verify.js +30 -43
  103. package/dist/server/routes/auth/controllers/core/login.d.ts +1 -4
  104. package/dist/server/routes/auth/controllers/core/login.d.ts.map +1 -1
  105. package/dist/server/routes/auth/controllers/core/passwordRecovery.d.ts.map +1 -1
  106. package/dist/server/routes/auth/controllers/core/passwordRecovery.js +7 -8
  107. package/dist/server/routes/auth/controllers/core/registration.d.ts +1 -4
  108. package/dist/server/routes/auth/controllers/core/registration.d.ts.map +1 -1
  109. package/dist/server/routes/auth/controllers/core/registration.js +10 -24
  110. package/dist/server/routes/auth/controllers/core/updateUserInfo.d.ts +1 -2
  111. package/dist/server/routes/auth/controllers/core/updateUserInfo.d.ts.map +1 -1
  112. package/dist/server/routes/auth/controllers/core/updateUserInfo.js +3 -2
  113. package/dist/server/routes/auth/controllers/euSign/authByData.d.ts.map +1 -1
  114. package/dist/server/routes/auth/controllers/euSign/authByData.js +4 -7
  115. package/dist/server/routes/auth/controllers/jwt/authorize.d.ts.map +1 -1
  116. package/dist/server/routes/auth/controllers/jwt/authorize.js +6 -9
  117. package/dist/server/routes/auth/controllers/jwt/token.d.ts.map +1 -1
  118. package/dist/server/routes/auth/controllers/jwt/token.js +9 -12
  119. package/dist/server/routes/auth/controllers/page/login2faTemplate.d.ts.map +1 -1
  120. package/dist/server/routes/auth/controllers/page/login2faTemplate.js +3 -2
  121. package/dist/server/routes/auth/index.d.ts +1 -2
  122. package/dist/server/routes/auth/index.d.ts.map +1 -1
  123. package/dist/server/routes/auth/index.js +4 -3
  124. package/dist/server/routes/cron/controllers/cronApi.d.ts.map +1 -1
  125. package/dist/server/routes/cron/controllers/cronApi.js +3 -4
  126. package/dist/server/routes/cron/index.js +1 -1
  127. package/dist/server/routes/crud/controllers/deleteCrud.d.ts.map +1 -1
  128. package/dist/server/routes/crud/controllers/deleteCrud.js +11 -33
  129. package/dist/server/routes/crud/controllers/insert.d.ts +1 -1
  130. package/dist/server/routes/crud/controllers/insert.d.ts.map +1 -1
  131. package/dist/server/routes/crud/controllers/insert.js +17 -31
  132. package/dist/server/routes/crud/controllers/table.d.ts.map +1 -1
  133. package/dist/server/routes/crud/controllers/table.js +14 -18
  134. package/dist/server/routes/crud/controllers/update.d.ts.map +1 -1
  135. package/dist/server/routes/crud/controllers/update.js +16 -28
  136. package/dist/server/routes/crud/index.d.ts.map +1 -1
  137. package/dist/server/routes/crud/index.js +14 -4
  138. package/dist/server/routes/dblist/controllers/setItem.d.ts +0 -6
  139. package/dist/server/routes/dblist/controllers/setItem.d.ts.map +1 -1
  140. package/dist/server/routes/dblist/controllers/setItem.js +3 -2
  141. package/dist/server/routes/dblist/index.d.ts.map +1 -1
  142. package/dist/server/routes/dblist/index.js +5 -3
  143. package/dist/server/routes/file/controllers/delete.d.ts +4 -1
  144. package/dist/server/routes/file/controllers/delete.d.ts.map +1 -1
  145. package/dist/server/routes/file/controllers/delete.js +8 -8
  146. package/dist/server/routes/file/controllers/download.d.ts.map +1 -1
  147. package/dist/server/routes/file/controllers/download.js +5 -8
  148. package/dist/server/routes/file/controllers/export.d.ts.map +1 -1
  149. package/dist/server/routes/file/controllers/export.js +8 -8
  150. package/dist/server/routes/file/controllers/files.d.ts.map +1 -1
  151. package/dist/server/routes/file/controllers/files.js +6 -8
  152. package/dist/server/routes/file/controllers/resize.d.ts.map +1 -1
  153. package/dist/server/routes/file/controllers/resize.js +4 -12
  154. package/dist/server/routes/file/index.d.ts.map +1 -1
  155. package/dist/server/routes/file/index.js +10 -7
  156. package/dist/server/routes/grpc/controllers/file2geojson.d.ts.map +1 -1
  157. package/dist/server/routes/grpc/controllers/file2geojson.js +7 -7
  158. package/dist/server/routes/grpc/controllers/filePreview.d.ts.map +1 -1
  159. package/dist/server/routes/grpc/controllers/filePreview.js +5 -4
  160. package/dist/server/routes/grpc/index.d.ts.map +1 -1
  161. package/dist/server/routes/grpc/index.js +3 -2
  162. package/dist/server/routes/logger/controllers/logger.file.d.ts +1 -1
  163. package/dist/server/routes/logger/controllers/logger.file.d.ts.map +1 -1
  164. package/dist/server/routes/logger/controllers/logger.file.js +4 -5
  165. package/dist/server/routes/logger/controllers/logger.metrics.d.ts.map +1 -1
  166. package/dist/server/routes/logger/controllers/logger.metrics.js +1 -4
  167. package/dist/server/routes/logger/index.d.ts.map +1 -1
  168. package/dist/server/routes/logger/index.js +4 -2
  169. package/dist/server/routes/menu/controllers/getMenu.d.ts.map +1 -1
  170. package/dist/server/routes/menu/controllers/getMenu.js +2 -1
  171. package/dist/server/routes/menu/index.d.ts.map +1 -1
  172. package/dist/server/routes/menu/index.js +9 -2
  173. package/dist/server/routes/notifications/controllers/addUserNotification.d.ts +1 -2
  174. package/dist/server/routes/notifications/controllers/addUserNotification.d.ts.map +1 -1
  175. package/dist/server/routes/notifications/controllers/addUserNotification.js +5 -6
  176. package/dist/server/routes/notifications/controllers/deleteUserNotification.d.ts +1 -2
  177. package/dist/server/routes/notifications/controllers/deleteUserNotification.d.ts.map +1 -1
  178. package/dist/server/routes/notifications/controllers/deleteUserNotification.js +5 -6
  179. package/dist/server/routes/notifications/controllers/editUserNotification.d.ts +1 -2
  180. package/dist/server/routes/notifications/controllers/editUserNotification.d.ts.map +1 -1
  181. package/dist/server/routes/notifications/controllers/editUserNotification.js +6 -9
  182. package/dist/server/routes/notifications/controllers/readNotifications.d.ts +4 -2
  183. package/dist/server/routes/notifications/controllers/readNotifications.d.ts.map +1 -1
  184. package/dist/server/routes/notifications/controllers/readNotifications.js +4 -3
  185. package/dist/server/routes/notifications/controllers/userNotifications.d.ts +5 -2
  186. package/dist/server/routes/notifications/controllers/userNotifications.d.ts.map +1 -1
  187. package/dist/server/routes/notifications/controllers/userNotifications.js +4 -5
  188. package/dist/server/routes/notifications/index.d.ts +1 -2
  189. package/dist/server/routes/notifications/index.d.ts.map +1 -1
  190. package/dist/server/routes/notifications/index.js +3 -1
  191. package/dist/server/routes/properties/controllers/properties.get.d.ts +5 -2
  192. package/dist/server/routes/properties/controllers/properties.get.d.ts.map +1 -1
  193. package/dist/server/routes/properties/controllers/properties.get.js +6 -5
  194. package/dist/server/routes/properties/controllers/properties.post.d.ts +1 -1
  195. package/dist/server/routes/properties/controllers/properties.post.d.ts.map +1 -1
  196. package/dist/server/routes/properties/controllers/properties.post.js +7 -6
  197. package/dist/server/routes/properties/index.d.ts.map +1 -1
  198. package/dist/server/routes/properties/index.js +4 -7
  199. package/dist/server/routes/table/controllers/card.d.ts +1 -1
  200. package/dist/server/routes/table/controllers/card.d.ts.map +1 -1
  201. package/dist/server/routes/table/controllers/card.js +9 -7
  202. package/dist/server/routes/table/controllers/cardData.d.ts.map +1 -1
  203. package/dist/server/routes/table/controllers/cardData.js +4 -6
  204. package/dist/server/routes/table/controllers/cardTabData.d.ts.map +1 -1
  205. package/dist/server/routes/table/controllers/cardTabData.js +3 -2
  206. package/dist/server/routes/table/controllers/dataInfo.d.ts.map +1 -1
  207. package/dist/server/routes/table/controllers/dataInfo.js +4 -3
  208. package/dist/server/routes/table/controllers/filter.d.ts.map +1 -1
  209. package/dist/server/routes/table/controllers/filter.js +3 -2
  210. package/dist/server/routes/table/controllers/form.d.ts +1 -1
  211. package/dist/server/routes/table/controllers/form.d.ts.map +1 -1
  212. package/dist/server/routes/table/controllers/form.js +7 -5
  213. package/dist/server/routes/table/controllers/getFormByTable.d.ts.map +1 -1
  214. package/dist/server/routes/table/controllers/getFormByTable.js +12 -12
  215. package/dist/server/routes/table/controllers/suggest.d.ts +1 -1
  216. package/dist/server/routes/table/controllers/suggest.d.ts.map +1 -1
  217. package/dist/server/routes/table/controllers/suggest.js +14 -29
  218. package/dist/server/routes/table/controllers/tableInfo.d.ts +1 -2
  219. package/dist/server/routes/table/controllers/tableInfo.d.ts.map +1 -1
  220. package/dist/server/routes/table/controllers/tableInfo.js +9 -8
  221. package/dist/server/routes/table/controllers/tokenInfo.d.ts.map +1 -1
  222. package/dist/server/routes/table/controllers/tokenInfo.js +2 -1
  223. package/dist/server/routes/table/functions/getData.d.ts.map +1 -1
  224. package/dist/server/routes/table/functions/getData.js +19 -25
  225. package/dist/server/routes/table/index.d.ts.map +1 -1
  226. package/dist/server/routes/table/index.js +15 -13
  227. package/dist/server/routes/templates/controllers/getTemplate.d.ts.map +1 -1
  228. package/dist/server/routes/templates/controllers/getTemplate.js +9 -5
  229. package/dist/server/routes/templates/index.d.ts.map +1 -1
  230. package/dist/server/routes/templates/index.js +2 -1
  231. package/dist/server/routes/upload/index.d.ts.map +1 -1
  232. package/dist/server/routes/upload/index.js +31 -20
  233. package/dist/server/routes/usercls/controllers/addUserCls.d.ts.map +1 -1
  234. package/dist/server/routes/usercls/controllers/addUserCls.js +2 -1
  235. package/dist/server/routes/usercls/controllers/deleteUserCls.d.ts.map +1 -1
  236. package/dist/server/routes/usercls/controllers/deleteUserCls.js +2 -1
  237. package/dist/server/routes/usercls/controllers/editUserCls.d.ts.map +1 -1
  238. package/dist/server/routes/usercls/controllers/editUserCls.js +2 -1
  239. package/dist/server/routes/usercls/controllers/getUserCls.d.ts +1 -1
  240. package/dist/server/routes/usercls/controllers/getUserCls.d.ts.map +1 -1
  241. package/dist/server/routes/usercls/controllers/getUserCls.js +4 -3
  242. package/dist/server/routes/usercls/index.d.ts.map +1 -1
  243. package/dist/server/routes/usercls/index.js +12 -5
  244. package/dist/server/routes/util/controllers/api.list.d.ts +19 -0
  245. package/dist/server/routes/util/controllers/api.list.d.ts.map +1 -0
  246. package/dist/server/routes/util/controllers/api.list.js +58 -0
  247. package/dist/server/routes/util/controllers/code.generator.d.ts.map +1 -1
  248. package/dist/server/routes/util/controllers/code.generator.js +7 -6
  249. package/dist/server/routes/util/controllers/user.tokens.d.ts +1 -2
  250. package/dist/server/routes/util/controllers/user.tokens.d.ts.map +1 -1
  251. package/dist/server/routes/util/controllers/user.tokens.js +6 -5
  252. package/dist/server/routes/util/index.d.ts.map +1 -1
  253. package/dist/server/routes/util/index.js +8 -7
  254. package/dist/server/routes/widget/controllers/file.edit.d.ts.map +1 -1
  255. package/dist/server/routes/widget/controllers/file.edit.js +5 -4
  256. package/dist/server/routes/widget/controllers/widget.del.d.ts.map +1 -1
  257. package/dist/server/routes/widget/controllers/widget.del.js +6 -7
  258. package/dist/server/routes/widget/controllers/widget.get.d.ts.map +1 -1
  259. package/dist/server/routes/widget/controllers/widget.get.js +4 -3
  260. package/dist/server/routes/widget/controllers/widget.set.d.ts.map +1 -1
  261. package/dist/server/routes/widget/controllers/widget.set.js +5 -4
  262. package/dist/server/routes/widget/index.d.ts.map +1 -1
  263. package/dist/server/routes/widget/index.js +3 -2
  264. package/package.json +3 -1
  265. package/dist/module/core/cls/constraint_type.json +0 -14
  266. package/dist/module/core/cls/constraint_type_table.json +0 -18
  267. package/dist/server/migrations/oauth.sql.sql +0 -77
  268. package/dist/server/plugins/auth/funcs/getUserPermissions.d.ts +0 -2
  269. package/dist/server/plugins/auth/funcs/getUserPermissions.d.ts.map +0 -1
  270. package/dist/server/plugins/auth/funcs/getUserPermissions.js +0 -24
  271. package/dist/server/plugins/auth/onRequest.d.ts +0 -4
  272. package/dist/server/plugins/auth/onRequest.d.ts.map +0 -1
  273. package/dist/server/plugins/auth/onRequest.js +0 -104
  274. package/dist/server/plugins/migration/index.d.ts +0 -3
  275. package/dist/server/plugins/migration/index.d.ts.map +0 -1
  276. package/dist/server/plugins/migration/index.js +0 -5
  277. package/dist/server/plugins/policy/funcs/checkAuth.d.ts +0 -4
  278. package/dist/server/plugins/policy/funcs/checkAuth.d.ts.map +0 -1
  279. package/dist/server/plugins/policy/funcs/checkAuth.js +0 -104
  280. package/dist/server/routes/access/controllers/access.resources.d.ts +0 -6
  281. package/dist/server/routes/access/controllers/access.resources.d.ts.map +0 -1
  282. package/dist/server/routes/access/controllers/access.resources.js +0 -14
  283. package/dist/server/routes/access/controllers/resources.d.ts +0 -11
  284. package/dist/server/routes/access/controllers/resources.d.ts.map +0 -1
  285. package/dist/server/routes/access/controllers/resources.js +0 -14
  286. package/dist/server/routes/access/functions/resources.d.ts +0 -6
  287. package/dist/server/routes/access/functions/resources.d.ts.map +0 -1
  288. package/dist/server/routes/access/functions/resources.js +0 -11
  289. package/dist/server/types/errors.d.ts +0 -14
  290. package/dist/server/types/errors.d.ts.map +0 -1
  291. package/dist/server/types/errors.js +0 -4
@@ -1 +1 @@
1
- {"version":3,"file":"errorMessage.d.ts","sourceRoot":"","sources":["../../../../server/plugins/logger/errorMessage.ts"],"names":[],"mappings":"AAQA,iBAAS,YAAY,CAAC,KAAK,EAAE,GAAG,OAsB/B;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"errorMessage.d.ts","sourceRoot":"","sources":["../../../../server/plugins/logger/errorMessage.ts"],"names":[],"mappings":"AAOA,iBAAS,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,OAuB/C;AAED,eAAe,YAAY,CAAC"}
@@ -1,27 +1,26 @@
1
1
  import config from "../../../config.js";
2
2
  import applyHookSync from "../hook/applyHookSync.js";
3
- import errorStatus from "./errorStatus.js";
4
3
  const defaultMessage = {
5
4
  602: "Порушення цілісності бази даних",
6
5
  };
7
- function errorMessage(error) {
6
+ function errorMessage(error, status) {
8
7
  const hook = applyHookSync("errorMessage", error);
9
8
  if (hook)
10
9
  return hook;
10
+ if (error.validation) {
11
+ return error.message;
12
+ }
11
13
  if (error.routine === "exec_stmt_raise" && error.file === "pl_exec.c") {
12
14
  return error.message;
13
15
  }
14
- // messgae status
15
- const status = errorStatus(error);
16
+ // message status
16
17
  if (config.errorMessage?.[status])
17
18
  return config.errorMessage[status.toString()];
18
- if (defaultMessage[status])
19
+ if (defaultMessage[status]) {
19
20
  return defaultMessage[status];
20
- if (error.statusCode && error.statusCode !== 500 && error.message) {
21
- return config.errorMessage?.[error.statusCode] || error.message;
22
21
  }
23
22
  return config.local
24
- ? error.toString()
23
+ ? error.message || error.toString()
25
24
  : config.errorMessage?.[500] || "ServerError";
26
25
  }
27
26
  export default errorMessage;
@@ -1 +1 @@
1
- {"version":3,"file":"errorStatus.d.ts","sourceRoot":"","sources":["../../../../server/plugins/logger/errorStatus.ts"],"names":[],"mappings":"AAEA,iBAAS,WAAW,CAAC,KAAK,EAAE,GAAG,OAe9B;AACD,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"errorStatus.d.ts","sourceRoot":"","sources":["../../../../server/plugins/logger/errorStatus.ts"],"names":[],"mappings":"AAEA,iBAAS,WAAW,CAAC,KAAK,EAAE,GAAG,OAuB9B;AACD,eAAe,WAAW,CAAC"}
@@ -3,6 +3,9 @@ function errorStatus(error) {
3
3
  const hook = applyHookSync("errorStatus", error);
4
4
  if (hook)
5
5
  return hook;
6
+ if (error.validation) {
7
+ return 422;
8
+ }
6
9
  if (error.routine === "exec_stmt_raise" && error.file === "pl_exec.c") {
7
10
  return 601;
8
11
  }
@@ -12,6 +15,9 @@ function errorStatus(error) {
12
15
  if (error.type === "DatabaseError") {
13
16
  return 600;
14
17
  }
18
+ if (error.statusCode) {
19
+ return error.statusCode;
20
+ }
15
21
  return 500;
16
22
  }
17
23
  export default errorStatus;
@@ -1,4 +1,4 @@
1
1
  import type { FastifyInstance } from "fastify";
2
- declare function plugin(fastify: FastifyInstance): Promise<void>;
3
- export default plugin;
2
+ declare function loggerPlugin(fastify: FastifyInstance): void;
3
+ export default loggerPlugin;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/plugins/logger/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;AAmD7E,iBAAe,MAAM,CAAC,OAAO,EAAE,eAAe,iBAwC7C;AACD,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/plugins/logger/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;AAyD7E,iBAAS,YAAY,CAAC,OAAO,EAAE,eAAe,QA+B7C;AACD,eAAe,YAAY,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import errorMessage from "./errorMessage.js";
2
+ import errorStatus from "./errorStatus.js";
2
3
  import logger from "./getLogger.js";
3
4
  import pgClients from "../pg/pgClients.js";
4
5
  // avoid process exit with exception on network changes: disconnect from db, internet altogether etc
@@ -33,43 +34,40 @@ process.on("unhandledRejection", (err) => {
33
34
  console.warn("Ignored fastify reply sent exception:", err.toString());
34
35
  return;
35
36
  }
37
+ if (err.message === "sorry, too many clients already") {
38
+ logger.file("pg", { error: err.message, stack: err.stack });
39
+ console.warn("Ignored pg pool sent exception:", err.toString());
40
+ return;
41
+ }
36
42
  logger.file("unhandledRejection", {
37
43
  error: err.toString(),
38
44
  stack: err.stack,
39
45
  });
40
46
  throw err;
41
47
  });
42
- async function plugin(fastify) {
48
+ function loggerPlugin(fastify) {
43
49
  fastify.addHook("onResponse", async (req, reply) => {
44
50
  if (reply?.statusCode && reply.statusCode >= 400) {
45
51
  logger.metrics(`error-count:${reply.statusCode}`);
46
52
  }
47
53
  });
48
54
  fastify.setErrorHandler(async (error, request, reply) => {
49
- // validation not error
50
- if (error.validation) {
51
- request.log.warn(request, {
52
- code: error?.code,
53
- status: 422,
54
- error: error.toString(),
55
- });
56
- return reply.status(422).send({ error: error.toString(), code: 422 });
57
- }
58
- // logger
59
- request.log.error(error, request);
55
+ logger.error(error, request);
60
56
  console.error({
61
57
  msg: error.message,
62
58
  where: error.where,
63
59
  stack: error.stack,
64
60
  });
65
- // errorMessage
66
- const msg = errorMessage(error);
67
- return reply
68
- .status(error.statusCode || 500)
69
- .send({ error: msg, code: error.statusCode || 500 });
61
+ const statusCode = errorStatus(error) || 500;
62
+ const message = errorMessage(error, statusCode);
63
+ return reply.status(statusCode).send({
64
+ message,
65
+ error: error.code || "INTERNAL_SERVER_ERROR",
66
+ statusCode,
67
+ });
70
68
  });
71
69
  fastify.addHook("onListen", async () => {
72
70
  logger.file("init", { db: pgClients.client?.options?.database });
73
71
  });
74
72
  }
75
- export default plugin;
73
+ export default loggerPlugin;
@@ -1 +1 @@
1
- {"version":3,"file":"getMeta.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/pg/funcs/getMeta.ts"],"names":[],"mappings":"AAKA,wBAA8B,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,gBAuE5D"}
1
+ {"version":3,"file":"getMeta.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/pg/funcs/getMeta.ts"],"names":[],"mappings":"AAMA,wBAA8B,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,gBAyE5D"}
@@ -1,10 +1,12 @@
1
1
  import init from "./init.js";
2
2
  import getPG from "./getPG.js";
3
+ import { BadRequestError } from "../../../../errors.js";
3
4
  const data = {};
4
5
  export default async function getMeta(opt, nocache) {
5
6
  const pg = opt?.pg || getPG({ name: "client" });
6
- if (!pg)
7
- return { error: "pg connection not established", status: 400 };
7
+ if (!pg) {
8
+ throw BadRequestError("pg client not found");
9
+ }
8
10
  // reconnect if at start of process connection was unavailable
9
11
  if (!pg.pk || nocache) {
10
12
  await init(pg);
@@ -15,7 +17,7 @@ export default async function getMeta(opt, nocache) {
15
17
  return data[pg.options.database][table];
16
18
  if (!pg?.tlist?.includes(table) &&
17
19
  !pg?.tlist?.includes(table?.replace?.(/"/g, ""))) {
18
- return { error: `${table} - not found`, status: 400 };
20
+ throw BadRequestError(`table not found: ${table}`);
19
21
  }
20
22
  const { fields = [] } = await pg.query(`select * from ${table} limit 0`);
21
23
  const pks1 = await pg
@@ -1,17 +1,8 @@
1
1
  import type { ExtendedRequest } from "../../../types/core.js";
2
2
  export default function checkJWT(req: ExtendedRequest): Promise<{
3
- error: string;
4
- code: number;
5
- token?: undefined;
6
- valid?: undefined;
7
- payload?: undefined;
8
- redirectURIs?: undefined;
9
- } | {
10
3
  token: any;
11
4
  valid: boolean;
12
5
  payload: any;
13
6
  redirectURIs: any;
14
- error?: undefined;
15
- code?: undefined;
16
7
  } | null>;
17
8
  //# sourceMappingURL=checkJWT.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkJWT.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/policy/funcs/checkJWT.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EAEhB,MAAM,wBAAwB,CAAC;AAMhC,wBAA8B,QAAQ,CAAC,GAAG,EAAE,eAAe;;;;;;;;;;;;;;UAoG1D"}
1
+ {"version":3,"file":"checkJWT.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/policy/funcs/checkJWT.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EAEhB,MAAM,wBAAwB,CAAC;AAOhC,wBAA8B,QAAQ,CAAC,GAAG,EAAE,eAAe;;;;;UAoG1D"}
@@ -1,6 +1,7 @@
1
1
  import getIP from "./getIP.js";
2
2
  import logger from "../../logger/getLogger.js";
3
3
  import { scryptVerify, verify } from "../../auth/funcs/jwt.js";
4
+ import { ForbiddenError, UnauthorizedError } from "../../../../errors.js";
4
5
  export default async function checkJWT(req) {
5
6
  const { originalUrl: path, headers, method, routeOptions, pg } = req;
6
7
  const ip = getIP(req);
@@ -28,10 +29,10 @@ export default async function checkJWT(req) {
28
29
  ip,
29
30
  uid: user?.uid,
30
31
  });
31
- return { error: "unauthorized", code: 401 };
32
+ throw UnauthorizedError("unaothorized");
32
33
  }
33
34
  if (!pg) {
34
- return { error: "empty pg", code: 400 };
35
+ throw new Error("empty pg");
35
36
  }
36
37
  const { clientId, tokenHash, isRevoked, isExpired } = await pg
37
38
  .query('select client_id as "clientId", token_hash as "tokenHash", revoked_at is not null as "isRevoked", expires_at <= now() as "isExpired" from oauth.tokens where ip=$1 and token_hint=$2', [ip, jwtToken.slice(-6)])
@@ -45,7 +46,7 @@ export default async function checkJWT(req) {
45
46
  jwtToken: jwtToken.slice(-6),
46
47
  uid: user?.uid,
47
48
  });
48
- return { error: "forbidden", code: 403 };
49
+ throw ForbiddenError("forbidden");
49
50
  }
50
51
  const isValid = await scryptVerify(tokenHash || "", jwtToken);
51
52
  if (requireJWT && !isValid) {
@@ -57,7 +58,7 @@ export default async function checkJWT(req) {
57
58
  clientId,
58
59
  uid: user?.uid,
59
60
  });
60
- return { error: "forbidden", code: 403 };
61
+ throw ForbiddenError("forbidden");
61
62
  }
62
63
  const q = `select client_secret_hash as "secret", redirect_uris as "redirectURIs" from oauth.clients where client_id=$1 and token_endpoint_auth_method=$2`;
63
64
  const { secret, redirectURIs } = pg?.pk?.["oauth.clients"]
@@ -76,7 +77,7 @@ export default async function checkJWT(req) {
76
77
  clientId,
77
78
  uid: user?.uid,
78
79
  });
79
- return { error: "forbidden", code: 403 };
80
+ throw ForbiddenError("forbidden");
80
81
  }
81
82
  return { token: jwtToken, valid: true, payload, redirectURIs };
82
83
  }
@@ -1,6 +1,3 @@
1
1
  import type { ExtendedRequest } from "../../../types/core.js";
2
- export default function checkPermissions(req: ExtendedRequest): Promise<{
3
- error: string;
4
- code: number;
5
- } | null>;
2
+ export default function checkPermissions(req: ExtendedRequest): Promise<null>;
6
3
  //# sourceMappingURL=checkPermissions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkPermissions.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/policy/funcs/checkPermissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EAEhB,MAAM,wBAAwB,CAAC;AAMhC,wBAA8B,gBAAgB,CAAC,GAAG,EAAE,eAAe;;;UA4DlE"}
1
+ {"version":3,"file":"checkPermissions.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/policy/funcs/checkPermissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EAEhB,MAAM,wBAAwB,CAAC;AAOhC,wBAA8B,gBAAgB,CAAC,GAAG,EAAE,eAAe,iBA4DlE"}
@@ -1,6 +1,7 @@
1
1
  import logger from "../../logger/getLogger.js";
2
2
  import getUserPermissions from "../../access/funcs/getUserPermissions.js";
3
3
  import pgClients from "../../pg/pgClients.js";
4
+ import { ForbiddenError } from "../../../../errors.js";
4
5
  export default async function checkPermissions(req) {
5
6
  const { originalUrl: path, query, params, method, routeOptions, pg = pgClients.client, } = req;
6
7
  const user = req.user || req.session?.passport?.user;
@@ -28,7 +29,7 @@ export default async function checkPermissions(req) {
28
29
  message: "access restricted: permissions",
29
30
  uid: user?.uid,
30
31
  });
31
- return { error: "access restricted: permissions", code: 403 };
32
+ throw ForbiddenError("access restricted: permissions");
32
33
  }
33
34
  return null;
34
35
  }
@@ -1,6 +1,3 @@
1
1
  import type { ExtendedRequest } from "../../../types/core.js";
2
- export default function checkPolicy(req: ExtendedRequest, jwt?: any): {
3
- error: string;
4
- code: number;
5
- } | null;
2
+ export default function checkPolicy(req: ExtendedRequest, jwt?: any): null;
6
3
  //# sourceMappingURL=checkPolicy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkPolicy.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/policy/funcs/checkPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EAEhB,MAAM,wBAAwB,CAAC;AAKhC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,CAAC,EAAE,GAAG;;;SAqKlE"}
1
+ {"version":3,"file":"checkPolicy.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/policy/funcs/checkPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EAEhB,MAAM,wBAAwB,CAAC;AAMhC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,CAAC,EAAE,GAAG,QAqKlE"}
@@ -1,4 +1,5 @@
1
1
  import { config, logger } from "../../../../utils.js";
2
+ import { ConflictError, ForbiddenError } from "../../../../errors.js";
2
3
  import block from "../sqlInjection.js";
3
4
  export default function checkPolicy(req, jwt) {
4
5
  const { originalUrl: path, hostname, query, params, headers, method, routeOptions, } = req;
@@ -31,7 +32,7 @@ export default function checkPolicy(req, jwt) {
31
32
  method,
32
33
  userRole: user.user_type,
33
34
  });
34
- return { error: "access restricted: 0", code: 403 };
35
+ throw ForbiddenError("access restricted: 0");
35
36
  }
36
37
  // ! role
37
38
  if (isRole) {
@@ -45,7 +46,7 @@ export default function checkPolicy(req, jwt) {
45
46
  body,
46
47
  uid: user?.uid,
47
48
  });
48
- return { error: "access restricted: 0", code: 403 };
49
+ throw ForbiddenError("access restricted: 0");
49
50
  }
50
51
  // ! file injection
51
52
  if (JSON.stringify(params || {})?.includes("../") ||
@@ -59,7 +60,7 @@ export default function checkPolicy(req, jwt) {
59
60
  body,
60
61
  uid: user?.uid,
61
62
  });
62
- return { error: "access restricted: 1", code: 409 };
63
+ throw ConflictError("access restricted: 1");
63
64
  }
64
65
  // ! invalid file extension
65
66
  if (path.includes("files/") && allowExtPublic.includes(ext)) {
@@ -77,7 +78,7 @@ export default function checkPolicy(req, jwt) {
77
78
  stopWords,
78
79
  uid: user?.uid,
79
80
  });
80
- return { error: "access restricted: 2", code: 409 };
81
+ throw ConflictError("access restricted: 2");
81
82
  }
82
83
  // ! user required, but not logged in
83
84
  if (requireUser && !user && !jwt?.valid) {
@@ -88,7 +89,7 @@ export default function checkPolicy(req, jwt) {
88
89
  query,
89
90
  body,
90
91
  });
91
- return { error: "access restricted: 3", code: 401 };
92
+ throw ForbiddenError("access restricted: 3");
92
93
  }
93
94
  // ! referer
94
95
  if (requireReferer && !headers?.referer?.includes?.(hostname)) {
@@ -100,7 +101,7 @@ export default function checkPolicy(req, jwt) {
100
101
  body,
101
102
  uid: user?.uid,
102
103
  });
103
- return { error: "access restricted: 4", code: 403 };
104
+ throw ForbiddenError("access restricted: 4");
104
105
  }
105
106
  // ! public / token
106
107
  if (isPublic || config.debug) {
@@ -121,7 +122,7 @@ export default function checkPolicy(req, jwt) {
121
122
  message: "access restricted: 6",
122
123
  uid: user?.uid,
123
124
  });
124
- return { error: "access restricted: 6", code: 403 };
125
+ throw ForbiddenError("access restricted: 6");
125
126
  }
126
127
  return null;
127
128
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/plugins/policy/index.ts"],"names":[],"mappings":"AAMA,iBAAS,MAAM,CAAC,OAAO,EAAE,GAAG,QAqC3B;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/plugins/policy/index.ts"],"names":[],"mappings":"AAMA,iBAAS,MAAM,CAAC,OAAO,EAAE,GAAG,QA6B3B;AAED,eAAe,MAAM,CAAC"}
@@ -19,18 +19,9 @@ function plugin(fastify) {
19
19
  if (!isApi) {
20
20
  return null;
21
21
  }
22
- const resp1 = await checkPermissions(request);
23
- if (resp1) {
24
- return reply.status(resp1.code || 403).send(resp1);
25
- }
22
+ await checkPermissions(request);
26
23
  const jwt = await checkJWT(request);
27
- if (!jwt?.valid && jwt?.code) {
28
- return reply.status(jwt.code).send(jwt);
29
- }
30
- const resp = checkPolicy(request, jwt);
31
- if (resp) {
32
- return reply.status(resp.code || 403).send(resp);
33
- }
24
+ checkPolicy(request, jwt);
34
25
  return null;
35
26
  });
36
27
  }
@@ -13,28 +13,14 @@ export default function getFilterSQL({ table, filter, pg, search, searchColumn:
13
13
  objectId?: string;
14
14
  order?: string;
15
15
  }): Promise<{
16
- error: string;
17
- status: number;
18
- filterList?: undefined;
19
- filters?: undefined;
20
- q?: undefined;
21
- optimizedSQL?: undefined;
22
- sqlTable?: undefined;
23
- extraSqlColumns?: undefined;
24
- tableCount?: undefined;
25
- table?: undefined;
26
- searchQuery?: undefined;
27
- } | {
28
16
  filterList: any[] | undefined;
29
17
  filters: any;
30
18
  q: string;
31
19
  optimizedSQL: string;
32
20
  sqlTable: any;
33
- extraSqlColumns: string | undefined;
21
+ extraSqlColumns: string | null;
34
22
  tableCount: string;
35
23
  table: any;
36
24
  searchQuery: string;
37
- error?: undefined;
38
- status?: undefined;
39
25
  }>;
40
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../server/plugins/table/funcs/getFilterSQL/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAuC5D,wBAA8B,YAAY,CAAC,EACzC,KAAK,EACL,MAAM,EACN,EAAqB,EACrB,MAAM,EACN,YAAY,EAAE,aAAa,EAC3B,UAAU,EACV,KAAK,EACL,MAAM,EACN,KAAK,EACL,GAAG,EACH,QAAQ,EACR,KAAK,GACN,EAAE;IACD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,UAAU,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;;;;;;;;;;;;;;;;;;;;;;;;GAwRA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../server/plugins/table/funcs/getFilterSQL/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAyC5D,wBAA8B,YAAY,CAAC,EACzC,KAAK,EACL,MAAM,EACN,EAAqB,EACrB,MAAM,EACN,YAAY,EAAE,aAAa,EAC3B,UAAU,EACV,KAAK,EACL,MAAM,EACN,KAAK,EACL,GAAG,EACH,QAAQ,EACR,KAAK,GACN,EAAE;IACD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,UAAU,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;;;;;;;;;;GA0RA"}
@@ -1,3 +1,4 @@
1
+ import { BadRequestError } from "../../../../../errors.js";
1
2
  import getTemplate from "../getTemplate.js";
2
3
  import getSelect from "../getSelect.js";
3
4
  import pgClients from "../../../pg/pgClients.js";
@@ -23,8 +24,9 @@ function getExtraQuery(mainColumns, schema, table, pk) {
23
24
  };
24
25
  }
25
26
  export default async function getFilterSQL({ table, filter, pg = pgClients.client, search, searchColumn: searchColumn1, filterList, query, custom, state, uid, objectId, order, }) {
26
- if (!table)
27
- return { error: "param table is required", status: 400 };
27
+ if (!table) {
28
+ throw BadRequestError("param table is required");
29
+ }
28
30
  const body = await getTemplate("table", table);
29
31
  const loadTemplate = body?.form
30
32
  ? await getTemplate("form", body?.form)
@@ -42,7 +44,7 @@ export default async function getFilterSQL({ table, filter, pg = pgClients.clien
42
44
  : {};
43
45
  const { q: extraSqlColumns, extraColumns = [] } = extraDataTable && pg.pk?.[extraDataTable] && pg.pk?.[body.table || table]
44
46
  ? getExtraQuery(fieldsModel, loadTemplate?.schema, extraDataTable, pg.pk[body.table || table])
45
- : {};
47
+ : { q: null };
46
48
  // console.log('extra getFilterSQL', extraDataTable, pg.pk?.[extraDataTable]);
47
49
  // check sql inline fields count
48
50
  if (body?.table && !checkInline[body?.table] && body?.sql?.length) {
@@ -147,7 +149,7 @@ export default async function getFilterSQL({ table, filter, pg = pgClients.clien
147
149
  column?.split?.("?")?.pop?.(),
148
150
  pg,
149
151
  })) || {}
150
- : {};
152
+ : { arr: null, original: null };
151
153
  const arr1 = arr ||
152
154
  (original && pg?.queryCache
153
155
  ? await pg
@@ -10,36 +10,14 @@ export default function gisIRColumn({ pg, layer, column, sql, query, filter, sta
10
10
  search?: string;
11
11
  custom?: string;
12
12
  }): Promise<string | {
13
- error: string;
14
- status: number;
15
- message?: undefined;
16
- count?: undefined;
17
- sql?: undefined;
18
- rows?: undefined;
19
- time?: undefined;
20
- } | {
21
- status: number;
22
- message: string;
23
- error?: undefined;
24
- count?: undefined;
25
- sql?: undefined;
26
- rows?: undefined;
27
- time?: undefined;
28
- } | {
29
13
  count: any;
30
14
  sql: string | undefined;
31
15
  rows: any;
32
- error?: undefined;
33
- status?: undefined;
34
- message?: undefined;
35
16
  time?: undefined;
36
17
  } | {
37
18
  time: number;
38
19
  count: any;
39
20
  sql: string | undefined;
40
21
  rows: any;
41
- error?: undefined;
42
- status?: undefined;
43
- message?: undefined;
44
22
  }>;
45
23
  //# sourceMappingURL=gisIRColumn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gisIRColumn.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/table/funcs/gisIRColumn.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,wBAA8B,WAAW,CAAC,EACxC,EAAqB,EACrB,KAAK,EACL,MAAM,EACN,GAAG,EACH,KAAU,EACV,MAAM,EACN,KAAK,EACL,MAAM,EACN,MAAM,GACP,EAAE;IACD,EAAE,EAAE,UAAU,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkGA"}
1
+ {"version":3,"file":"gisIRColumn.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/table/funcs/gisIRColumn.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,wBAA8B,WAAW,CAAC,EACxC,EAAqB,EACrB,KAAK,EACL,MAAM,EACN,GAAG,EACH,KAAU,EACV,MAAM,EACN,KAAK,EACL,MAAM,EACN,MAAM,GACP,EAAE;IACD,EAAE,EAAE,UAAU,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;;;;;;;;;;GAqGA"}
@@ -4,6 +4,7 @@ import getTemplate from "./getTemplate.js";
4
4
  import pgClients from "../../pg/pgClients.js";
5
5
  import config from "../../../../config.js";
6
6
  import getSelectVal from "./metaFormat/getSelectVal.js";
7
+ import { BadRequestError } from "../../../../errors.js";
7
8
  export default async function gisIRColumn({ pg = pgClients.client, layer, column, sql, query = {}, filter, state, search, custom, }) {
8
9
  const time = Date.now();
9
10
  const sel = await getSelect(query.cls || column, pg);
@@ -22,12 +23,13 @@ export default async function gisIRColumn({ pg = pgClients.client, layer, column
22
23
  .then((el) => el.rows?.[0] || {});
23
24
  const tableName = body?.table || layer;
24
25
  if (!tlist.includes(tableName))
25
- return { error: `table not found: ${tableName}`, status: 400 };
26
+ throw BadRequestError(`table not found: ${tableName}`);
26
27
  // eslint-disable-next-line max-len
27
28
  const { fields } = await pg.query(`select * from (${fData?.optimizedSQL || `select * from ${tableName}`})q limit 0`);
28
29
  const col = fields.find((el) => el.name === column);
29
- if (!col)
30
- return { status: 404, message: "not found" };
30
+ if (!col) {
31
+ throw BadRequestError(`column not found: ${column}`);
32
+ }
31
33
  const colField = pg.pgType?.[col.dataTypeID]?.includes("[]")
32
34
  ? `unnest(${column})`
33
35
  : column;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/plugins/upload/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAW1C,eAAO,MAAM,cAAc,QAE1B,CAAC;AAEF,eAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AAErD,eAAO,MAAM,OAAO,QAEE,CAAC;AAEvB,eAAO,MAAM,OAAO,QAA4B,CAAC;AAKjD,iBAAS,mBAAmB,CAAC,GAAG,EAAE,eAAe,QAIhD;AAED,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/plugins/upload/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAW1C,eAAO,MAAM,cAAc,QAE1B,CAAC;AAEF,eAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AAErD,eAAO,MAAM,OAAO,QAEE,CAAC;AAEvB,eAAO,MAAM,OAAO,QAA4B,CAAC;AAOjD,iBAAS,mBAAmB,CAAC,GAAG,EAAE,eAAe,QAWhD;AAED,eAAe,mBAAmB,CAAC"}
@@ -10,11 +10,18 @@ export const fileDir = path
10
10
  .join(rootDir, uploadChunkDirectory)
11
11
  .replace(/\\/g, "/");
12
12
  export const metaDir = path.join(fileDir, "tmp");
13
+ // import { close, cleanupMultipartUploads } from "./s3minio.js";
13
14
  import { cleanupNonRedisUploads } from "./s3.js";
15
+ // import addCron from "../cron/funcs/addCron.js";
14
16
  // w/ out redis - chunked uploads are non-resumable in order to avoid unclosed multiparts (non-discoverable via s3 commands with current version of minio)
15
17
  function chunkedUploadPlugin(app) {
18
+ // addCron(cleanupMultipartUploads, 60 * 5);
16
19
  app.addHook("onClose", async () => {
17
20
  await cleanupNonRedisUploads();
21
+ // await cleanupMultipartUploads().catch((err) =>
22
+ // console.error("minio upload plugin onClose cleanUp error", err.toString())
23
+ // );
24
+ // close();
18
25
  });
19
26
  }
20
27
  export default chunkedUploadPlugin;
@@ -38,6 +38,12 @@ export declare function startUpload({ Bucket, Key, ContentType, fileSize, }: {
38
38
  ContentType?: undefined;
39
39
  cache?: undefined;
40
40
  }>;
41
+ export declare function savePart(id: string, part: {
42
+ ETag: string;
43
+ PartNumber: number;
44
+ }): Promise<void>;
45
+ export declare function getStoredParts(id: string): Promise<any[]>;
46
+ export declare function deleteUploadParts(id: string): Promise<void>;
41
47
  export declare function uploadChunk({ id, chunk, partNumber, }: {
42
48
  id: string;
43
49
  chunk: any;
@@ -55,7 +61,7 @@ export declare function finishUpload({ id, }: {
55
61
  id: string;
56
62
  }, s3?: any): Promise<{
57
63
  finished: boolean;
58
- uploaded: any;
64
+ uploaded: number | undefined;
59
65
  filepath: any;
60
66
  }>;
61
67
  export declare function abortUpload({ id, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../../../server/plugins/upload/s3.ts"],"names":[],"mappings":"AAiGA,wBAAsB,sBAAsB,CAAC,EAAE,MAAW,iBAwCzD;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,GAAG,EACT,GAAG,SAAqB,iBAazB;AAED,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,MAAM,EACV,GAAG,SAAqB,EACxB,EAAE,MAAW,iBAsBd;AAED,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,iBA0B9D;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,gBAQ7C;AAED,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,gBAMrD;AAED,wBAAsB,mBAAmB,CAAC,EAAE,MAAW,iBAyEtD;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,MAAW;;;;;;;;GAsCrE;AAKD,wBAAsB,WAAW,CAC/B,EACE,MAAM,EACN,GAAG,EACH,WAAW,EACX,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,EACD,EAAE,MAAW;;;;;;;;;;;;;;;;GAsDd;AAED,wBAAsB,WAAW,CAC/B,EACE,EAAE,EACF,KAAK,EACL,UAAU,GACX,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACpB,EACD,EAAE,MAAW;;;;;;;;GA0Bd;AAED,wBAAsB,YAAY,CAChC,EACE,EAAE,GACH,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;CACZ,EACD,EAAE,MAAW;;;;GAuCd;AAED,wBAAsB,WAAW,CAC/B,EACE,EAAE,GACH,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;CACZ,EACD,EAAE,MAAW;;GAwBd;AAED,wBAAsB,eAAe,CACnC,EACE,EAAE,EACF,GAAG,EACH,MAAM,GACP,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,EACD,EAAE,MAAW;;;;;;;;;;;;;;GAoEd"}
1
+ {"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../../../server/plugins/upload/s3.ts"],"names":[],"mappings":"AAiGA,wBAAsB,sBAAsB,CAAC,EAAE,MAAW,iBAwCzD;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,GAAG,EACT,GAAG,SAAqB,iBAazB;AAED,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,MAAM,EACV,GAAG,SAAqB,EACxB,EAAE,MAAW,iBAsBd;AAED,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,iBA2B9D;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,gBAQ7C;AAED,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,gBAMrD;AAED,wBAAsB,mBAAmB,CAAC,EAAE,MAAW,iBAyEtD;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,MAAW;;;;;;;;GAsCrE;AAKD,wBAAsB,WAAW,CAC/B,EACE,MAAM,EACN,GAAG,EACH,WAAW,EACX,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,EACD,EAAE,MAAW;;;;;;;;;;;;;;;;GAsDd;AASD,wBAAsB,QAAQ,CAC5B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB,iBAwBF;AAED,wBAAsB,cAAc,CAAC,EAAE,EAAE,MAAM,kBAY9C;AAED,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,MAAM,iBAQjD;AAED,wBAAsB,WAAW,CAC/B,EACE,EAAE,EACF,KAAK,EACL,UAAU,GACX,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACpB,EACD,EAAE,MAAW;;;;;;;;GA+Bd;AAED,wBAAsB,YAAY,CAChC,EACE,EAAE,GACH,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;CACZ,EACD,EAAE,MAAW;;;;GA2Cd;AAED,wBAAsB,WAAW,CAC/B,EACE,EAAE,GACH,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;CACZ,EACD,EAAE,MAAW;;GAwBd;AAED,wBAAsB,eAAe,CACnC,EACE,EAAE,EACF,GAAG,EACH,MAAM,GACP,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,EACD,EAAE,MAAW;;;;;;;;;;;;;;GAqEd"}