node-server-engine 1.1.2 → 1.1.3
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/.env.example +193 -193
- package/.mocharc.js +13 -13
- package/.nycrc +18 -18
- package/.prettierrc +7 -7
- package/Dockerfile +30 -30
- package/README.md +991 -1025
- package/babel.config.json +35 -35
- package/dist/const/DebeziumEvent.js.map +1 -1
- package/dist/const/LogSeverity.js.map +1 -1
- package/dist/const/index.js.map +1 -1
- package/dist/const/metrics.js.map +1 -1
- package/dist/const/mime.js.map +1 -1
- package/dist/const/tokenIssuer.js.map +1 -1
- package/dist/db/migrations/20241030121500-create-sequelize-meta-table.js.map +1 -1
- package/dist/db/models/SequelizeMeta.js.map +1 -1
- package/dist/db/models/index.js.map +1 -1
- package/dist/entities/ElasticSearch/ElasticSearch.js +7 -7
- package/dist/entities/ElasticSearch/ElasticSearch.js.map +1 -1
- package/dist/entities/ElasticSearch/ElasticSearch.types.js.map +1 -1
- package/dist/entities/ElasticSearch/index.js.map +1 -1
- package/dist/entities/Endpoint/Endpoint.js +8 -8
- package/dist/entities/Endpoint/Endpoint.js.map +1 -1
- package/dist/entities/Endpoint/Endpoint.types.js.map +1 -1
- package/dist/entities/Endpoint/index.js.map +1 -1
- package/dist/entities/EngineError/EngineError.js +2 -2
- package/dist/entities/EngineError/EngineError.js.map +1 -1
- package/dist/entities/EngineError/EngineError.types.js.map +1 -1
- package/dist/entities/EngineError/index.js.map +1 -1
- package/dist/entities/KeySet/KeySet.js +3 -3
- package/dist/entities/KeySet/KeySet.js.map +1 -1
- package/dist/entities/KeySet/KeySet.types.js.map +1 -1
- package/dist/entities/KeySet/index.js.map +1 -1
- package/dist/entities/LifecycleController/LifecycleController.js.map +1 -1
- package/dist/entities/LifecycleController/LifecycleController.types.js.map +1 -1
- package/dist/entities/LifecycleController/index.js.map +1 -1
- package/dist/entities/Localizator/Localizator.js +7 -7
- package/dist/entities/Localizator/Localizator.js.map +1 -1
- package/dist/entities/Localizator/Localizator.types.js.map +1 -1
- package/dist/entities/Localizator/guessNamingConvention/guessNamingConvention.js.map +1 -1
- package/dist/entities/Localizator/guessNamingConvention/index.js.map +1 -1
- package/dist/entities/Localizator/index.js.map +1 -1
- package/dist/entities/MessageHandler/MessageHandler.js +2 -2
- package/dist/entities/MessageHandler/MessageHandler.js.map +1 -1
- package/dist/entities/MessageHandler/MessageHandler.types.js.map +1 -1
- package/dist/entities/MessageHandler/index.js.map +1 -1
- package/dist/entities/PubSub/PubSub.js +25 -25
- package/dist/entities/PubSub/PubSub.js.map +1 -1
- package/dist/entities/PubSub/PubSub.types.js.map +1 -1
- package/dist/entities/PubSub/handleMessage/handleMessage.js +6 -6
- package/dist/entities/PubSub/handleMessage/handleMessage.js.map +1 -1
- package/dist/entities/PubSub/handleMessage/index.js.map +1 -1
- package/dist/entities/PubSub/index.js.map +1 -1
- package/dist/entities/PushNotification/PushNotification.js +4 -4
- package/dist/entities/PushNotification/PushNotification.js.map +1 -1
- package/dist/entities/PushNotification/PushNotification.types.js.map +1 -1
- package/dist/entities/PushNotification/index.js.map +1 -1
- package/dist/entities/Redis/Redis.js +8 -8
- package/dist/entities/Redis/Redis.js.map +1 -1
- package/dist/entities/Redis/Redis.types.js.map +1 -1
- package/dist/entities/Redis/Redis.validate.js +2 -2
- package/dist/entities/Redis/Redis.validate.js.map +1 -1
- package/dist/entities/Redis/index.js.map +1 -1
- package/dist/entities/Sequelize/Sequelize.config.js +42 -2
- package/dist/entities/Sequelize/Sequelize.config.js.map +1 -1
- package/dist/entities/Sequelize/Sequelize.js +3 -3
- package/dist/entities/Sequelize/Sequelize.js.map +1 -1
- package/dist/entities/Sequelize/Sequelize.types.js.map +1 -1
- package/dist/entities/Sequelize/Sequelize.validate.js +2 -2
- package/dist/entities/Sequelize/Sequelize.validate.js.map +1 -1
- package/dist/entities/Sequelize/index.js.map +1 -1
- package/dist/entities/Server/Server.const.js.map +1 -1
- package/dist/entities/Server/Server.js +2 -2
- package/dist/entities/Server/Server.js.map +1 -1
- package/dist/entities/Server/Server.types.js.map +1 -1
- package/dist/entities/Server/index.js.map +1 -1
- package/dist/entities/SocketClient/SocketClient.js +15 -15
- package/dist/entities/SocketClient/SocketClient.js.map +1 -1
- package/dist/entities/SocketClient/SocketClient.types.js.map +1 -1
- package/dist/entities/SocketClient/index.js.map +1 -1
- package/dist/entities/SocketClient/parseMessage/index.js.map +1 -1
- package/dist/entities/SocketClient/parseMessage/parseMessage.js +2 -2
- package/dist/entities/SocketClient/parseMessage/parseMessage.js.map +1 -1
- package/dist/entities/Storage/Storage.js +20 -20
- package/dist/entities/Storage/Storage.js.map +1 -1
- package/dist/entities/Storage/Storage.types.js.map +1 -1
- package/dist/entities/Storage/index.js.map +1 -1
- package/dist/entities/ValidationError/ValidationError.js.map +1 -1
- package/dist/entities/ValidationError/index.js.map +1 -1
- package/dist/entities/WebError/WebError.js +4 -4
- package/dist/entities/WebError/WebError.js.map +1 -1
- package/dist/entities/WebError/WebError.types.js.map +1 -1
- package/dist/entities/WebError/index.js.map +1 -1
- package/dist/entities/index.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/metrics/debug.js.map +1 -1
- package/dist/metrics/index.js.map +1 -1
- package/dist/metrics/request.js.map +1 -1
- package/dist/middleware/authAdmin/authAdmin.js.map +1 -1
- package/dist/middleware/authAdmin/authAdmin.types.js.map +1 -1
- package/dist/middleware/authAdmin/index.js.map +1 -1
- package/dist/middleware/authHmac/authHmac.js.map +1 -1
- package/dist/middleware/authHmac/authHmac.types.js.map +1 -1
- package/dist/middleware/authHmac/index.js.map +1 -1
- package/dist/middleware/authJwt/authJwt.js.map +1 -1
- package/dist/middleware/authJwt/authJwt.types.js.map +1 -1
- package/dist/middleware/authJwt/index.js.map +1 -1
- package/dist/middleware/authStatic/authStatic.js +3 -3
- package/dist/middleware/authStatic/authStatic.js.map +1 -1
- package/dist/middleware/authStatic/index.js.map +1 -1
- package/dist/middleware/authTls/authTls.js +8 -8
- package/dist/middleware/authTls/authTls.js.map +1 -1
- package/dist/middleware/authTls/authTls.types.js.map +1 -1
- package/dist/middleware/authTls/index.js.map +1 -1
- package/dist/middleware/checkPermission/checkPermission.js.map +1 -1
- package/dist/middleware/error/error.js.map +1 -1
- package/dist/middleware/error/index.js.map +1 -1
- package/dist/middleware/fileUploader/compressAvatar/compressAvatar.js +2 -2
- package/dist/middleware/fileUploader/compressAvatar/compressAvatar.js.map +1 -1
- package/dist/middleware/fileUploader/compressAvatar/compressAvatar.types.js.map +1 -1
- package/dist/middleware/fileUploader/compressAvatar/index.js.map +1 -1
- package/dist/middleware/fileUploader/fileUploader.js +12 -12
- package/dist/middleware/fileUploader/fileUploader.js.map +1 -1
- package/dist/middleware/fileUploader/fileUploader.types.js.map +1 -1
- package/dist/middleware/fileUploader/index.js.map +1 -1
- package/dist/middleware/fileUploader/isMultiPart/index.js.map +1 -1
- package/dist/middleware/fileUploader/isMultiPart/isMultipart.js.map +1 -1
- package/dist/middleware/fileUploader/validate/index.js.map +1 -1
- package/dist/middleware/fileUploader/validate/validate.js.map +1 -1
- package/dist/middleware/fourOhFour/fourOhFour.js.map +1 -1
- package/dist/middleware/fourOhFour/index.js.map +1 -1
- package/dist/middleware/geminiFileUploader/geminiFileUploader.js.map +1 -1
- package/dist/middleware/geminiFileUploader/index.js.map +1 -1
- package/dist/middleware/healthCheck/healthCheck.js +2 -2
- package/dist/middleware/healthCheck/healthCheck.js.map +1 -1
- package/dist/middleware/healthCheck/index.js.map +1 -1
- package/dist/middleware/index.js.map +1 -1
- package/dist/middleware/metrics/index.js.map +1 -1
- package/dist/middleware/metrics/metrics.js.map +1 -1
- package/dist/middleware/requestMetrics/index.js.map +1 -1
- package/dist/middleware/requestMetrics/requestMetrics.js.map +1 -1
- package/dist/middleware/swaggerDocs/index.js.map +1 -1
- package/dist/middleware/swaggerDocs/swaggerDocs.js +7 -7
- package/dist/middleware/swaggerDocs/swaggerDocs.js.map +1 -1
- package/dist/middleware/swaggerDocs/swaggerDocs.types.js.map +1 -1
- package/dist/middleware/userResolver/index.js.map +1 -1
- package/dist/middleware/userResolver/userResolver.js.map +1 -1
- package/dist/middleware/validate/index.js.map +1 -1
- package/dist/middleware/validate/validate.js.map +1 -1
- package/dist/middleware/version/index.js.map +1 -1
- package/dist/middleware/version/version.js +3 -3
- package/dist/middleware/version/version.js.map +1 -1
- package/dist/utils/checkEnvironment/index.js +13 -13
- package/dist/utils/checkEnvironment/index.js.map +1 -1
- package/dist/utils/createHttpServer/createHttpServer.js.map +1 -1
- package/dist/utils/createHttpServer/createHttpServer.validate.js +2 -2
- package/dist/utils/createHttpServer/createHttpServer.validate.js.map +1 -1
- package/dist/utils/createHttpServer/index.js.map +1 -1
- package/dist/utils/createSortedObject/createSortedObject.js.map +1 -1
- package/dist/utils/createSortedObject/index.js.map +1 -1
- package/dist/utils/dbMigration/dbMigration.js +8 -8
- package/dist/utils/dbMigration/dbMigration.js.map +1 -1
- package/dist/utils/dbMigration/dbMigration.types.js.map +1 -1
- package/dist/utils/dbMigration/index.js.map +1 -1
- package/dist/utils/dbMigration/migrateMetadataTable/index.js.map +1 -1
- package/dist/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.d.ts +2 -2
- package/dist/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.js +47 -15
- package/dist/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.js.map +1 -1
- package/dist/utils/envAssert/envAssert.js +6 -6
- package/dist/utils/envAssert/envAssert.js.map +1 -1
- package/dist/utils/envAssert/index.js.map +1 -1
- package/dist/utils/envAssert/validators/hostList.js +2 -2
- package/dist/utils/envAssert/validators/hostList.js.map +1 -1
- package/dist/utils/envAssert/validators/index.js.map +1 -1
- package/dist/utils/envAssert/validators/ipList.js +2 -2
- package/dist/utils/envAssert/validators/ipList.js.map +1 -1
- package/dist/utils/envAssert/validators/path.js +2 -2
- package/dist/utils/envAssert/validators/path.js.map +1 -1
- package/dist/utils/envAssert/validators/string.js +2 -2
- package/dist/utils/envAssert/validators/string.js.map +1 -1
- package/dist/utils/envAssert/validators/stringList.js +3 -3
- package/dist/utils/envAssert/validators/stringList.js.map +1 -1
- package/dist/utils/filter/filter.js +4 -4
- package/dist/utils/filter/filter.js.map +1 -1
- package/dist/utils/filter/index.js.map +1 -1
- package/dist/utils/getDynamicLink/getDynamicLink.js.map +1 -1
- package/dist/utils/getDynamicLink/getDynamicLink.types.js.map +1 -1
- package/dist/utils/getDynamicLink/getDynamicLink.validate.js.map +1 -1
- package/dist/utils/getDynamicLink/index.js.map +1 -1
- package/dist/utils/hmac/checkEnv/checkEnv.js +2 -2
- package/dist/utils/hmac/checkEnv/checkEnv.js.map +1 -1
- package/dist/utils/hmac/checkEnv/index.js.map +1 -1
- package/dist/utils/hmac/createHmac/createHmac.js.map +1 -1
- package/dist/utils/hmac/createHmac/index.js.map +1 -1
- package/dist/utils/hmac/index.js.map +1 -1
- package/dist/utils/hmac/index.types.js.map +1 -1
- package/dist/utils/hmac/signPayload/index.js.map +1 -1
- package/dist/utils/hmac/signPayload/signPayload.js.map +1 -1
- package/dist/utils/hmac/verifySignature/index.js.map +1 -1
- package/dist/utils/hmac/verifySignature/verifySignature.js.map +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/jwt/index.js.map +1 -1
- package/dist/utils/jwt/jwt.js.map +1 -1
- package/dist/utils/jwt/jwt.types.js.map +1 -1
- package/dist/utils/report/index.js.map +1 -1
- package/dist/utils/report/output.js.map +1 -1
- package/dist/utils/report/output.types.js.map +1 -1
- package/dist/utils/report/report.js.map +1 -1
- package/dist/utils/report/report.types.js.map +1 -1
- package/dist/utils/request/index.js.map +1 -1
- package/dist/utils/request/request.js.map +1 -1
- package/dist/utils/semverCompare/index.js.map +1 -1
- package/dist/utils/semverCompare/semverCompare.js +5 -5
- package/dist/utils/semverCompare/semverCompare.js.map +1 -1
- package/dist/utils/sendEmail/index.js.map +1 -1
- package/dist/utils/sendEmail/sendEmail.js +8 -8
- package/dist/utils/sendEmail/sendEmail.js.map +1 -1
- package/dist/utils/sendEmail/sendEmail.types.js.map +1 -1
- package/dist/utils/sendPush/index.js.map +1 -1
- package/dist/utils/sendPush/sendPush.js +5 -5
- package/dist/utils/sendPush/sendPush.js.map +1 -1
- package/dist/utils/sendPush/sendPush.types.js.map +1 -1
- package/dist/utils/tlsConfig/index.js.map +1 -1
- package/dist/utils/tlsConfig/tlsConfig.js +2 -2
- package/dist/utils/tlsConfig/tlsConfig.js.map +1 -1
- package/dist/utils/tlsConfig/tlsConfig.types.js.map +1 -1
- package/dist/utils/tlsConfig/tlsConfig.validate.js +2 -2
- package/dist/utils/tlsConfig/tlsConfig.validate.js.map +1 -1
- package/dist/utils/tlsRequest/index.js.map +1 -1
- package/dist/utils/tlsRequest/tlsRequest.js.map +1 -1
- package/dist/utils/trimPathSlash/index.js.map +1 -1
- package/dist/utils/trimPathSlash/trimPathSlash.js +4 -4
- package/dist/utils/trimPathSlash/trimPathSlash.js.map +1 -1
- package/eslint.config.mjs +11 -11
- package/package.json +164 -161
- package/src/const/DebeziumEvent.ts +6 -6
- package/src/const/LogSeverity.ts +7 -7
- package/src/const/index.ts +5 -5
- package/src/const/metrics.ts +6 -6
- package/src/const/mime.ts +37 -37
- package/src/const/tokenIssuer.ts +9 -9
- package/src/db/migrations/20241030121500-create-sequelize-meta-table.ts +29 -29
- package/src/db/models/SequelizeMeta.ts +16 -16
- package/src/db/models/index.ts +2 -2
- package/src/entities/ElasticSearch/ElasticSearch.ts +103 -103
- package/src/entities/ElasticSearch/ElasticSearch.types.ts +7 -7
- package/src/entities/ElasticSearch/index.ts +2 -2
- package/src/entities/Endpoint/Endpoint.test.ts +337 -337
- package/src/entities/Endpoint/Endpoint.ts +202 -202
- package/src/entities/Endpoint/Endpoint.types.ts +205 -205
- package/src/entities/Endpoint/index.ts +2 -2
- package/src/entities/EngineError/EngineError.ts +28 -28
- package/src/entities/EngineError/EngineError.types.ts +15 -15
- package/src/entities/EngineError/index.ts +2 -2
- package/src/entities/KeySet/KeySet.test.ts +126 -126
- package/src/entities/KeySet/KeySet.ts +172 -172
- package/src/entities/KeySet/KeySet.types.ts +28 -28
- package/src/entities/KeySet/index.ts +2 -2
- package/src/entities/LifecycleController/LifecycleController.test.ts +48 -48
- package/src/entities/LifecycleController/LifecycleController.ts +24 -24
- package/src/entities/LifecycleController/LifecycleController.types.ts +5 -5
- package/src/entities/LifecycleController/index.ts +2 -2
- package/src/entities/Localizator/Localizator.ts +139 -139
- package/src/entities/Localizator/Localizator.types.ts +52 -52
- package/src/entities/Localizator/guessNamingConvention/guessNamingConvention.test.ts +165 -165
- package/src/entities/Localizator/guessNamingConvention/guessNamingConvention.ts +58 -58
- package/src/entities/Localizator/guessNamingConvention/index.ts +1 -1
- package/src/entities/Localizator/index.ts +2 -2
- package/src/entities/MessageHandler/MessageHandler.test.ts +130 -130
- package/src/entities/MessageHandler/MessageHandler.ts +72 -72
- package/src/entities/MessageHandler/MessageHandler.types.ts +15 -15
- package/src/entities/MessageHandler/index.ts +2 -2
- package/src/entities/PubSub/PubSub.test.ts +297 -297
- package/src/entities/PubSub/PubSub.ts +202 -202
- package/src/entities/PubSub/PubSub.types.ts +76 -76
- package/src/entities/PubSub/handleMessage/handleMessage.test.ts +102 -102
- package/src/entities/PubSub/handleMessage/handleMessage.ts +65 -65
- package/src/entities/PubSub/handleMessage/index.ts +1 -1
- package/src/entities/PubSub/index.ts +2 -2
- package/src/entities/PushNotification/PushNotification.test.ts +35 -35
- package/src/entities/PushNotification/PushNotification.ts +44 -44
- package/src/entities/PushNotification/PushNotification.types.ts +25 -25
- package/src/entities/PushNotification/index.ts +2 -2
- package/src/entities/Redis/Redis.ts +71 -71
- package/src/entities/Redis/Redis.types.ts +19 -19
- package/src/entities/Redis/Redis.validate.ts +17 -17
- package/src/entities/Redis/index.ts +2 -2
- package/src/entities/Sequelize/Sequelize.config.ts +59 -29
- package/src/entities/Sequelize/Sequelize.test.ts +21 -21
- package/src/entities/Sequelize/Sequelize.ts +75 -75
- package/src/entities/Sequelize/Sequelize.types.ts +10 -10
- package/src/entities/Sequelize/Sequelize.validate.ts +15 -15
- package/src/entities/Sequelize/index.ts +2 -2
- package/src/entities/Server/Server.const.ts +56 -56
- package/src/entities/Server/Server.test.ts +272 -272
- package/src/entities/Server/Server.ts +445 -445
- package/src/entities/Server/Server.types.ts +88 -88
- package/src/entities/Server/index.ts +2 -2
- package/src/entities/SocketClient/SocketClient.test.ts +392 -392
- package/src/entities/SocketClient/SocketClient.ts +401 -401
- package/src/entities/SocketClient/SocketClient.types.ts +62 -62
- package/src/entities/SocketClient/index.ts +2 -2
- package/src/entities/SocketClient/parseMessage/index.ts +1 -1
- package/src/entities/SocketClient/parseMessage/parseMessage.test.ts +20 -20
- package/src/entities/SocketClient/parseMessage/parseMessage.ts +26 -26
- package/src/entities/Storage/Storage.test.ts +58 -58
- package/src/entities/Storage/Storage.ts +219 -219
- package/src/entities/Storage/Storage.types.ts +57 -57
- package/src/entities/Storage/index.ts +2 -2
- package/src/entities/ValidationError/ValidationError.ts +34 -34
- package/src/entities/ValidationError/index.ts +1 -1
- package/src/entities/WebError/WebError.test.ts +18 -18
- package/src/entities/WebError/WebError.ts +23 -23
- package/src/entities/WebError/WebError.types.ts +9 -9
- package/src/entities/WebError/index.ts +2 -2
- package/src/entities/index.ts +16 -16
- package/src/index.ts +4 -4
- package/src/metrics/debug.ts +10 -10
- package/src/metrics/index.ts +2 -2
- package/src/metrics/request.ts +17 -17
- package/src/middleware/authAdmin/authAdmin.test.ts +199 -199
- package/src/middleware/authAdmin/authAdmin.ts +114 -114
- package/src/middleware/authAdmin/authAdmin.types.ts +19 -19
- package/src/middleware/authAdmin/index.ts +2 -2
- package/src/middleware/authHmac/authHmac.test.ts +86 -86
- package/src/middleware/authHmac/authHmac.ts +56 -56
- package/src/middleware/authHmac/authHmac.types.ts +7 -7
- package/src/middleware/authHmac/index.ts +2 -2
- package/src/middleware/authJwt/authJwt.test.ts +54 -54
- package/src/middleware/authJwt/authJwt.ts +55 -55
- package/src/middleware/authJwt/authJwt.types.ts +14 -14
- package/src/middleware/authJwt/index.ts +2 -2
- package/src/middleware/authStatic/authStatic.test.ts +36 -36
- package/src/middleware/authStatic/authStatic.ts +45 -45
- package/src/middleware/authStatic/index.ts +1 -1
- package/src/middleware/authTls/authTls.test.ts +138 -138
- package/src/middleware/authTls/authTls.ts +106 -106
- package/src/middleware/authTls/authTls.types.ts +13 -13
- package/src/middleware/authTls/index.ts +2 -2
- package/src/middleware/checkPermission/checkPermission.ts +32 -32
- package/src/middleware/error/error.test.ts +60 -60
- package/src/middleware/error/error.ts +25 -25
- package/src/middleware/error/index.ts +1 -1
- package/src/middleware/fileUploader/compressAvatar/compressAvatar.ts +25 -25
- package/src/middleware/fileUploader/compressAvatar/compressAvatar.types.ts +12 -12
- package/src/middleware/fileUploader/compressAvatar/index.ts +2 -2
- package/src/middleware/fileUploader/fileUploader.test.ts +310 -310
- package/src/middleware/fileUploader/fileUploader.ts +303 -303
- package/src/middleware/fileUploader/fileUploader.types.ts +52 -52
- package/src/middleware/fileUploader/index.ts +2 -2
- package/src/middleware/fileUploader/isMultiPart/index.ts +1 -1
- package/src/middleware/fileUploader/isMultiPart/isMultipart.ts +9 -9
- package/src/middleware/fileUploader/validate/index.ts +1 -1
- package/src/middleware/fileUploader/validate/validate.ts +27 -27
- package/src/middleware/fourOhFour/fourOhFour.test.ts +14 -14
- package/src/middleware/fourOhFour/fourOhFour.ts +13 -13
- package/src/middleware/fourOhFour/index.ts +1 -1
- package/src/middleware/geminiFileUploader/geminiFileUploader.ts +117 -117
- package/src/middleware/geminiFileUploader/index.ts +1 -1
- package/src/middleware/healthCheck/healthCheck.test.ts +12 -12
- package/src/middleware/healthCheck/healthCheck.ts +14 -14
- package/src/middleware/healthCheck/index.ts +1 -1
- package/src/middleware/index.ts +17 -17
- package/src/middleware/metrics/index.ts +1 -1
- package/src/middleware/metrics/metrics.test.ts +46 -46
- package/src/middleware/metrics/metrics.ts +24 -24
- package/src/middleware/requestMetrics/index.ts +1 -1
- package/src/middleware/requestMetrics/requestMetrics.test.ts +77 -77
- package/src/middleware/requestMetrics/requestMetrics.ts +20 -20
- package/src/middleware/swaggerDocs/index.ts +2 -2
- package/src/middleware/swaggerDocs/swaggerDocs.ts +114 -114
- package/src/middleware/swaggerDocs/swaggerDocs.types.ts +41 -41
- package/src/middleware/userResolver/index.ts +1 -1
- package/src/middleware/userResolver/userResolver.test.ts +35 -35
- package/src/middleware/userResolver/userResolver.ts +35 -35
- package/src/middleware/validate/index.ts +1 -1
- package/src/middleware/validate/validate.test.ts +43 -43
- package/src/middleware/validate/validate.ts +25 -25
- package/src/middleware/version/index.ts +1 -1
- package/src/middleware/version/version.test.ts +23 -23
- package/src/middleware/version/version.ts +12 -12
- package/src/utils/checkEnvironment/index.ts +49 -49
- package/src/utils/createHttpServer/createHttpServer.test.ts +24 -24
- package/src/utils/createHttpServer/createHttpServer.ts +34 -34
- package/src/utils/createHttpServer/createHttpServer.validate.ts +17 -17
- package/src/utils/createHttpServer/index.ts +1 -1
- package/src/utils/createSortedObject/createSortedObject.ts +20 -20
- package/src/utils/createSortedObject/createSortedObjet.test.ts +47 -47
- package/src/utils/createSortedObject/index.ts +1 -1
- package/src/utils/dbMigration/dbMigration.test.ts +209 -209
- package/src/utils/dbMigration/dbMigration.ts +199 -199
- package/src/utils/dbMigration/dbMigration.types.ts +11 -11
- package/src/utils/dbMigration/index.ts +2 -2
- package/src/utils/dbMigration/migrateMetadataTable/index.ts +1 -1
- package/src/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.test.ts +59 -59
- package/src/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.ts +102 -70
- package/src/utils/envAssert/envAssert.ts +31 -31
- package/src/utils/envAssert/index.ts +1 -1
- package/src/utils/envAssert/validators/hostList.ts +17 -17
- package/src/utils/envAssert/validators/index.ts +5 -5
- package/src/utils/envAssert/validators/ipList.ts +13 -13
- package/src/utils/envAssert/validators/path.ts +13 -13
- package/src/utils/envAssert/validators/string.ts +9 -9
- package/src/utils/envAssert/validators/stringList.ts +13 -13
- package/src/utils/filter/filter.ts +17 -17
- package/src/utils/filter/index.ts +1 -1
- package/src/utils/getDynamicLink/getDynamicLink.test.ts +51 -51
- package/src/utils/getDynamicLink/getDynamicLink.ts +28 -28
- package/src/utils/getDynamicLink/getDynamicLink.types.ts +11 -11
- package/src/utils/getDynamicLink/getDynamicLink.validate.ts +6 -6
- package/src/utils/getDynamicLink/index.ts +2 -2
- package/src/utils/hmac/checkEnv/checkEnv.test.ts +18 -18
- package/src/utils/hmac/checkEnv/checkEnv.ts +9 -9
- package/src/utils/hmac/checkEnv/index.ts +1 -1
- package/src/utils/hmac/createHmac/createHmac.ts +33 -33
- package/src/utils/hmac/createHmac/index.ts +1 -1
- package/src/utils/hmac/index.ts +4 -4
- package/src/utils/hmac/index.types.ts +13 -13
- package/src/utils/hmac/signPayload/index.ts +1 -1
- package/src/utils/hmac/signPayload/signPayload.ts +16 -16
- package/src/utils/hmac/verifySignature/index.ts +1 -1
- package/src/utils/hmac/verifySignature/verifySignature.ts +24 -24
- package/src/utils/index.ts +26 -26
- package/src/utils/jwt/index.ts +2 -2
- package/src/utils/jwt/jwt.test.ts +41 -41
- package/src/utils/jwt/jwt.ts +204 -204
- package/src/utils/jwt/jwt.types.ts +21 -21
- package/src/utils/report/index.ts +3 -3
- package/src/utils/report/output.ts +45 -45
- package/src/utils/report/output.types.ts +70 -70
- package/src/utils/report/report.test.ts +133 -133
- package/src/utils/report/report.ts +134 -134
- package/src/utils/report/report.types.ts +13 -13
- package/src/utils/request/index.ts +1 -1
- package/src/utils/request/request.test.ts +26 -26
- package/src/utils/request/request.ts +48 -48
- package/src/utils/semverCompare/index.ts +1 -1
- package/src/utils/semverCompare/semverCompare.test.ts +49 -49
- package/src/utils/semverCompare/semverCompare.ts +60 -60
- package/src/utils/sendEmail/index.ts +1 -1
- package/src/utils/sendEmail/sendEmail.ts +27 -27
- package/src/utils/sendEmail/sendEmail.types.ts +7 -7
- package/src/utils/sendPush/index.ts +2 -2
- package/src/utils/sendPush/sendPush.ts +20 -20
- package/src/utils/sendPush/sendPush.types.ts +25 -25
- package/src/utils/tlsConfig/index.ts +2 -2
- package/src/utils/tlsConfig/tlsConfig.test.ts +32 -32
- package/src/utils/tlsConfig/tlsConfig.ts +47 -47
- package/src/utils/tlsConfig/tlsConfig.types.ts +11 -11
- package/src/utils/tlsConfig/tlsConfig.validate.ts +25 -25
- package/src/utils/tlsRequest/index.ts +1 -1
- package/src/utils/tlsRequest/tlsRequest.test.ts +63 -63
- package/src/utils/tlsRequest/tlsRequest.ts +12 -12
- package/src/utils/trimPathSlash/index.ts +1 -1
- package/src/utils/trimPathSlash/trimPathSlash.test.ts +26 -26
- package/src/utils/trimPathSlash/trimPathSlash.ts +8 -8
- package/test/env.ts +56 -56
- package/test/factory/index.ts +8 -8
- package/test/factory/sequelizeMeta.ts +12 -12
- package/test/hooks.ts +37 -37
- package/test/index.ts +3 -3
- package/test/stub/index.ts +3 -3
- package/test/stub/stubLocales.ts +68 -68
- package/test/stub/stubPubSub.ts +7 -7
- package/test/stub/stubStorage.ts +77 -77
- package/test/stub/stubStorage.types.ts +11 -11
- package/test/utils/app.ts +31 -31
- package/test/utils/index.ts +1 -1
- package/tsconfig.build.json +5 -5
- package/tsconfig.json +32 -32
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
import { SocketClient } from './SocketClient';
|
|
2
|
-
import { MessageHandler } from 'entities/MessageHandler';
|
|
3
|
-
|
|
4
|
-
export type SocketClientCallback = (
|
|
5
|
-
client: SocketClient
|
|
6
|
-
) => void | Promise<void>;
|
|
7
|
-
|
|
8
|
-
/** SocketClient creation option */
|
|
9
|
-
export interface SocketClientOptions {
|
|
10
|
-
/** List of message handlers that are registered with the client */
|
|
11
|
-
handlers: Array<MessageHandler>;
|
|
12
|
-
/** Callback function that are called when the client is created */
|
|
13
|
-
initCallbacks?: SocketClientCallback | Array<SocketClientCallback>;
|
|
14
|
-
/** Callback function that are called when the client successfully authenticates */
|
|
15
|
-
authCallbacks?: SocketClientCallback | Array<SocketClientCallback>;
|
|
16
|
-
/** Callback function that are called when the client connection is terminated */
|
|
17
|
-
shutdownCallbacks?: SocketClientCallback | Array<SocketClientCallback>;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/** Socket Message abstract typing */
|
|
21
|
-
export interface SocketMessage<T = unknown> {
|
|
22
|
-
/** A string that identifies the message type */
|
|
23
|
-
type: string;
|
|
24
|
-
/** Free-form data payload of the message */
|
|
25
|
-
payload: T;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/** SocketMessage used by client for authentication */
|
|
29
|
-
export interface SocketAuthenticationMessage extends SocketMessage {
|
|
30
|
-
/** Sting that identifies the message type */
|
|
31
|
-
type: 'authenticate';
|
|
32
|
-
/** Data payload of the message */
|
|
33
|
-
payload: {
|
|
34
|
-
/** Authentication token */
|
|
35
|
-
token: string;
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/** Options for sending a message with the client */
|
|
40
|
-
export interface SocketClientSendMessageOptions {
|
|
41
|
-
/** Send message event if the user is not authenticated */
|
|
42
|
-
noAuth?: boolean;
|
|
43
|
-
/** Audience that the authenticated user must have on his token to continue */
|
|
44
|
-
audience?: string;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/** Map of socket clients connected to the server */
|
|
48
|
-
export interface SocketClientList {
|
|
49
|
-
[id: string]: SocketClient;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
/** User that authenticated though his socket */
|
|
53
|
-
export interface SocketUser {
|
|
54
|
-
/** ID od the user */
|
|
55
|
-
userId: string;
|
|
56
|
-
/** ID of the device */
|
|
57
|
-
deviceId: string;
|
|
58
|
-
/** ID of the token used */
|
|
59
|
-
tokenId: string;
|
|
60
|
-
/** Audience included in the token */
|
|
61
|
-
audience: Array<string>;
|
|
62
|
-
}
|
|
1
|
+
import { SocketClient } from './SocketClient';
|
|
2
|
+
import { MessageHandler } from 'entities/MessageHandler';
|
|
3
|
+
|
|
4
|
+
export type SocketClientCallback = (
|
|
5
|
+
client: SocketClient
|
|
6
|
+
) => void | Promise<void>;
|
|
7
|
+
|
|
8
|
+
/** SocketClient creation option */
|
|
9
|
+
export interface SocketClientOptions {
|
|
10
|
+
/** List of message handlers that are registered with the client */
|
|
11
|
+
handlers: Array<MessageHandler>;
|
|
12
|
+
/** Callback function that are called when the client is created */
|
|
13
|
+
initCallbacks?: SocketClientCallback | Array<SocketClientCallback>;
|
|
14
|
+
/** Callback function that are called when the client successfully authenticates */
|
|
15
|
+
authCallbacks?: SocketClientCallback | Array<SocketClientCallback>;
|
|
16
|
+
/** Callback function that are called when the client connection is terminated */
|
|
17
|
+
shutdownCallbacks?: SocketClientCallback | Array<SocketClientCallback>;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/** Socket Message abstract typing */
|
|
21
|
+
export interface SocketMessage<T = unknown> {
|
|
22
|
+
/** A string that identifies the message type */
|
|
23
|
+
type: string;
|
|
24
|
+
/** Free-form data payload of the message */
|
|
25
|
+
payload: T;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** SocketMessage used by client for authentication */
|
|
29
|
+
export interface SocketAuthenticationMessage extends SocketMessage {
|
|
30
|
+
/** Sting that identifies the message type */
|
|
31
|
+
type: 'authenticate';
|
|
32
|
+
/** Data payload of the message */
|
|
33
|
+
payload: {
|
|
34
|
+
/** Authentication token */
|
|
35
|
+
token: string;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/** Options for sending a message with the client */
|
|
40
|
+
export interface SocketClientSendMessageOptions {
|
|
41
|
+
/** Send message event if the user is not authenticated */
|
|
42
|
+
noAuth?: boolean;
|
|
43
|
+
/** Audience that the authenticated user must have on his token to continue */
|
|
44
|
+
audience?: string;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/** Map of socket clients connected to the server */
|
|
48
|
+
export interface SocketClientList {
|
|
49
|
+
[id: string]: SocketClient;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/** User that authenticated though his socket */
|
|
53
|
+
export interface SocketUser {
|
|
54
|
+
/** ID od the user */
|
|
55
|
+
userId: string;
|
|
56
|
+
/** ID of the device */
|
|
57
|
+
deviceId: string;
|
|
58
|
+
/** ID of the token used */
|
|
59
|
+
tokenId: string;
|
|
60
|
+
/** Audience included in the token */
|
|
61
|
+
audience: Array<string>;
|
|
62
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './SocketClient';
|
|
2
|
-
export * from './SocketClient.types';
|
|
1
|
+
export * from './SocketClient';
|
|
2
|
+
export * from './SocketClient.types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './parseMessage';
|
|
1
|
+
export * from './parseMessage';
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { expect } from 'chai';
|
|
2
|
-
import { faker } from '@faker-js/faker';
|
|
3
|
-
import { parseMessage } from './parseMessage';
|
|
4
|
-
|
|
5
|
-
describe('Entities - Socket Client - Utils - Parse Message', () => {
|
|
6
|
-
it('should transform a JSON string into an object', () => {
|
|
7
|
-
const object = { [faker.lorem.word()]: faker.lorem.word() };
|
|
8
|
-
const result = parseMessage(JSON.stringify(object));
|
|
9
|
-
expect(result).to.deep.equal(object);
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
it('should throw an error if the input is not parsable', () => {
|
|
13
|
-
const object = faker.lorem.word();
|
|
14
|
-
expect(() => parseMessage(JSON.stringify(object))).to.throw;
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
it('should throw an error if the input is not an object when parsed', () => {
|
|
18
|
-
expect(() => parseMessage(JSON.stringify([faker.lorem.word()]))).to.throw;
|
|
19
|
-
});
|
|
20
|
-
});
|
|
1
|
+
import { expect } from 'chai';
|
|
2
|
+
import { faker } from '@faker-js/faker';
|
|
3
|
+
import { parseMessage } from './parseMessage';
|
|
4
|
+
|
|
5
|
+
describe('Entities - Socket Client - Utils - Parse Message', () => {
|
|
6
|
+
it('should transform a JSON string into an object', () => {
|
|
7
|
+
const object = { [faker.lorem.word()]: faker.lorem.word() };
|
|
8
|
+
const result = parseMessage(JSON.stringify(object));
|
|
9
|
+
expect(result).to.deep.equal(object);
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
it('should throw an error if the input is not parsable', () => {
|
|
13
|
+
const object = faker.lorem.word();
|
|
14
|
+
expect(() => parseMessage(JSON.stringify(object))).to.throw;
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
it('should throw an error if the input is not an object when parsed', () => {
|
|
18
|
+
expect(() => parseMessage(JSON.stringify([faker.lorem.word()]))).to.throw;
|
|
19
|
+
});
|
|
20
|
+
});
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { SocketMessage } from '../SocketClient.types';
|
|
2
|
-
import { WebError } from 'entities/WebError';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Parse an incoming message into a JSON object
|
|
6
|
-
*/
|
|
7
|
-
export function parseMessage(data: string): SocketMessage {
|
|
8
|
-
try {
|
|
9
|
-
const message = JSON.parse(data) as SocketMessage;
|
|
10
|
-
if (message.constructor.name !== 'Object')
|
|
11
|
-
throw new WebError({
|
|
12
|
-
statusCode: 400,
|
|
13
|
-
errorCode: 'non-json',
|
|
14
|
-
message: 'Received message is not an object',
|
|
15
|
-
data: { data }
|
|
16
|
-
});
|
|
17
|
-
return message;
|
|
18
|
-
} catch {
|
|
19
|
-
throw new WebError({
|
|
20
|
-
statusCode: 400,
|
|
21
|
-
errorCode: 'non-json',
|
|
22
|
-
message: 'Received message is not valid JSON',
|
|
23
|
-
data: { data }
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
}
|
|
1
|
+
import { SocketMessage } from '../SocketClient.types';
|
|
2
|
+
import { WebError } from 'entities/WebError';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Parse an incoming message into a JSON object
|
|
6
|
+
*/
|
|
7
|
+
export function parseMessage(data: string): SocketMessage {
|
|
8
|
+
try {
|
|
9
|
+
const message = JSON.parse(data) as SocketMessage;
|
|
10
|
+
if (message.constructor.name !== 'Object')
|
|
11
|
+
throw new WebError({
|
|
12
|
+
statusCode: 400,
|
|
13
|
+
errorCode: 'non-json',
|
|
14
|
+
message: 'Received message is not an object',
|
|
15
|
+
data: { data }
|
|
16
|
+
});
|
|
17
|
+
return message;
|
|
18
|
+
} catch {
|
|
19
|
+
throw new WebError({
|
|
20
|
+
statusCode: 400,
|
|
21
|
+
errorCode: 'non-json',
|
|
22
|
+
message: 'Received message is not valid JSON',
|
|
23
|
+
data: { data }
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
import { expect } from 'chai';
|
|
2
|
-
import { faker } from '@faker-js/faker';
|
|
3
|
-
import validator from 'validator';
|
|
4
|
-
import { Storage } from './Storage';
|
|
5
|
-
|
|
6
|
-
describe('Storage', function () {
|
|
7
|
-
it('should generate path info for a regular file', function () {
|
|
8
|
-
const path = Storage.generateFileDestination();
|
|
9
|
-
// eslint-disable-next-line import/no-named-as-default-member
|
|
10
|
-
expect(validator.isUUID(path)).to.be.true;
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
it('should add a path to a file', function () {
|
|
14
|
-
const directory = `${faker.lorem.word()}`;
|
|
15
|
-
const path = Storage.generateFileDestination({
|
|
16
|
-
directory
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
expect(path.startsWith(directory)).to.be.true;
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
it('should add a path to a file but remove appended slash', function () {
|
|
23
|
-
const directory = `${faker.lorem.word()}`;
|
|
24
|
-
const path = Storage.generateFileDestination({
|
|
25
|
-
directory: '/' + directory
|
|
26
|
-
});
|
|
27
|
-
expect(path.startsWith(directory)).to.be.true;
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
it('should not append an extension if specified', function () {
|
|
31
|
-
const directory = `${faker.lorem.word()}`;
|
|
32
|
-
const mimeType = 'image/png';
|
|
33
|
-
const path = Storage.generateFileDestination({
|
|
34
|
-
directory,
|
|
35
|
-
mime: mimeType,
|
|
36
|
-
noExtension: true
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
const resultExt = path.split('.')[1];
|
|
40
|
-
|
|
41
|
-
expect(path.startsWith(directory)).to.be.true;
|
|
42
|
-
expect(resultExt).to.be.undefined;
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
it('should append an extension if specified', function () {
|
|
46
|
-
const directory = `${faker.lorem.word()}`;
|
|
47
|
-
const mimeType = 'image/png';
|
|
48
|
-
const path = Storage.generateFileDestination({
|
|
49
|
-
directory,
|
|
50
|
-
mime: mimeType
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
const resultExt = path.split('.')[1];
|
|
54
|
-
|
|
55
|
-
expect(path.startsWith(directory)).to.be.true;
|
|
56
|
-
expect(resultExt).to.equal('png');
|
|
57
|
-
});
|
|
58
|
-
});
|
|
1
|
+
import { expect } from 'chai';
|
|
2
|
+
import { faker } from '@faker-js/faker';
|
|
3
|
+
import validator from 'validator';
|
|
4
|
+
import { Storage } from './Storage';
|
|
5
|
+
|
|
6
|
+
describe('Storage', function () {
|
|
7
|
+
it('should generate path info for a regular file', function () {
|
|
8
|
+
const path = Storage.generateFileDestination();
|
|
9
|
+
// eslint-disable-next-line import/no-named-as-default-member
|
|
10
|
+
expect(validator.isUUID(path)).to.be.true;
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
it('should add a path to a file', function () {
|
|
14
|
+
const directory = `${faker.lorem.word()}`;
|
|
15
|
+
const path = Storage.generateFileDestination({
|
|
16
|
+
directory
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
expect(path.startsWith(directory)).to.be.true;
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
it('should add a path to a file but remove appended slash', function () {
|
|
23
|
+
const directory = `${faker.lorem.word()}`;
|
|
24
|
+
const path = Storage.generateFileDestination({
|
|
25
|
+
directory: '/' + directory
|
|
26
|
+
});
|
|
27
|
+
expect(path.startsWith(directory)).to.be.true;
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
it('should not append an extension if specified', function () {
|
|
31
|
+
const directory = `${faker.lorem.word()}`;
|
|
32
|
+
const mimeType = 'image/png';
|
|
33
|
+
const path = Storage.generateFileDestination({
|
|
34
|
+
directory,
|
|
35
|
+
mime: mimeType,
|
|
36
|
+
noExtension: true
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
const resultExt = path.split('.')[1];
|
|
40
|
+
|
|
41
|
+
expect(path.startsWith(directory)).to.be.true;
|
|
42
|
+
expect(resultExt).to.be.undefined;
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
it('should append an extension if specified', function () {
|
|
46
|
+
const directory = `${faker.lorem.word()}`;
|
|
47
|
+
const mimeType = 'image/png';
|
|
48
|
+
const path = Storage.generateFileDestination({
|
|
49
|
+
directory,
|
|
50
|
+
mime: mimeType
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
const resultExt = path.split('.')[1];
|
|
54
|
+
|
|
55
|
+
expect(path.startsWith(directory)).to.be.true;
|
|
56
|
+
expect(resultExt).to.equal('png');
|
|
57
|
+
});
|
|
58
|
+
});
|