@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.
- package/dist/errors.d.ts +38 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -9
- package/dist/server/plugins/access/funcs/getAdminAccess.d.ts +1 -4
- package/dist/server/plugins/access/funcs/getAdminAccess.d.ts.map +1 -1
- package/dist/server/plugins/access/funcs/getAdminAccess.js +3 -2
- package/dist/server/plugins/auth/funcs/getQuery.d.ts.map +1 -1
- package/dist/server/plugins/auth/funcs/getQuery.js +2 -1
- package/dist/server/plugins/auth/funcs/loginFile.d.ts +1 -4
- package/dist/server/plugins/auth/funcs/loginFile.d.ts.map +1 -1
- package/dist/server/plugins/auth/funcs/loginFile.js +10 -5
- package/dist/server/plugins/auth/funcs/loginUser.d.ts.map +1 -1
- package/dist/server/plugins/auth/funcs/loginUser.js +25 -18
- package/dist/server/plugins/auth/index.d.ts.map +1 -1
- package/dist/server/plugins/auth/index.js +3 -4
- package/dist/server/plugins/crud/funcs/dataInsert.js +1 -1
- package/dist/server/plugins/extra/extraData.d.ts.map +1 -1
- package/dist/server/plugins/extra/extraData.js +3 -2
- package/dist/server/plugins/extra/extraDataGet.d.ts +1 -4
- package/dist/server/plugins/extra/extraDataGet.d.ts.map +1 -1
- package/dist/server/plugins/extra/extraDataGet.js +4 -6
- package/dist/server/plugins/file/uploadMultiPart.js +1 -1
- package/dist/server/plugins/grpc/utils/html2doc.d.ts +0 -6
- package/dist/server/plugins/grpc/utils/html2doc.d.ts.map +1 -1
- package/dist/server/plugins/grpc/utils/html2doc.js +3 -8
- package/dist/server/plugins/grpc/utils/html2img.d.ts +0 -6
- package/dist/server/plugins/grpc/utils/html2img.d.ts.map +1 -1
- package/dist/server/plugins/grpc/utils/html2img.js +3 -8
- package/dist/server/plugins/grpc/utils/html2pdf.d.ts +0 -6
- package/dist/server/plugins/grpc/utils/html2pdf.d.ts.map +1 -1
- package/dist/server/plugins/grpc/utils/html2pdf.js +7 -12
- package/dist/server/plugins/grpc/utils/mergePdf.d.ts +0 -7
- package/dist/server/plugins/grpc/utils/mergePdf.d.ts.map +1 -1
- package/dist/server/plugins/grpc/utils/mergePdf.js +4 -9
- package/dist/server/plugins/logger/checkUserAccess.d.ts +1 -4
- package/dist/server/plugins/logger/checkUserAccess.d.ts.map +1 -1
- package/dist/server/plugins/logger/checkUserAccess.js +4 -6
- package/dist/server/plugins/logger/errorMessage.d.ts +1 -1
- package/dist/server/plugins/logger/errorMessage.d.ts.map +1 -1
- package/dist/server/plugins/logger/errorMessage.js +7 -8
- package/dist/server/plugins/logger/errorStatus.d.ts.map +1 -1
- package/dist/server/plugins/logger/errorStatus.js +6 -0
- package/dist/server/plugins/logger/index.d.ts +2 -2
- package/dist/server/plugins/logger/index.d.ts.map +1 -1
- package/dist/server/plugins/logger/index.js +16 -18
- package/dist/server/plugins/pg/funcs/getMeta.d.ts.map +1 -1
- package/dist/server/plugins/pg/funcs/getMeta.js +5 -3
- package/dist/server/plugins/policy/funcs/checkJWT.d.ts +0 -9
- package/dist/server/plugins/policy/funcs/checkJWT.d.ts.map +1 -1
- package/dist/server/plugins/policy/funcs/checkJWT.js +6 -5
- package/dist/server/plugins/policy/funcs/checkPermissions.d.ts +1 -4
- package/dist/server/plugins/policy/funcs/checkPermissions.d.ts.map +1 -1
- package/dist/server/plugins/policy/funcs/checkPermissions.js +2 -1
- package/dist/server/plugins/policy/funcs/checkPolicy.d.ts +1 -4
- package/dist/server/plugins/policy/funcs/checkPolicy.d.ts.map +1 -1
- package/dist/server/plugins/policy/funcs/checkPolicy.js +8 -7
- package/dist/server/plugins/policy/index.d.ts.map +1 -1
- package/dist/server/plugins/policy/index.js +2 -11
- package/dist/server/plugins/table/funcs/getFilterSQL/index.d.ts +1 -15
- package/dist/server/plugins/table/funcs/getFilterSQL/index.d.ts.map +1 -1
- package/dist/server/plugins/table/funcs/getFilterSQL/index.js +6 -4
- package/dist/server/plugins/table/funcs/gisIRColumn.d.ts +0 -22
- package/dist/server/plugins/table/funcs/gisIRColumn.d.ts.map +1 -1
- package/dist/server/plugins/table/funcs/gisIRColumn.js +5 -3
- package/dist/server/plugins/upload/index.d.ts.map +1 -1
- package/dist/server/plugins/upload/index.js +7 -0
- package/dist/server/plugins/upload/s3.d.ts +7 -1
- package/dist/server/plugins/upload/s3.d.ts.map +1 -1
- package/dist/server/plugins/upload/s3.js +54 -10
- package/dist/server/plugins/upload/s3minio.d.ts +59 -0
- package/dist/server/plugins/upload/s3minio.d.ts.map +1 -0
- package/dist/server/plugins/upload/s3minio.js +199 -0
- package/dist/server/plugins/upload/startUpload.d.ts.map +1 -1
- package/dist/server/plugins/upload/startUpload.js +16 -8
- package/dist/server/plugins/upload/uploadChunk.d.ts.map +1 -1
- package/dist/server/plugins/upload/uploadChunk.js +14 -9
- package/dist/server/plugins/usercls/index.js +1 -1
- package/dist/server/routes/access/controllers/access.group.d.ts.map +1 -1
- package/dist/server/routes/access/controllers/access.group.js +3 -5
- package/dist/server/routes/access/controllers/access.group.post.d.ts.map +1 -1
- package/dist/server/routes/access/controllers/access.group.post.js +3 -5
- package/dist/server/routes/access/controllers/access.interface.d.ts.map +1 -1
- package/dist/server/routes/access/controllers/access.interface.js +1 -4
- package/dist/server/routes/access/controllers/access.user.d.ts +5 -1
- package/dist/server/routes/access/controllers/access.user.d.ts.map +1 -1
- package/dist/server/routes/access/controllers/access.user.js +4 -5
- package/dist/server/routes/access/controllers/access.user.post.d.ts.map +1 -1
- package/dist/server/routes/access/controllers/access.user.post.js +4 -5
- package/dist/server/routes/access/index.d.ts.map +1 -1
- package/dist/server/routes/access/index.js +10 -6
- package/dist/server/routes/auth/controllers/2factor/providers/totp.d.ts.map +1 -1
- package/dist/server/routes/auth/controllers/2factor/providers/totp.js +4 -3
- package/dist/server/routes/auth/controllers/2factor/qrcode.d.ts.map +1 -1
- package/dist/server/routes/auth/controllers/2factor/qrcode.js +6 -10
- package/dist/server/routes/auth/controllers/2factor/recovery.d.ts.map +1 -1
- package/dist/server/routes/auth/controllers/2factor/recovery.js +14 -23
- package/dist/server/routes/auth/controllers/2factor/reset.d.ts.map +1 -1
- package/dist/server/routes/auth/controllers/2factor/reset.js +3 -5
- package/dist/server/routes/auth/controllers/2factor/verify.d.ts.map +1 -1
- package/dist/server/routes/auth/controllers/2factor/verify.js +30 -43
- package/dist/server/routes/auth/controllers/core/login.d.ts +1 -4
- package/dist/server/routes/auth/controllers/core/login.d.ts.map +1 -1
- package/dist/server/routes/auth/controllers/core/passwordRecovery.d.ts.map +1 -1
- package/dist/server/routes/auth/controllers/core/passwordRecovery.js +7 -8
- package/dist/server/routes/auth/controllers/core/registration.d.ts +1 -4
- package/dist/server/routes/auth/controllers/core/registration.d.ts.map +1 -1
- package/dist/server/routes/auth/controllers/core/registration.js +10 -24
- package/dist/server/routes/auth/controllers/core/updateUserInfo.d.ts +1 -2
- package/dist/server/routes/auth/controllers/core/updateUserInfo.d.ts.map +1 -1
- package/dist/server/routes/auth/controllers/core/updateUserInfo.js +3 -2
- package/dist/server/routes/auth/controllers/euSign/authByData.d.ts.map +1 -1
- package/dist/server/routes/auth/controllers/euSign/authByData.js +4 -7
- package/dist/server/routes/auth/controllers/jwt/authorize.d.ts.map +1 -1
- package/dist/server/routes/auth/controllers/jwt/authorize.js +6 -9
- package/dist/server/routes/auth/controllers/jwt/token.d.ts.map +1 -1
- package/dist/server/routes/auth/controllers/jwt/token.js +9 -12
- package/dist/server/routes/auth/controllers/page/login2faTemplate.d.ts.map +1 -1
- package/dist/server/routes/auth/controllers/page/login2faTemplate.js +3 -2
- package/dist/server/routes/auth/index.d.ts +1 -2
- package/dist/server/routes/auth/index.d.ts.map +1 -1
- package/dist/server/routes/auth/index.js +4 -3
- package/dist/server/routes/cron/controllers/cronApi.d.ts.map +1 -1
- package/dist/server/routes/cron/controllers/cronApi.js +3 -4
- package/dist/server/routes/cron/index.js +1 -1
- package/dist/server/routes/crud/controllers/deleteCrud.d.ts.map +1 -1
- package/dist/server/routes/crud/controllers/deleteCrud.js +11 -33
- package/dist/server/routes/crud/controllers/insert.d.ts +1 -1
- package/dist/server/routes/crud/controllers/insert.d.ts.map +1 -1
- package/dist/server/routes/crud/controllers/insert.js +17 -31
- package/dist/server/routes/crud/controllers/table.d.ts.map +1 -1
- package/dist/server/routes/crud/controllers/table.js +14 -18
- package/dist/server/routes/crud/controllers/update.d.ts.map +1 -1
- package/dist/server/routes/crud/controllers/update.js +16 -28
- package/dist/server/routes/crud/index.d.ts.map +1 -1
- package/dist/server/routes/crud/index.js +14 -4
- package/dist/server/routes/dblist/controllers/setItem.d.ts +0 -6
- package/dist/server/routes/dblist/controllers/setItem.d.ts.map +1 -1
- package/dist/server/routes/dblist/controllers/setItem.js +3 -2
- package/dist/server/routes/dblist/index.d.ts.map +1 -1
- package/dist/server/routes/dblist/index.js +5 -3
- package/dist/server/routes/file/controllers/delete.d.ts +4 -1
- package/dist/server/routes/file/controllers/delete.d.ts.map +1 -1
- package/dist/server/routes/file/controllers/delete.js +8 -8
- package/dist/server/routes/file/controllers/download.d.ts.map +1 -1
- package/dist/server/routes/file/controllers/download.js +5 -8
- package/dist/server/routes/file/controllers/export.d.ts.map +1 -1
- package/dist/server/routes/file/controllers/export.js +8 -8
- package/dist/server/routes/file/controllers/files.d.ts.map +1 -1
- package/dist/server/routes/file/controllers/files.js +6 -8
- package/dist/server/routes/file/controllers/resize.d.ts.map +1 -1
- package/dist/server/routes/file/controllers/resize.js +4 -12
- package/dist/server/routes/file/index.d.ts.map +1 -1
- package/dist/server/routes/file/index.js +10 -7
- package/dist/server/routes/grpc/controllers/file2geojson.d.ts.map +1 -1
- package/dist/server/routes/grpc/controllers/file2geojson.js +7 -7
- package/dist/server/routes/grpc/controllers/filePreview.d.ts.map +1 -1
- package/dist/server/routes/grpc/controllers/filePreview.js +5 -4
- package/dist/server/routes/grpc/index.d.ts.map +1 -1
- package/dist/server/routes/grpc/index.js +3 -2
- package/dist/server/routes/logger/controllers/logger.file.d.ts +1 -1
- package/dist/server/routes/logger/controllers/logger.file.d.ts.map +1 -1
- package/dist/server/routes/logger/controllers/logger.file.js +4 -5
- package/dist/server/routes/logger/controllers/logger.metrics.d.ts.map +1 -1
- package/dist/server/routes/logger/controllers/logger.metrics.js +1 -4
- package/dist/server/routes/logger/index.d.ts.map +1 -1
- package/dist/server/routes/logger/index.js +4 -2
- package/dist/server/routes/menu/controllers/getMenu.d.ts.map +1 -1
- package/dist/server/routes/menu/controllers/getMenu.js +2 -1
- package/dist/server/routes/menu/index.d.ts.map +1 -1
- package/dist/server/routes/menu/index.js +9 -2
- package/dist/server/routes/notifications/controllers/addUserNotification.d.ts +1 -2
- package/dist/server/routes/notifications/controllers/addUserNotification.d.ts.map +1 -1
- package/dist/server/routes/notifications/controllers/addUserNotification.js +5 -6
- package/dist/server/routes/notifications/controllers/deleteUserNotification.d.ts +1 -2
- package/dist/server/routes/notifications/controllers/deleteUserNotification.d.ts.map +1 -1
- package/dist/server/routes/notifications/controllers/deleteUserNotification.js +5 -6
- package/dist/server/routes/notifications/controllers/editUserNotification.d.ts +1 -2
- package/dist/server/routes/notifications/controllers/editUserNotification.d.ts.map +1 -1
- package/dist/server/routes/notifications/controllers/editUserNotification.js +6 -9
- package/dist/server/routes/notifications/controllers/readNotifications.d.ts +4 -2
- package/dist/server/routes/notifications/controllers/readNotifications.d.ts.map +1 -1
- package/dist/server/routes/notifications/controllers/readNotifications.js +4 -3
- package/dist/server/routes/notifications/controllers/userNotifications.d.ts +5 -2
- package/dist/server/routes/notifications/controllers/userNotifications.d.ts.map +1 -1
- package/dist/server/routes/notifications/controllers/userNotifications.js +4 -5
- package/dist/server/routes/notifications/index.d.ts +1 -2
- package/dist/server/routes/notifications/index.d.ts.map +1 -1
- package/dist/server/routes/notifications/index.js +3 -1
- package/dist/server/routes/properties/controllers/properties.get.d.ts +5 -2
- package/dist/server/routes/properties/controllers/properties.get.d.ts.map +1 -1
- package/dist/server/routes/properties/controllers/properties.get.js +6 -5
- package/dist/server/routes/properties/controllers/properties.post.d.ts +1 -1
- package/dist/server/routes/properties/controllers/properties.post.d.ts.map +1 -1
- package/dist/server/routes/properties/controllers/properties.post.js +7 -6
- package/dist/server/routes/properties/index.d.ts.map +1 -1
- package/dist/server/routes/properties/index.js +4 -7
- package/dist/server/routes/table/controllers/card.d.ts +1 -1
- package/dist/server/routes/table/controllers/card.d.ts.map +1 -1
- package/dist/server/routes/table/controllers/card.js +9 -7
- package/dist/server/routes/table/controllers/cardData.d.ts.map +1 -1
- package/dist/server/routes/table/controllers/cardData.js +4 -6
- package/dist/server/routes/table/controllers/cardTabData.d.ts.map +1 -1
- package/dist/server/routes/table/controllers/cardTabData.js +3 -2
- package/dist/server/routes/table/controllers/dataInfo.d.ts.map +1 -1
- package/dist/server/routes/table/controllers/dataInfo.js +4 -3
- package/dist/server/routes/table/controllers/filter.d.ts.map +1 -1
- package/dist/server/routes/table/controllers/filter.js +3 -2
- package/dist/server/routes/table/controllers/form.d.ts +1 -1
- package/dist/server/routes/table/controllers/form.d.ts.map +1 -1
- package/dist/server/routes/table/controllers/form.js +7 -5
- package/dist/server/routes/table/controllers/getFormByTable.d.ts.map +1 -1
- package/dist/server/routes/table/controllers/getFormByTable.js +12 -12
- package/dist/server/routes/table/controllers/suggest.d.ts +1 -1
- package/dist/server/routes/table/controllers/suggest.d.ts.map +1 -1
- package/dist/server/routes/table/controllers/suggest.js +14 -29
- package/dist/server/routes/table/controllers/tableInfo.d.ts +1 -2
- package/dist/server/routes/table/controllers/tableInfo.d.ts.map +1 -1
- package/dist/server/routes/table/controllers/tableInfo.js +9 -8
- package/dist/server/routes/table/controllers/tokenInfo.d.ts.map +1 -1
- package/dist/server/routes/table/controllers/tokenInfo.js +2 -1
- package/dist/server/routes/table/functions/getData.d.ts.map +1 -1
- package/dist/server/routes/table/functions/getData.js +19 -25
- package/dist/server/routes/table/index.d.ts.map +1 -1
- package/dist/server/routes/table/index.js +15 -13
- package/dist/server/routes/templates/controllers/getTemplate.d.ts.map +1 -1
- package/dist/server/routes/templates/controllers/getTemplate.js +9 -5
- package/dist/server/routes/templates/index.d.ts.map +1 -1
- package/dist/server/routes/templates/index.js +2 -1
- package/dist/server/routes/upload/index.d.ts.map +1 -1
- package/dist/server/routes/upload/index.js +31 -20
- package/dist/server/routes/usercls/controllers/addUserCls.d.ts.map +1 -1
- package/dist/server/routes/usercls/controllers/addUserCls.js +2 -1
- package/dist/server/routes/usercls/controllers/deleteUserCls.d.ts.map +1 -1
- package/dist/server/routes/usercls/controllers/deleteUserCls.js +2 -1
- package/dist/server/routes/usercls/controllers/editUserCls.d.ts.map +1 -1
- package/dist/server/routes/usercls/controllers/editUserCls.js +2 -1
- package/dist/server/routes/usercls/controllers/getUserCls.d.ts +1 -1
- package/dist/server/routes/usercls/controllers/getUserCls.d.ts.map +1 -1
- package/dist/server/routes/usercls/controllers/getUserCls.js +4 -3
- package/dist/server/routes/usercls/index.d.ts.map +1 -1
- package/dist/server/routes/usercls/index.js +12 -5
- package/dist/server/routes/util/controllers/api.list.d.ts +19 -0
- package/dist/server/routes/util/controllers/api.list.d.ts.map +1 -0
- package/dist/server/routes/util/controllers/api.list.js +58 -0
- package/dist/server/routes/util/controllers/code.generator.d.ts.map +1 -1
- package/dist/server/routes/util/controllers/code.generator.js +7 -6
- package/dist/server/routes/util/controllers/user.tokens.d.ts +1 -2
- package/dist/server/routes/util/controllers/user.tokens.d.ts.map +1 -1
- package/dist/server/routes/util/controllers/user.tokens.js +6 -5
- package/dist/server/routes/util/index.d.ts.map +1 -1
- package/dist/server/routes/util/index.js +8 -7
- package/dist/server/routes/widget/controllers/file.edit.d.ts.map +1 -1
- package/dist/server/routes/widget/controllers/file.edit.js +5 -4
- package/dist/server/routes/widget/controllers/widget.del.d.ts.map +1 -1
- package/dist/server/routes/widget/controllers/widget.del.js +6 -7
- package/dist/server/routes/widget/controllers/widget.get.d.ts.map +1 -1
- package/dist/server/routes/widget/controllers/widget.get.js +4 -3
- package/dist/server/routes/widget/controllers/widget.set.d.ts.map +1 -1
- package/dist/server/routes/widget/controllers/widget.set.js +5 -4
- package/dist/server/routes/widget/index.d.ts.map +1 -1
- package/dist/server/routes/widget/index.js +3 -2
- package/package.json +3 -1
- package/dist/module/core/cls/constraint_type.json +0 -14
- package/dist/module/core/cls/constraint_type_table.json +0 -18
- package/dist/server/migrations/oauth.sql.sql +0 -77
- package/dist/server/plugins/auth/funcs/getUserPermissions.d.ts +0 -2
- package/dist/server/plugins/auth/funcs/getUserPermissions.d.ts.map +0 -1
- package/dist/server/plugins/auth/funcs/getUserPermissions.js +0 -24
- package/dist/server/plugins/auth/onRequest.d.ts +0 -4
- package/dist/server/plugins/auth/onRequest.d.ts.map +0 -1
- package/dist/server/plugins/auth/onRequest.js +0 -104
- package/dist/server/plugins/migration/index.d.ts +0 -3
- package/dist/server/plugins/migration/index.d.ts.map +0 -1
- package/dist/server/plugins/migration/index.js +0 -5
- package/dist/server/plugins/policy/funcs/checkAuth.d.ts +0 -4
- package/dist/server/plugins/policy/funcs/checkAuth.d.ts.map +0 -1
- package/dist/server/plugins/policy/funcs/checkAuth.js +0 -104
- package/dist/server/routes/access/controllers/access.resources.d.ts +0 -6
- package/dist/server/routes/access/controllers/access.resources.d.ts.map +0 -1
- package/dist/server/routes/access/controllers/access.resources.js +0 -14
- package/dist/server/routes/access/controllers/resources.d.ts +0 -11
- package/dist/server/routes/access/controllers/resources.d.ts.map +0 -1
- package/dist/server/routes/access/controllers/resources.js +0 -14
- package/dist/server/routes/access/functions/resources.d.ts +0 -6
- package/dist/server/routes/access/functions/resources.d.ts.map +0 -1
- package/dist/server/routes/access/functions/resources.js +0 -11
- package/dist/server/types/errors.d.ts +0 -14
- package/dist/server/types/errors.d.ts.map +0 -1
- package/dist/server/types/errors.js +0 -4
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import createError from "@fastify/error";
|
|
2
|
+
export declare const BadRequestError: createError.FastifyErrorConstructor<{
|
|
3
|
+
code: "BAD_REQUEST_ERROR";
|
|
4
|
+
statusCode: 400;
|
|
5
|
+
}, [any?, any?, any?]>;
|
|
6
|
+
export declare const UnauthorizedError: createError.FastifyErrorConstructor<{
|
|
7
|
+
code: "UNAUTHORIZED_ERROR";
|
|
8
|
+
statusCode: 401;
|
|
9
|
+
}, [any?, any?, any?]>;
|
|
10
|
+
export declare const ForbiddenError: createError.FastifyErrorConstructor<{
|
|
11
|
+
code: "FORBIDDEN_ERROR";
|
|
12
|
+
statusCode: 403;
|
|
13
|
+
}, [any?, any?, any?]>;
|
|
14
|
+
export declare const NotFoundError: createError.FastifyErrorConstructor<{
|
|
15
|
+
code: "NOT_FOUND_ERROR";
|
|
16
|
+
statusCode: 404;
|
|
17
|
+
}, [any?, any?, any?]>;
|
|
18
|
+
export declare const ConflictError: createError.FastifyErrorConstructor<{
|
|
19
|
+
code: "CONFLICT_ERROR";
|
|
20
|
+
statusCode: 409;
|
|
21
|
+
}, [any?, any?, any?]>;
|
|
22
|
+
export declare const LengthRequiredError: createError.FastifyErrorConstructor<{
|
|
23
|
+
code: "LENGTH_REQUIRED_ERROR";
|
|
24
|
+
statusCode: 411;
|
|
25
|
+
}, [any?, any?, any?]>;
|
|
26
|
+
export declare const PayloadTooLargeError: createError.FastifyErrorConstructor<{
|
|
27
|
+
code: "PAYLOAD_TOO_LARGE_ERROR";
|
|
28
|
+
statusCode: 413;
|
|
29
|
+
}, [any?, any?, any?]>;
|
|
30
|
+
export declare const UnsupportedMediaTypeError: createError.FastifyErrorConstructor<{
|
|
31
|
+
code: "UNSUPPORTED_MEDIA_TYPE_ERROR";
|
|
32
|
+
statusCode: 415;
|
|
33
|
+
}, [any?, any?, any?]>;
|
|
34
|
+
export declare const NotImplementedError: createError.FastifyErrorConstructor<{
|
|
35
|
+
code: "NOT_IMPLEMENTED_ERROR";
|
|
36
|
+
statusCode: 501;
|
|
37
|
+
}, [any?, any?, any?]>;
|
|
38
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../errors.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAEzC,eAAO,MAAM,eAAe;;;sBAI3B,CAAC;AACF,eAAO,MAAM,iBAAiB;;;sBAI7B,CAAC;AACF,eAAO,MAAM,cAAc;;;sBAI1B,CAAC;AACF,eAAO,MAAM,aAAa;;;sBAIzB,CAAC;AACF,eAAO,MAAM,aAAa;;;sBAIzB,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;sBAI/B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;sBAIhC,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;sBAIrC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;sBAI/B,CAAC"}
|
package/dist/errors.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import createError from "@fastify/error";
|
|
2
|
+
export const BadRequestError = createError("BAD_REQUEST_ERROR", "Bad request: %s", 400);
|
|
3
|
+
export const UnauthorizedError = createError("UNAUTHORIZED_ERROR", "Authorization required: %s", 401);
|
|
4
|
+
export const ForbiddenError = createError("FORBIDDEN_ERROR", "Access restricted: %s", 403);
|
|
5
|
+
export const NotFoundError = createError("NOT_FOUND_ERROR", "Resource not found: %s", 404);
|
|
6
|
+
export const ConflictError = createError("CONFLICT_ERROR", "Injection attempt: %s", 409);
|
|
7
|
+
export const LengthRequiredError = createError("LENGTH_REQUIRED_ERROR", "Length Required: %s", 411);
|
|
8
|
+
export const PayloadTooLargeError = createError("PAYLOAD_TOO_LARGE_ERROR", "Payload Too Large: %s", 413);
|
|
9
|
+
export const UnsupportedMediaTypeError = createError("UNSUPPORTED_MEDIA_TYPE_ERROR", "Unsupported Media Type: %s", 415);
|
|
10
|
+
export const NotImplementedError = createError("NOT_IMPLEMENTED_ERROR", "Not implemented: %s", 501);
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AA8FA,iBAAe,MAAM,CAAC,OAAO,EAAE,GAAG,iBAoMjC;;AACD,wBAEG"}
|
package/dist/index.js
CHANGED
|
@@ -56,6 +56,7 @@ import uploadChunkRoutes from "./server/routes/upload/index.js";
|
|
|
56
56
|
import grpcRoutes from "./server/routes/grpc/index.js";
|
|
57
57
|
import notificationsRoutes from "./server/routes/notifications/index.js";
|
|
58
58
|
import userClsRoutes from "./server/routes/usercls/index.js";
|
|
59
|
+
import apiListService from "./server/routes/util/controllers/api.list.js";
|
|
59
60
|
addHook("preForm", preForm);
|
|
60
61
|
addHook("afterTable", afterTable);
|
|
61
62
|
addHook("preTemplate", preTemplate);
|
|
@@ -70,16 +71,35 @@ async function plugin(fastify) {
|
|
|
70
71
|
reply.header("Access-Control-Allow-Origin", "*");
|
|
71
72
|
});
|
|
72
73
|
}
|
|
74
|
+
const apiListSchema = {
|
|
75
|
+
querystring: {
|
|
76
|
+
type: "object",
|
|
77
|
+
properties: {
|
|
78
|
+
package: { type: "string" },
|
|
79
|
+
subdir: { type: "string" },
|
|
80
|
+
md: { type: "string", pattern: "^1$" },
|
|
81
|
+
tags: { type: "string", pattern: "^[a-zA-Z0-9_,]+$" },
|
|
82
|
+
exclude_tags: { type: "string", pattern: "^[a-zA-Z0-9_,]+$" },
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
};
|
|
73
86
|
if (!fastify.hasRoute({ method: "GET", url: "/api/list" })) {
|
|
74
|
-
fastify.get(`${opt.prefix
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
87
|
+
fastify.get(`${opt.prefix || "/api"}/list`, {
|
|
88
|
+
config: { tags: ["core", "util"], role: "admin" },
|
|
89
|
+
schema: apiListSchema,
|
|
90
|
+
}, function apiList(req, reply) {
|
|
91
|
+
const result = apiListService({
|
|
92
|
+
includeTags: req.query.tags,
|
|
93
|
+
excludeTags: req.query.exclude_tags,
|
|
94
|
+
packageName: req.query.package,
|
|
95
|
+
subdir: req.query.subdir,
|
|
96
|
+
md: req.query.md,
|
|
97
|
+
routes,
|
|
98
|
+
});
|
|
99
|
+
if (result.headers) {
|
|
100
|
+
return reply.headers(result.headers).send(result.data);
|
|
81
101
|
}
|
|
82
|
-
return
|
|
102
|
+
return result;
|
|
83
103
|
});
|
|
84
104
|
}
|
|
85
105
|
fastify.addHook("onRoute", (r) => {
|
|
@@ -96,9 +116,10 @@ async function plugin(fastify) {
|
|
|
96
116
|
r.config.package = r.config.package || "fastify-table";
|
|
97
117
|
routes.push({
|
|
98
118
|
method,
|
|
99
|
-
|
|
119
|
+
endpoint: r.url,
|
|
100
120
|
subdir: r.config?.subdir,
|
|
101
121
|
package: r.config?.package,
|
|
122
|
+
tags: Array.isArray(r.config?.tags) ? r.config?.tags : undefined,
|
|
102
123
|
description: r.config?.description,
|
|
103
124
|
query,
|
|
104
125
|
roles: r.config?.role?.split?.("|"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAdminAccess.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/access/funcs/getAdminAccess.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getAdminAccess.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/access/funcs/getAdminAccess.ts"],"names":[],"mappings":"AAGA,wBAA8B,cAAc,CAAC,EAC3C,EAAE,EACF,IAAI,GACL,EAAE;IACD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CAC3C,iBAYA"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import config from "../../../../config.js";
|
|
2
|
+
import { BadRequestError, ForbiddenError } from "../../../../errors.js";
|
|
2
3
|
export default async function getAdminAccess({ id, user, }) {
|
|
3
4
|
if (!id) {
|
|
4
|
-
|
|
5
|
+
throw BadRequestError("not enough params: id");
|
|
5
6
|
}
|
|
6
7
|
if (!config?.local &&
|
|
7
8
|
!["admin"].includes(user?.user_type || user?.type || "")) {
|
|
8
|
-
|
|
9
|
+
throw new ForbiddenError("access restricted: admin");
|
|
9
10
|
}
|
|
10
11
|
return null;
|
|
11
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getQuery.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/auth/funcs/getQuery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getQuery.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/auth/funcs/getQuery.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,wBAA8B,QAAQ,CAAC,EACrC,EAAE,EACF,IAAI,GACL,EAAE;IACD,EAAE,EAAE,UAAU,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC3B,gBAkIA"}
|
|
@@ -22,6 +22,7 @@ father_name=coalesce($4, father_name), email=$5, social_auth_id=$6,
|
|
|
22
22
|
social_auth_type=$7 where uid=$8 returning uid`;
|
|
23
23
|
const deleteSocialIdSQL = `delete from admin.users_social_auth where social_auth_id=$1 or email=$2`;
|
|
24
24
|
import config from "../../../../config.js";
|
|
25
|
+
import { NotImplementedError } from "../../../../errors.js";
|
|
25
26
|
import logger from "../../logger/getLogger.js";
|
|
26
27
|
export default async function getQuery({ pg, data, }) {
|
|
27
28
|
if (typeof data !== "object") {
|
|
@@ -114,7 +115,7 @@ export default async function getQuery({ pg, data, }) {
|
|
|
114
115
|
socialUserId,
|
|
115
116
|
stack: err.stack,
|
|
116
117
|
});
|
|
117
|
-
throw new
|
|
118
|
+
throw new NotImplementedError("Помилка авторизації. Зверніться до адміністратора");
|
|
118
119
|
}
|
|
119
120
|
finally {
|
|
120
121
|
client.release();
|
|
@@ -1,6 +1,3 @@
|
|
|
1
1
|
import { FastifyReply } from "fastify";
|
|
2
|
-
export default function loginFile(req: any, reply: FastifyReply): Promise<
|
|
3
|
-
error: string;
|
|
4
|
-
status: number;
|
|
5
|
-
}>;
|
|
2
|
+
export default function loginFile(req: any, reply: FastifyReply): Promise<never>;
|
|
6
3
|
//# sourceMappingURL=loginFile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginFile.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/auth/funcs/loginFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"loginFile.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/auth/funcs/loginFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAcvC,wBAA8B,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,kBAkDpE"}
|
|
@@ -4,14 +4,16 @@ import { createHash } from "node:crypto";
|
|
|
4
4
|
import config from "../../../../config.js";
|
|
5
5
|
import users from "./users.js";
|
|
6
6
|
import authorizeUser from "./authorizeUser.js";
|
|
7
|
+
import { BadRequestError } from "../../../../errors.js";
|
|
8
|
+
import logger from "../../logger/getLogger.js";
|
|
7
9
|
export default async function loginFile(req, reply) {
|
|
8
10
|
const { username, password } = req.method === "POST" ? req.body : req.query;
|
|
9
11
|
const filepath = path.join(process.cwd(), "passwd");
|
|
10
12
|
if (!users?.length) {
|
|
11
13
|
const fileExists = existsSync(filepath);
|
|
12
14
|
if (!fileExists) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
+
logger.error(req, "passwd file not exists");
|
|
16
|
+
throw new Error("passwd file not exists");
|
|
15
17
|
}
|
|
16
18
|
// parse file on start up
|
|
17
19
|
const data = readFileSync(filepath, "utf8");
|
|
@@ -29,9 +31,12 @@ export default async function loginFile(req, reply) {
|
|
|
29
31
|
.digest("hex");
|
|
30
32
|
if (!user?.password || user.password !== hashPasswd) {
|
|
31
33
|
const txt = "Invalid user or password";
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
if (req.method !== "GET") {
|
|
35
|
+
throw BadRequestError(txt);
|
|
36
|
+
}
|
|
37
|
+
return reply
|
|
38
|
+
.status(302)
|
|
39
|
+
.redirect(`/login?confirm=wrong_pass&message=${txt}`);
|
|
35
40
|
}
|
|
36
41
|
const resultUser = {
|
|
37
42
|
uid: user?.uid || config?.auth?.uid || username,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginUser.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/auth/funcs/loginUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"loginUser.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/auth/funcs/loginUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAWvC,wBAA8B,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,kBAuDpE"}
|
|
@@ -3,20 +3,25 @@ import pgClients from "../../pg/pgClients.js";
|
|
|
3
3
|
import logger from "../../logger/getLogger.js";
|
|
4
4
|
import verifyPassword from "./verifyPassword.js";
|
|
5
5
|
import authorizeUser from "./authorizeUser.js";
|
|
6
|
+
import { BadRequestError } from "../../../../errors.js";
|
|
6
7
|
export default async function loginUser(req, reply) {
|
|
7
8
|
const { username, password } = (req.method === "POST" ? req.body : req.query) || {};
|
|
8
9
|
const { pg = pgClients.client } = req;
|
|
9
10
|
if (!config.pg) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
if (req.method !== "GET") {
|
|
12
|
+
throw Error("empty pg");
|
|
13
|
+
}
|
|
14
|
+
return reply
|
|
15
|
+
.status(302)
|
|
16
|
+
.redirect("/login?confirm=wrong_pass&message=empty pg");
|
|
13
17
|
}
|
|
14
18
|
if (!config.redis) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
if (req.method !== "GET") {
|
|
20
|
+
throw Error("empty redis");
|
|
21
|
+
}
|
|
22
|
+
return reply
|
|
23
|
+
.status(302)
|
|
24
|
+
.redirect("/login?confirm=wrong_pass&message=empty redis");
|
|
20
25
|
}
|
|
21
26
|
const { user, message = "invalid user" } = (await verifyPassword({
|
|
22
27
|
pg,
|
|
@@ -24,18 +29,20 @@ export default async function loginUser(req, reply) {
|
|
|
24
29
|
password,
|
|
25
30
|
})) || {};
|
|
26
31
|
if (!user) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
+
if (req.method !== "GET") {
|
|
33
|
+
throw BadRequestError(message);
|
|
34
|
+
}
|
|
35
|
+
return reply
|
|
36
|
+
.status(302)
|
|
37
|
+
.redirect(`/login?confirm=wrong_pass&message=${message}`);
|
|
32
38
|
}
|
|
33
39
|
if (!user && (req.query?.username || req.body?.username)) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
40
|
+
if (req.method !== "GET") {
|
|
41
|
+
throw BadRequestError(message);
|
|
42
|
+
}
|
|
43
|
+
return reply
|
|
44
|
+
.status(302)
|
|
45
|
+
.redirect(`/login?confirm=wrong_pass&message=${message}`);
|
|
39
46
|
}
|
|
40
47
|
logger.metrics("user.login");
|
|
41
48
|
const authType = "creds-" + (user.user_type === "admin" ? "admin" : "user");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/plugins/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAYxD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/plugins/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAYxD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAOtD,wBAAsB,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,iBA6HxE;AAED,iBAAS,MAAM,CAAC,OAAO,EAAE,eAAe,QAmCvC;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -5,6 +5,7 @@ import { Authenticator } from "@fastify/passport";
|
|
|
5
5
|
import RedisStore from "fastify-session-redis-store";
|
|
6
6
|
import config from "../../../config.js";
|
|
7
7
|
import getRedis from "../redis/funcs/getRedis.js";
|
|
8
|
+
import { ForbiddenError, UnauthorizedError } from "../../../errors.js";
|
|
8
9
|
const fastifyPassport = new Authenticator();
|
|
9
10
|
const { prefix = "/api" } = config;
|
|
10
11
|
export async function onRequest(req, reply) {
|
|
@@ -66,7 +67,7 @@ export async function onRequest(req, reply) {
|
|
|
66
67
|
!req.url.includes(".") &&
|
|
67
68
|
!req.url.includes("@")) {
|
|
68
69
|
if (isApi) {
|
|
69
|
-
|
|
70
|
+
throw UnauthorizedError("unauthorized");
|
|
70
71
|
}
|
|
71
72
|
return reply.redirect(`${loginPageUrl}` + `?redirect=${req.url}`);
|
|
72
73
|
}
|
|
@@ -101,9 +102,7 @@ export async function onRequest(req, reply) {
|
|
|
101
102
|
!routeOptions.url?.includes?.("/2fa") &&
|
|
102
103
|
!routeOptions.url?.includes?.("/assets")) {
|
|
103
104
|
if (isApi) {
|
|
104
|
-
|
|
105
|
-
.status(403)
|
|
106
|
-
.send({ error: "access restricted: twofa", code: 403 });
|
|
105
|
+
throw ForbiddenError("access restricted: twofa");
|
|
107
106
|
}
|
|
108
107
|
return reply.redirect(login2faPage);
|
|
109
108
|
}
|
|
@@ -116,9 +116,9 @@ export default async function dataInsert({ id, table: table1, referer, data, pg:
|
|
|
116
116
|
return {
|
|
117
117
|
rowCount: res.rowCount,
|
|
118
118
|
command: res.command,
|
|
119
|
+
...res.rows[0],
|
|
119
120
|
id: id1,
|
|
120
121
|
data: res.rows[0],
|
|
121
|
-
...res.rows[0],
|
|
122
122
|
rows: res.rows,
|
|
123
123
|
};
|
|
124
124
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extraData.d.ts","sourceRoot":"","sources":["../../../../server/plugins/extra/extraData.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extraData.d.ts","sourceRoot":"","sources":["../../../../server/plugins/extra/extraData.ts"],"names":[],"mappings":"AAoBA,wBAA8B,SAAS,CACrC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAQ,EAAE,EAAE,GAAG,EAC7C,EAAE,MAAmB,gBA2GtB"}
|
|
@@ -3,6 +3,7 @@ import getTemplate from "../table/funcs/getTemplate.js";
|
|
|
3
3
|
import getMeta from "../pg/funcs/getMeta.js";
|
|
4
4
|
import pgClients from "../pg/pgClients.js";
|
|
5
5
|
import getInsertQuery from "../crud/funcs/utils/getInsertQuery.js";
|
|
6
|
+
import { NotFoundError } from "../../../errors.js";
|
|
6
7
|
const defaultTable = "crm.extra_data";
|
|
7
8
|
function format(key, value, schema) {
|
|
8
9
|
if (!key || !schema?.[key])
|
|
@@ -30,10 +31,10 @@ export default async function extraData({ table, form, id, data, uid, row = {} }
|
|
|
30
31
|
table,
|
|
31
32
|
});
|
|
32
33
|
if (!mainPK) {
|
|
33
|
-
|
|
34
|
+
throw NotFoundError(`table pk not found: ${table}`);
|
|
34
35
|
}
|
|
35
36
|
if (!pg.pk?.[extraTable]) {
|
|
36
|
-
|
|
37
|
+
throw NotFoundError(`extra table pk not found: ${extraTable}`);
|
|
37
38
|
}
|
|
38
39
|
Object.assign(data || {}, { object_id: id });
|
|
39
40
|
const deleteRes = await pg.query(`delete from ${extraTable} where object_id=$1 and property_key = any($2::text[]) returning *`, [id, Object.keys(loadTemplate?.schema || {})]);
|
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
export default function extraDataGet({ rows, table, form }: any, pg?: any): Promise<
|
|
2
|
-
error: string;
|
|
3
|
-
status: number;
|
|
4
|
-
} | null>;
|
|
1
|
+
export default function extraDataGet({ rows, table, form }: any, pg?: any): Promise<null>;
|
|
5
2
|
//# sourceMappingURL=extraDataGet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extraDataGet.d.ts","sourceRoot":"","sources":["../../../../server/plugins/extra/extraDataGet.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extraDataGet.d.ts","sourceRoot":"","sources":["../../../../server/plugins/extra/extraDataGet.ts"],"names":[],"mappings":"AAoBA,wBAA8B,YAAY,CACxC,EAAE,IAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAC/B,EAAE,MAAmB,iBAqDtB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import config from "../../../config.js";
|
|
2
|
+
import { NotFoundError } from "../../../errors.js";
|
|
2
3
|
import pgClients from "../pg/pgClients.js";
|
|
3
4
|
import getTemplate from "../table/funcs/getTemplate.js";
|
|
4
5
|
const defaultTable = "crm.extra_data";
|
|
@@ -27,15 +28,12 @@ export default async function extraDataGet({ rows = [], table, form }, pg = pgCl
|
|
|
27
28
|
config.extraData ||
|
|
28
29
|
defaultTable;
|
|
29
30
|
if (!pg.pk?.[table]) {
|
|
30
|
-
|
|
31
|
+
throw NotFoundError(`table pk not found: ${table}`);
|
|
31
32
|
}
|
|
32
33
|
if (!pg.pk?.[extraDataTable]) {
|
|
33
|
-
|
|
34
|
-
error: `extra table pk not found: ${extraDataTable}`,
|
|
35
|
-
status: 404,
|
|
36
|
-
};
|
|
34
|
+
throw NotFoundError(`extra table pk not found: ${extraDataTable}`);
|
|
37
35
|
}
|
|
38
|
-
const
|
|
36
|
+
const extraRows = await pg.query(`select * from ${extraDataTable} where object_id=any($1::text[])`, [ids]).then((el) => el.rows || []);
|
|
39
37
|
if (rows?.length && extraRows?.length) {
|
|
40
38
|
rows.forEach((row) => {
|
|
41
39
|
Object.assign(row, {
|
|
@@ -11,7 +11,7 @@ import providers from "./providers/index.js";
|
|
|
11
11
|
import { all, images } from "./utils/allowedExtensions.js";
|
|
12
12
|
import grpc from "../grpc/grpc.js";
|
|
13
13
|
import getFileType from "./utils/getFileType.js";
|
|
14
|
-
import { BadRequestError, PayloadTooLargeError } from "
|
|
14
|
+
import { BadRequestError, PayloadTooLargeError } from "../../../errors.js";
|
|
15
15
|
const { resizeImage } = grpc();
|
|
16
16
|
const { resizeImageMinSize = 5 } = config; // resize images >= 5 MB by default
|
|
17
17
|
async function writeFileToDisk(file, buffer) {
|
|
@@ -3,11 +3,5 @@ export default function htmlTodoc({ html, filepath, }: {
|
|
|
3
3
|
filepath: string;
|
|
4
4
|
}): Promise<{
|
|
5
5
|
filepath: string;
|
|
6
|
-
err?: undefined;
|
|
7
|
-
status?: undefined;
|
|
8
|
-
} | {
|
|
9
|
-
err: any;
|
|
10
|
-
status: number;
|
|
11
|
-
filepath?: undefined;
|
|
12
6
|
}>;
|
|
13
7
|
//# sourceMappingURL=html2doc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html2doc.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/grpc/utils/html2doc.ts"],"names":[],"mappings":"AAOA,wBAA8B,SAAS,CAAC,EACtC,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB
|
|
1
|
+
{"version":3,"file":"html2doc.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/grpc/utils/html2doc.ts"],"names":[],"mappings":"AAOA,wBAA8B,SAAS,CAAC,EACtC,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;;GAQA"}
|
|
@@ -6,12 +6,7 @@ export default async function htmlTodoc({ html, filepath, }) {
|
|
|
6
6
|
const result = await html2Doc({ html });
|
|
7
7
|
if (result.err)
|
|
8
8
|
throw new Error(result.err);
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return { filepath };
|
|
13
|
-
}
|
|
14
|
-
catch (err) {
|
|
15
|
-
return { err: err.toString(), status: 500 };
|
|
16
|
-
}
|
|
9
|
+
await mkdir(path.dirname(filepath), { recursive: true });
|
|
10
|
+
await writeFile(filepath, result.result, "base64");
|
|
11
|
+
return { filepath };
|
|
17
12
|
}
|
|
@@ -3,11 +3,5 @@ export default function html2pdf({ html, filepath, }: {
|
|
|
3
3
|
filepath: string;
|
|
4
4
|
}): Promise<{
|
|
5
5
|
filepath: string;
|
|
6
|
-
err?: undefined;
|
|
7
|
-
status?: undefined;
|
|
8
|
-
} | {
|
|
9
|
-
err: any;
|
|
10
|
-
status: number;
|
|
11
|
-
filepath?: undefined;
|
|
12
6
|
}>;
|
|
13
7
|
//# sourceMappingURL=html2img.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html2img.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/grpc/utils/html2img.ts"],"names":[],"mappings":"AAOA,wBAA8B,QAAQ,CAAC,EACrC,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB
|
|
1
|
+
{"version":3,"file":"html2img.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/grpc/utils/html2img.ts"],"names":[],"mappings":"AAOA,wBAA8B,QAAQ,CAAC,EACrC,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;;GAQA"}
|
|
@@ -6,12 +6,7 @@ export default async function html2pdf({ html, filepath, }) {
|
|
|
6
6
|
const result = await htmlToImg({ html });
|
|
7
7
|
if (result.err)
|
|
8
8
|
throw new Error(result.err);
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return { filepath };
|
|
13
|
-
}
|
|
14
|
-
catch (err) {
|
|
15
|
-
return { err: err.toString(), status: 500 };
|
|
16
|
-
}
|
|
9
|
+
await mkdir(path.dirname(filepath), { recursive: true });
|
|
10
|
+
await writeFile(filepath, result.result, "base64");
|
|
11
|
+
return { filepath };
|
|
17
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html2pdf.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/grpc/utils/html2pdf.ts"],"names":[],"mappings":"AAOA,wBAA8B,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG
|
|
1
|
+
{"version":3,"file":"html2pdf.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/grpc/utils/html2pdf.ts"],"names":[],"mappings":"AAOA,wBAA8B,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG;;GAYrE"}
|
|
@@ -4,16 +4,11 @@ import grpc from "../grpc.js";
|
|
|
4
4
|
const { htmlToPdf } = grpc();
|
|
5
5
|
export default async function html2pdf({ html, filepath, logger }) {
|
|
6
6
|
const time = Date.now();
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return { filepath };
|
|
15
|
-
}
|
|
16
|
-
catch (err) {
|
|
17
|
-
return { err: err.toString(), status: 500 };
|
|
18
|
-
}
|
|
7
|
+
const result = await htmlToPdf({ html });
|
|
8
|
+
logger.file("format/pdf", { msec: Date.now() - time, resp_code: 200 });
|
|
9
|
+
if (result.err)
|
|
10
|
+
throw new Error(result.err);
|
|
11
|
+
await mkdir(path.dirname(filepath), { recursive: true });
|
|
12
|
+
await writeFile(filepath, result.result, "base64");
|
|
13
|
+
return { filepath };
|
|
19
14
|
}
|
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
export default function mergePdf({ pdfStringList, pathToSave, filename, }: any): Promise<{
|
|
2
|
-
err: any;
|
|
3
|
-
status: number;
|
|
4
|
-
filename?: undefined;
|
|
5
|
-
filepath?: undefined;
|
|
6
|
-
} | {
|
|
7
2
|
filename: string;
|
|
8
3
|
filepath: any;
|
|
9
|
-
err?: undefined;
|
|
10
|
-
status?: undefined;
|
|
11
4
|
}>;
|
|
12
5
|
//# sourceMappingURL=mergePdf.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergePdf.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/grpc/utils/mergePdf.ts"],"names":[],"mappings":"AAOA,wBAA8B,QAAQ,CAAC,EACrC,aAAa,EACb,UAAU,EACV,QAAQ,GACT,EAAE,GAAG
|
|
1
|
+
{"version":3,"file":"mergePdf.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/grpc/utils/mergePdf.ts"],"names":[],"mappings":"AAOA,wBAA8B,QAAQ,CAAC,EACrC,aAAa,EACb,UAAU,EACV,QAAQ,GACT,EAAE,GAAG;;;GASL"}
|
|
@@ -6,13 +6,8 @@ export default async function mergePdf({ pdfStringList, pathToSave, filename, })
|
|
|
6
6
|
const filename1 = filename || path.basename(pathToSave);
|
|
7
7
|
const result = pdfMerge(pdfStringList);
|
|
8
8
|
if (result.err)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return { filename: `${filename1}.pdf`, filepath: pathToSave };
|
|
14
|
-
}
|
|
15
|
-
catch (err) {
|
|
16
|
-
return { err: err.toString(), status: 500 };
|
|
17
|
-
}
|
|
9
|
+
throw new Error(result.err);
|
|
10
|
+
await mkdir(path.dirname(pathToSave), { recursive: true });
|
|
11
|
+
await writeFile(pathToSave, result.result, "base64");
|
|
12
|
+
return { filename: `${filename1}.pdf`, filepath: pathToSave };
|
|
18
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkUserAccess.d.ts","sourceRoot":"","sources":["../../../../server/plugins/logger/checkUserAccess.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"checkUserAccess.d.ts","sourceRoot":"","sources":["../../../../server/plugins/logger/checkUserAccess.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AAEH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,IAAI,EACJ,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,QAcA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import config from "../../../config.js";
|
|
2
|
+
import { ForbiddenError } from "../../../errors.js";
|
|
2
3
|
const { accessToken = "0NWcGQxKRP8AsRxD" } = config.auth || {};
|
|
3
4
|
/**
|
|
4
5
|
*
|
|
@@ -7,16 +8,13 @@ const { accessToken = "0NWcGQxKRP8AsRxD" } = config.auth || {};
|
|
|
7
8
|
*/
|
|
8
9
|
export default function checkUserAccess({ user, token, }) {
|
|
9
10
|
if (token && token === accessToken) {
|
|
10
|
-
return
|
|
11
|
+
return null;
|
|
11
12
|
}
|
|
12
13
|
// console.log(user);
|
|
13
14
|
if ((!user || !user.user_type?.includes?.("admin")) &&
|
|
14
15
|
!config?.local &&
|
|
15
16
|
!config.auth?.disable) {
|
|
16
|
-
|
|
17
|
+
throw ForbiddenError("access restricted");
|
|
17
18
|
}
|
|
18
|
-
|
|
19
|
-
return { message: 'access restricted', status: 403 };
|
|
20
|
-
} */
|
|
21
|
-
return { message: "access granted", status: 200 };
|
|
19
|
+
return null;
|
|
22
20
|
}
|