node-server-engine 1.0.5
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 +191 -0
- package/.mocharc.js +13 -0
- package/.nycrc +18 -0
- package/.prettierrc +7 -0
- package/Dockerfile +31 -0
- package/README.md +960 -0
- package/babel.config.json +35 -0
- package/dist/const/DebeziumEvent.d.ts +6 -0
- package/dist/const/DebeziumEvent.js +14 -0
- package/dist/const/DebeziumEvent.js.map +1 -0
- package/dist/const/LogSeverity.d.ts +7 -0
- package/dist/const/LogSeverity.js +15 -0
- package/dist/const/LogSeverity.js.map +1 -0
- package/dist/const/index.d.ts +5 -0
- package/dist/const/index.js +61 -0
- package/dist/const/index.js.map +1 -0
- package/dist/const/metrics.d.ts +3 -0
- package/dist/const/metrics.js +12 -0
- package/dist/const/metrics.js.map +1 -0
- package/dist/const/mime.d.ts +9 -0
- package/dist/const/mime.js +16 -0
- package/dist/const/mime.js.map +1 -0
- package/dist/const/tokenIssuer.d.ts +8 -0
- package/dist/const/tokenIssuer.js +14 -0
- package/dist/const/tokenIssuer.js.map +1 -0
- package/dist/db/migrations/20241030121500-create-sequelize-meta-table.d.ts +3 -0
- package/dist/db/migrations/20241030121500-create-sequelize-meta-table.js +32 -0
- package/dist/db/migrations/20241030121500-create-sequelize-meta-table.js.map +1 -0
- package/dist/db/models/SequelizeMeta.d.ts +5 -0
- package/dist/db/models/SequelizeMeta.js +48 -0
- package/dist/db/models/SequelizeMeta.js.map +1 -0
- package/dist/db/models/index.d.ts +1 -0
- package/dist/db/models/index.js +17 -0
- package/dist/db/models/index.js.map +1 -0
- package/dist/entities/ElasticSearch/ElasticSearch.d.ts +15 -0
- package/dist/entities/ElasticSearch/ElasticSearch.js +114 -0
- package/dist/entities/ElasticSearch/ElasticSearch.js.map +1 -0
- package/dist/entities/ElasticSearch/ElasticSearch.types.d.ts +6 -0
- package/dist/entities/ElasticSearch/ElasticSearch.types.js +2 -0
- package/dist/entities/ElasticSearch/ElasticSearch.types.js.map +1 -0
- package/dist/entities/ElasticSearch/index.d.ts +2 -0
- package/dist/entities/ElasticSearch/index.js +28 -0
- package/dist/entities/ElasticSearch/index.js.map +1 -0
- package/dist/entities/Endpoint/Endpoint.d.ts +39 -0
- package/dist/entities/Endpoint/Endpoint.js +174 -0
- package/dist/entities/Endpoint/Endpoint.js.map +1 -0
- package/dist/entities/Endpoint/Endpoint.types.d.ts +133 -0
- package/dist/entities/Endpoint/Endpoint.types.js +63 -0
- package/dist/entities/Endpoint/Endpoint.types.js.map +1 -0
- package/dist/entities/Endpoint/index.d.ts +2 -0
- package/dist/entities/Endpoint/index.js +28 -0
- package/dist/entities/Endpoint/index.js.map +1 -0
- package/dist/entities/EngineError/EngineError.d.ts +17 -0
- package/dist/entities/EngineError/EngineError.js +46 -0
- package/dist/entities/EngineError/EngineError.js.map +1 -0
- package/dist/entities/EngineError/EngineError.types.d.ts +14 -0
- package/dist/entities/EngineError/EngineError.types.js +2 -0
- package/dist/entities/EngineError/EngineError.types.js.map +1 -0
- package/dist/entities/EngineError/index.d.ts +2 -0
- package/dist/entities/EngineError/index.js +28 -0
- package/dist/entities/EngineError/index.js.map +1 -0
- package/dist/entities/KeySet/KeySet.d.ts +33 -0
- package/dist/entities/KeySet/KeySet.js +201 -0
- package/dist/entities/KeySet/KeySet.js.map +1 -0
- package/dist/entities/KeySet/KeySet.types.d.ts +25 -0
- package/dist/entities/KeySet/KeySet.types.js +2 -0
- package/dist/entities/KeySet/KeySet.types.js.map +1 -0
- package/dist/entities/KeySet/index.d.ts +2 -0
- package/dist/entities/KeySet/index.js +28 -0
- package/dist/entities/KeySet/index.js.map +1 -0
- package/dist/entities/LifecycleController/LifecycleController.d.ts +10 -0
- package/dist/entities/LifecycleController/LifecycleController.js +28 -0
- package/dist/entities/LifecycleController/LifecycleController.js.map +1 -0
- package/dist/entities/LifecycleController/LifecycleController.types.d.ts +5 -0
- package/dist/entities/LifecycleController/LifecycleController.types.js +2 -0
- package/dist/entities/LifecycleController/LifecycleController.types.js.map +1 -0
- package/dist/entities/LifecycleController/index.d.ts +2 -0
- package/dist/entities/LifecycleController/index.js +28 -0
- package/dist/entities/LifecycleController/index.js.map +1 -0
- package/dist/entities/Localizator/Localizator.d.ts +28 -0
- package/dist/entities/Localizator/Localizator.js +128 -0
- package/dist/entities/Localizator/Localizator.js.map +1 -0
- package/dist/entities/Localizator/Localizator.types.d.ts +48 -0
- package/dist/entities/Localizator/Localizator.types.js +2 -0
- package/dist/entities/Localizator/Localizator.types.js.map +1 -0
- package/dist/entities/Localizator/guessNamingConvention/guessNamingConvention.d.ts +8 -0
- package/dist/entities/Localizator/guessNamingConvention/guessNamingConvention.js +48 -0
- package/dist/entities/Localizator/guessNamingConvention/guessNamingConvention.js.map +1 -0
- package/dist/entities/Localizator/guessNamingConvention/index.d.ts +1 -0
- package/dist/entities/Localizator/guessNamingConvention/index.js +17 -0
- package/dist/entities/Localizator/guessNamingConvention/index.js.map +1 -0
- package/dist/entities/Localizator/index.d.ts +2 -0
- package/dist/entities/Localizator/index.js +28 -0
- package/dist/entities/Localizator/index.js.map +1 -0
- package/dist/entities/MessageHandler/MessageHandler.d.ts +20 -0
- package/dist/entities/MessageHandler/MessageHandler.js +65 -0
- package/dist/entities/MessageHandler/MessageHandler.js.map +1 -0
- package/dist/entities/MessageHandler/MessageHandler.types.d.ts +10 -0
- package/dist/entities/MessageHandler/MessageHandler.types.js +2 -0
- package/dist/entities/MessageHandler/MessageHandler.types.js.map +1 -0
- package/dist/entities/MessageHandler/index.d.ts +2 -0
- package/dist/entities/MessageHandler/index.js +28 -0
- package/dist/entities/MessageHandler/index.js.map +1 -0
- package/dist/entities/PubSub/PubSub.d.ts +36 -0
- package/dist/entities/PubSub/PubSub.js +167 -0
- package/dist/entities/PubSub/PubSub.js.map +1 -0
- package/dist/entities/PubSub/PubSub.types.d.ts +61 -0
- package/dist/entities/PubSub/PubSub.types.js +2 -0
- package/dist/entities/PubSub/PubSub.types.js.map +1 -0
- package/dist/entities/PubSub/handleMessage/handleMessage.d.ts +10 -0
- package/dist/entities/PubSub/handleMessage/handleMessage.js +63 -0
- package/dist/entities/PubSub/handleMessage/handleMessage.js.map +1 -0
- package/dist/entities/PubSub/handleMessage/index.d.ts +1 -0
- package/dist/entities/PubSub/handleMessage/index.js +17 -0
- package/dist/entities/PubSub/handleMessage/index.js.map +1 -0
- package/dist/entities/PubSub/index.d.ts +2 -0
- package/dist/entities/PubSub/index.js +28 -0
- package/dist/entities/PubSub/index.js.map +1 -0
- package/dist/entities/PushNotification/PushNotification.d.ts +11 -0
- package/dist/entities/PushNotification/PushNotification.js +44 -0
- package/dist/entities/PushNotification/PushNotification.js.map +1 -0
- package/dist/entities/PushNotification/PushNotification.types.d.ts +25 -0
- package/dist/entities/PushNotification/PushNotification.types.js +2 -0
- package/dist/entities/PushNotification/PushNotification.types.js.map +1 -0
- package/dist/entities/PushNotification/index.d.ts +2 -0
- package/dist/entities/PushNotification/index.js +28 -0
- package/dist/entities/PushNotification/index.js.map +1 -0
- package/dist/entities/Redis/Redis.d.ts +19 -0
- package/dist/entities/Redis/Redis.js +75 -0
- package/dist/entities/Redis/Redis.js.map +1 -0
- package/dist/entities/Redis/Redis.types.d.ts +16 -0
- package/dist/entities/Redis/Redis.types.js +2 -0
- package/dist/entities/Redis/Redis.types.js.map +1 -0
- package/dist/entities/Redis/Redis.validate.d.ts +5 -0
- package/dist/entities/Redis/Redis.validate.js +21 -0
- package/dist/entities/Redis/Redis.validate.js.map +1 -0
- package/dist/entities/Redis/index.d.ts +2 -0
- package/dist/entities/Redis/index.js +35 -0
- package/dist/entities/Redis/index.js.map +1 -0
- package/dist/entities/Sequelize/Sequelize.config.d.ts +7 -0
- package/dist/entities/Sequelize/Sequelize.config.js +32 -0
- package/dist/entities/Sequelize/Sequelize.config.js.map +1 -0
- package/dist/entities/Sequelize/Sequelize.d.ts +14 -0
- package/dist/entities/Sequelize/Sequelize.js +70 -0
- package/dist/entities/Sequelize/Sequelize.js.map +1 -0
- package/dist/entities/Sequelize/Sequelize.types.d.ts +9 -0
- package/dist/entities/Sequelize/Sequelize.types.js +2 -0
- package/dist/entities/Sequelize/Sequelize.types.js.map +1 -0
- package/dist/entities/Sequelize/Sequelize.validate.d.ts +4 -0
- package/dist/entities/Sequelize/Sequelize.validate.js +27 -0
- package/dist/entities/Sequelize/Sequelize.validate.js.map +1 -0
- package/dist/entities/Sequelize/index.d.ts +2 -0
- package/dist/entities/Sequelize/index.js +28 -0
- package/dist/entities/Sequelize/index.js.map +1 -0
- package/dist/entities/Server/Server.const.d.ts +5 -0
- package/dist/entities/Server/Server.const.js +45 -0
- package/dist/entities/Server/Server.const.js.map +1 -0
- package/dist/entities/Server/Server.d.ts +61 -0
- package/dist/entities/Server/Server.js +380 -0
- package/dist/entities/Server/Server.js.map +1 -0
- package/dist/entities/Server/Server.types.d.ts +75 -0
- package/dist/entities/Server/Server.types.js +2 -0
- package/dist/entities/Server/Server.types.js.map +1 -0
- package/dist/entities/Server/index.d.ts +2 -0
- package/dist/entities/Server/index.js +28 -0
- package/dist/entities/Server/index.js.map +1 -0
- package/dist/entities/SocketClient/SocketClient.d.ts +79 -0
- package/dist/entities/SocketClient/SocketClient.js +394 -0
- package/dist/entities/SocketClient/SocketClient.js.map +1 -0
- package/dist/entities/SocketClient/SocketClient.types.d.ts +53 -0
- package/dist/entities/SocketClient/SocketClient.types.js +2 -0
- package/dist/entities/SocketClient/SocketClient.types.js.map +1 -0
- package/dist/entities/SocketClient/index.d.ts +2 -0
- package/dist/entities/SocketClient/index.js +28 -0
- package/dist/entities/SocketClient/index.js.map +1 -0
- package/dist/entities/SocketClient/parseMessage/index.d.ts +1 -0
- package/dist/entities/SocketClient/parseMessage/index.js +17 -0
- package/dist/entities/SocketClient/parseMessage/index.js.map +1 -0
- package/dist/entities/SocketClient/parseMessage/parseMessage.d.ts +5 -0
- package/dist/entities/SocketClient/parseMessage/parseMessage.js +34 -0
- package/dist/entities/SocketClient/parseMessage/parseMessage.js.map +1 -0
- package/dist/entities/Storage/Storage.d.ts +38 -0
- package/dist/entities/Storage/Storage.js +214 -0
- package/dist/entities/Storage/Storage.js.map +1 -0
- package/dist/entities/Storage/Storage.types.d.ts +52 -0
- package/dist/entities/Storage/Storage.types.js +2 -0
- package/dist/entities/Storage/Storage.types.js.map +1 -0
- package/dist/entities/Storage/index.d.ts +2 -0
- package/dist/entities/Storage/index.js +28 -0
- package/dist/entities/Storage/index.js.map +1 -0
- package/dist/entities/ValidationError/ValidationError.d.ts +7 -0
- package/dist/entities/ValidationError/ValidationError.js +44 -0
- package/dist/entities/ValidationError/ValidationError.js.map +1 -0
- package/dist/entities/ValidationError/index.d.ts +1 -0
- package/dist/entities/ValidationError/index.js +17 -0
- package/dist/entities/ValidationError/index.js.map +1 -0
- package/dist/entities/WebError/WebError.d.ts +15 -0
- package/dist/entities/WebError/WebError.js +42 -0
- package/dist/entities/WebError/WebError.js.map +1 -0
- package/dist/entities/WebError/WebError.types.d.ts +8 -0
- package/dist/entities/WebError/WebError.types.js +2 -0
- package/dist/entities/WebError/WebError.types.js.map +1 -0
- package/dist/entities/WebError/index.d.ts +2 -0
- package/dist/entities/WebError/index.js +28 -0
- package/dist/entities/WebError/index.js.map +1 -0
- package/dist/entities/index.d.ts +16 -0
- package/dist/entities/index.js +182 -0
- package/dist/entities/index.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +50 -0
- package/dist/index.js.map +1 -0
- package/dist/metrics/debug.d.ts +2 -0
- package/dist/metrics/debug.js +15 -0
- package/dist/metrics/debug.js.map +1 -0
- package/dist/metrics/index.d.ts +2 -0
- package/dist/metrics/index.js +28 -0
- package/dist/metrics/index.js.map +1 -0
- package/dist/metrics/request.d.ts +3 -0
- package/dist/metrics/request.js +22 -0
- package/dist/metrics/request.js.map +1 -0
- package/dist/middleware/authAdmin/authAdmin.d.ts +4 -0
- package/dist/middleware/authAdmin/authAdmin.js +105 -0
- package/dist/middleware/authAdmin/authAdmin.js.map +1 -0
- package/dist/middleware/authAdmin/authAdmin.types.d.ts +16 -0
- package/dist/middleware/authAdmin/authAdmin.types.js +2 -0
- package/dist/middleware/authAdmin/authAdmin.types.js.map +1 -0
- package/dist/middleware/authAdmin/index.d.ts +2 -0
- package/dist/middleware/authAdmin/index.js +28 -0
- package/dist/middleware/authAdmin/index.js.map +1 -0
- package/dist/middleware/authHmac/authHmac.d.ts +4 -0
- package/dist/middleware/authHmac/authHmac.js +57 -0
- package/dist/middleware/authHmac/authHmac.js.map +1 -0
- package/dist/middleware/authHmac/authHmac.types.d.ts +7 -0
- package/dist/middleware/authHmac/authHmac.types.js +2 -0
- package/dist/middleware/authHmac/authHmac.types.js.map +1 -0
- package/dist/middleware/authHmac/index.d.ts +2 -0
- package/dist/middleware/authHmac/index.js +28 -0
- package/dist/middleware/authHmac/index.js.map +1 -0
- package/dist/middleware/authJwt/authJwt.d.ts +3 -0
- package/dist/middleware/authJwt/authJwt.js +56 -0
- package/dist/middleware/authJwt/authJwt.js.map +1 -0
- package/dist/middleware/authJwt/authJwt.types.d.ts +22 -0
- package/dist/middleware/authJwt/authJwt.types.js +2 -0
- package/dist/middleware/authJwt/authJwt.types.js.map +1 -0
- package/dist/middleware/authJwt/index.d.ts +2 -0
- package/dist/middleware/authJwt/index.js +28 -0
- package/dist/middleware/authJwt/index.js.map +1 -0
- package/dist/middleware/authStatic/authStatic.d.ts +6 -0
- package/dist/middleware/authStatic/authStatic.js +54 -0
- package/dist/middleware/authStatic/authStatic.js.map +1 -0
- package/dist/middleware/authStatic/index.d.ts +1 -0
- package/dist/middleware/authStatic/index.js +17 -0
- package/dist/middleware/authStatic/index.js.map +1 -0
- package/dist/middleware/authTls/authTls.d.ts +16 -0
- package/dist/middleware/authTls/authTls.js +102 -0
- package/dist/middleware/authTls/authTls.js.map +1 -0
- package/dist/middleware/authTls/authTls.types.d.ts +10 -0
- package/dist/middleware/authTls/authTls.types.js +6 -0
- package/dist/middleware/authTls/authTls.types.js.map +1 -0
- package/dist/middleware/authTls/index.d.ts +2 -0
- package/dist/middleware/authTls/index.js +18 -0
- package/dist/middleware/authTls/index.js.map +1 -0
- package/dist/middleware/error/error.d.ts +3 -0
- package/dist/middleware/error/error.js +34 -0
- package/dist/middleware/error/error.js.map +1 -0
- package/dist/middleware/error/index.d.ts +1 -0
- package/dist/middleware/error/index.js +17 -0
- package/dist/middleware/error/index.js.map +1 -0
- package/dist/middleware/fileUploader/compressAvatar/compressAvatar.d.ts +6 -0
- package/dist/middleware/fileUploader/compressAvatar/compressAvatar.js +28 -0
- package/dist/middleware/fileUploader/compressAvatar/compressAvatar.js.map +1 -0
- package/dist/middleware/fileUploader/compressAvatar/compressAvatar.types.d.ts +12 -0
- package/dist/middleware/fileUploader/compressAvatar/compressAvatar.types.js +2 -0
- package/dist/middleware/fileUploader/compressAvatar/compressAvatar.types.js.map +1 -0
- package/dist/middleware/fileUploader/compressAvatar/index.d.ts +2 -0
- package/dist/middleware/fileUploader/compressAvatar/index.js +28 -0
- package/dist/middleware/fileUploader/compressAvatar/index.js.map +1 -0
- package/dist/middleware/fileUploader/fileUploader.d.ts +10 -0
- package/dist/middleware/fileUploader/fileUploader.js +296 -0
- package/dist/middleware/fileUploader/fileUploader.js.map +1 -0
- package/dist/middleware/fileUploader/fileUploader.types.d.ts +49 -0
- package/dist/middleware/fileUploader/fileUploader.types.js +2 -0
- package/dist/middleware/fileUploader/fileUploader.types.js.map +1 -0
- package/dist/middleware/fileUploader/index.d.ts +2 -0
- package/dist/middleware/fileUploader/index.js +28 -0
- package/dist/middleware/fileUploader/index.js.map +1 -0
- package/dist/middleware/fileUploader/isMultiPart/index.d.ts +1 -0
- package/dist/middleware/fileUploader/isMultiPart/index.js +17 -0
- package/dist/middleware/fileUploader/isMultiPart/index.js.map +1 -0
- package/dist/middleware/fileUploader/isMultiPart/isMultipart.d.ts +3 -0
- package/dist/middleware/fileUploader/isMultiPart/isMultipart.js +14 -0
- package/dist/middleware/fileUploader/isMultiPart/isMultipart.js.map +1 -0
- package/dist/middleware/fileUploader/validate/index.d.ts +1 -0
- package/dist/middleware/fileUploader/validate/index.js +17 -0
- package/dist/middleware/fileUploader/validate/index.js.map +1 -0
- package/dist/middleware/fileUploader/validate/validate.d.ts +4 -0
- package/dist/middleware/fileUploader/validate/validate.js +28 -0
- package/dist/middleware/fileUploader/validate/validate.js.map +1 -0
- package/dist/middleware/fourOhFour/fourOhFour.d.ts +3 -0
- package/dist/middleware/fourOhFour/fourOhFour.js +18 -0
- package/dist/middleware/fourOhFour/fourOhFour.js.map +1 -0
- package/dist/middleware/fourOhFour/index.d.ts +1 -0
- package/dist/middleware/fourOhFour/index.js +17 -0
- package/dist/middleware/fourOhFour/index.js.map +1 -0
- package/dist/middleware/healthCheck/healthCheck.d.ts +5 -0
- package/dist/middleware/healthCheck/healthCheck.js +18 -0
- package/dist/middleware/healthCheck/healthCheck.js.map +1 -0
- package/dist/middleware/healthCheck/index.d.ts +1 -0
- package/dist/middleware/healthCheck/index.js +17 -0
- package/dist/middleware/healthCheck/index.js.map +1 -0
- package/dist/middleware/index.d.ts +15 -0
- package/dist/middleware/index.js +171 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/metrics/index.d.ts +1 -0
- package/dist/middleware/metrics/index.js +17 -0
- package/dist/middleware/metrics/index.js.map +1 -0
- package/dist/middleware/metrics/metrics.d.ts +3 -0
- package/dist/middleware/metrics/metrics.js +28 -0
- package/dist/middleware/metrics/metrics.js.map +1 -0
- package/dist/middleware/requestMetrics/index.d.ts +1 -0
- package/dist/middleware/requestMetrics/index.js +17 -0
- package/dist/middleware/requestMetrics/index.js.map +1 -0
- package/dist/middleware/requestMetrics/requestMetrics.d.ts +2 -0
- package/dist/middleware/requestMetrics/requestMetrics.js +21 -0
- package/dist/middleware/requestMetrics/requestMetrics.js.map +1 -0
- package/dist/middleware/swaggerDocs/index.d.ts +2 -0
- package/dist/middleware/swaggerDocs/index.js +28 -0
- package/dist/middleware/swaggerDocs/index.js.map +1 -0
- package/dist/middleware/swaggerDocs/swaggerDocs.d.ts +6 -0
- package/dist/middleware/swaggerDocs/swaggerDocs.js +103 -0
- package/dist/middleware/swaggerDocs/swaggerDocs.js.map +1 -0
- package/dist/middleware/swaggerDocs/swaggerDocs.types.d.ts +37 -0
- package/dist/middleware/swaggerDocs/swaggerDocs.types.js +2 -0
- package/dist/middleware/swaggerDocs/swaggerDocs.types.js.map +1 -0
- package/dist/middleware/userResolver/index.d.ts +1 -0
- package/dist/middleware/userResolver/index.js +17 -0
- package/dist/middleware/userResolver/index.js.map +1 -0
- package/dist/middleware/userResolver/userResolver.d.ts +3 -0
- package/dist/middleware/userResolver/userResolver.js +41 -0
- package/dist/middleware/userResolver/userResolver.js.map +1 -0
- package/dist/middleware/validate/index.d.ts +1 -0
- package/dist/middleware/validate/index.js +17 -0
- package/dist/middleware/validate/index.js.map +1 -0
- package/dist/middleware/validate/validate.d.ts +4 -0
- package/dist/middleware/validate/validate.js +19 -0
- package/dist/middleware/validate/validate.js.map +1 -0
- package/dist/middleware/version/index.d.ts +1 -0
- package/dist/middleware/version/index.js +17 -0
- package/dist/middleware/version/index.js.map +1 -0
- package/dist/middleware/version/version.d.ts +6 -0
- package/dist/middleware/version/version.js +21 -0
- package/dist/middleware/version/version.js.map +1 -0
- package/dist/utils/checkEnvironment/index.d.ts +13 -0
- package/dist/utils/checkEnvironment/index.js +62 -0
- package/dist/utils/checkEnvironment/index.js.map +1 -0
- package/dist/utils/createHttpServer/createHttpServer.d.ts +5 -0
- package/dist/utils/createHttpServer/createHttpServer.js +30 -0
- package/dist/utils/createHttpServer/createHttpServer.js.map +1 -0
- package/dist/utils/createHttpServer/createHttpServer.validate.d.ts +4 -0
- package/dist/utils/createHttpServer/createHttpServer.validate.js +31 -0
- package/dist/utils/createHttpServer/createHttpServer.validate.js.map +1 -0
- package/dist/utils/createHttpServer/index.d.ts +1 -0
- package/dist/utils/createHttpServer/index.js +17 -0
- package/dist/utils/createHttpServer/index.js.map +1 -0
- package/dist/utils/createSortedObject/createSortedObject.d.ts +2 -0
- package/dist/utils/createSortedObject/createSortedObject.js +21 -0
- package/dist/utils/createSortedObject/createSortedObject.js.map +1 -0
- package/dist/utils/createSortedObject/index.d.ts +1 -0
- package/dist/utils/createSortedObject/index.js +17 -0
- package/dist/utils/createSortedObject/index.js.map +1 -0
- package/dist/utils/dbMigration/dbMigration.d.ts +17 -0
- package/dist/utils/dbMigration/dbMigration.js +207 -0
- package/dist/utils/dbMigration/dbMigration.js.map +1 -0
- package/dist/utils/dbMigration/dbMigration.types.d.ts +10 -0
- package/dist/utils/dbMigration/dbMigration.types.js +2 -0
- package/dist/utils/dbMigration/dbMigration.types.js.map +1 -0
- package/dist/utils/dbMigration/index.d.ts +2 -0
- package/dist/utils/dbMigration/index.js +28 -0
- package/dist/utils/dbMigration/index.js.map +1 -0
- package/dist/utils/dbMigration/migrateMetadataTable/index.d.ts +1 -0
- package/dist/utils/dbMigration/migrateMetadataTable/index.js +17 -0
- package/dist/utils/dbMigration/migrateMetadataTable/index.js.map +1 -0
- package/dist/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.d.ts +7 -0
- package/dist/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.js +63 -0
- package/dist/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.js.map +1 -0
- package/dist/utils/envAssert/envAssert.d.ts +21 -0
- package/dist/utils/envAssert/envAssert.js +30 -0
- package/dist/utils/envAssert/envAssert.js.map +1 -0
- package/dist/utils/envAssert/index.d.ts +1 -0
- package/dist/utils/envAssert/index.js +17 -0
- package/dist/utils/envAssert/index.js.map +1 -0
- package/dist/utils/envAssert/validators/hostList.d.ts +4 -0
- package/dist/utils/envAssert/validators/hostList.js +22 -0
- package/dist/utils/envAssert/validators/hostList.js.map +1 -0
- package/dist/utils/envAssert/validators/index.d.ts +5 -0
- package/dist/utils/envAssert/validators/index.js +61 -0
- package/dist/utils/envAssert/validators/index.js.map +1 -0
- package/dist/utils/envAssert/validators/ipList.d.ts +4 -0
- package/dist/utils/envAssert/validators/ipList.js +20 -0
- package/dist/utils/envAssert/validators/ipList.js.map +1 -0
- package/dist/utils/envAssert/validators/path.d.ts +4 -0
- package/dist/utils/envAssert/validators/path.js +19 -0
- package/dist/utils/envAssert/validators/path.js.map +1 -0
- package/dist/utils/envAssert/validators/string.d.ts +4 -0
- package/dist/utils/envAssert/validators/string.js +15 -0
- package/dist/utils/envAssert/validators/string.js.map +1 -0
- package/dist/utils/envAssert/validators/stringList.d.ts +5 -0
- package/dist/utils/envAssert/validators/stringList.js +19 -0
- package/dist/utils/envAssert/validators/stringList.js.map +1 -0
- package/dist/utils/filter/filter.d.ts +6 -0
- package/dist/utils/filter/filter.js +21 -0
- package/dist/utils/filter/filter.js.map +1 -0
- package/dist/utils/filter/index.d.ts +1 -0
- package/dist/utils/filter/index.js +17 -0
- package/dist/utils/filter/index.js.map +1 -0
- package/dist/utils/getDynamicLink/getDynamicLink.d.ts +3 -0
- package/dist/utils/getDynamicLink/getDynamicLink.js +28 -0
- package/dist/utils/getDynamicLink/getDynamicLink.js.map +1 -0
- package/dist/utils/getDynamicLink/getDynamicLink.types.d.ts +10 -0
- package/dist/utils/getDynamicLink/getDynamicLink.types.js +2 -0
- package/dist/utils/getDynamicLink/getDynamicLink.types.js.map +1 -0
- package/dist/utils/getDynamicLink/getDynamicLink.validate.d.ts +2 -0
- package/dist/utils/getDynamicLink/getDynamicLink.validate.js +14 -0
- package/dist/utils/getDynamicLink/getDynamicLink.validate.js.map +1 -0
- package/dist/utils/getDynamicLink/index.d.ts +2 -0
- package/dist/utils/getDynamicLink/index.js +28 -0
- package/dist/utils/getDynamicLink/index.js.map +1 -0
- package/dist/utils/hmac/checkEnv/checkEnv.d.ts +4 -0
- package/dist/utils/hmac/checkEnv/checkEnv.js +17 -0
- package/dist/utils/hmac/checkEnv/checkEnv.js.map +1 -0
- package/dist/utils/hmac/checkEnv/index.d.ts +1 -0
- package/dist/utils/hmac/checkEnv/index.js +17 -0
- package/dist/utils/hmac/checkEnv/index.js.map +1 -0
- package/dist/utils/hmac/createHmac/createHmac.d.ts +3 -0
- package/dist/utils/hmac/createHmac/createHmac.js +33 -0
- package/dist/utils/hmac/createHmac/createHmac.js.map +1 -0
- package/dist/utils/hmac/createHmac/index.d.ts +1 -0
- package/dist/utils/hmac/createHmac/index.js +17 -0
- package/dist/utils/hmac/createHmac/index.js.map +1 -0
- package/dist/utils/hmac/index.d.ts +4 -0
- package/dist/utils/hmac/index.js +50 -0
- package/dist/utils/hmac/index.js.map +1 -0
- package/dist/utils/hmac/index.types.d.ts +12 -0
- package/dist/utils/hmac/index.types.js +2 -0
- package/dist/utils/hmac/index.types.js.map +1 -0
- package/dist/utils/hmac/signPayload/index.d.ts +1 -0
- package/dist/utils/hmac/signPayload/index.js +17 -0
- package/dist/utils/hmac/signPayload/index.js.map +1 -0
- package/dist/utils/hmac/signPayload/signPayload.d.ts +6 -0
- package/dist/utils/hmac/signPayload/signPayload.js +18 -0
- package/dist/utils/hmac/signPayload/signPayload.js.map +1 -0
- package/dist/utils/hmac/verifySignature/index.d.ts +1 -0
- package/dist/utils/hmac/verifySignature/index.js +17 -0
- package/dist/utils/hmac/verifySignature/index.js.map +1 -0
- package/dist/utils/hmac/verifySignature/verifySignature.d.ts +3 -0
- package/dist/utils/hmac/verifySignature/verifySignature.js +23 -0
- package/dist/utils/hmac/verifySignature/verifySignature.js.map +1 -0
- package/dist/utils/index.d.ts +17 -0
- package/dist/utils/index.js +193 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/jwt/index.d.ts +2 -0
- package/dist/utils/jwt/index.js +28 -0
- package/dist/utils/jwt/index.js.map +1 -0
- package/dist/utils/jwt/jwt.d.ts +12 -0
- package/dist/utils/jwt/jwt.js +195 -0
- package/dist/utils/jwt/jwt.js.map +1 -0
- package/dist/utils/jwt/jwt.types.d.ts +20 -0
- package/dist/utils/jwt/jwt.types.js +2 -0
- package/dist/utils/jwt/jwt.types.js.map +1 -0
- package/dist/utils/report/index.d.ts +3 -0
- package/dist/utils/report/index.js +39 -0
- package/dist/utils/report/index.js.map +1 -0
- package/dist/utils/report/output.d.ts +4 -0
- package/dist/utils/report/output.js +49 -0
- package/dist/utils/report/output.js.map +1 -0
- package/dist/utils/report/output.types.d.ts +65 -0
- package/dist/utils/report/output.types.js +2 -0
- package/dist/utils/report/output.types.js.map +1 -0
- package/dist/utils/report/report.d.ts +18 -0
- package/dist/utils/report/report.js +119 -0
- package/dist/utils/report/report.js.map +1 -0
- package/dist/utils/report/report.types.d.ts +11 -0
- package/dist/utils/report/report.types.js +2 -0
- package/dist/utils/report/report.types.js.map +1 -0
- package/dist/utils/request/index.d.ts +1 -0
- package/dist/utils/request/index.js +17 -0
- package/dist/utils/request/index.js.map +1 -0
- package/dist/utils/request/request.d.ts +3 -0
- package/dist/utils/request/request.js +42 -0
- package/dist/utils/request/request.js.map +1 -0
- package/dist/utils/semverCompare/index.d.ts +1 -0
- package/dist/utils/semverCompare/index.js +17 -0
- package/dist/utils/semverCompare/index.js.map +1 -0
- package/dist/utils/semverCompare/semverCompare.d.ts +7 -0
- package/dist/utils/semverCompare/semverCompare.js +65 -0
- package/dist/utils/semverCompare/semverCompare.js.map +1 -0
- package/dist/utils/sendEmail/index.d.ts +1 -0
- package/dist/utils/sendEmail/index.js +17 -0
- package/dist/utils/sendEmail/index.js.map +1 -0
- package/dist/utils/sendEmail/sendEmail.d.ts +11 -0
- package/dist/utils/sendEmail/sendEmail.js +32 -0
- package/dist/utils/sendEmail/sendEmail.js.map +1 -0
- package/dist/utils/sendEmail/sendEmail.types.d.ts +7 -0
- package/dist/utils/sendEmail/sendEmail.types.js +2 -0
- package/dist/utils/sendEmail/sendEmail.types.js.map +1 -0
- package/dist/utils/sendPush/index.d.ts +2 -0
- package/dist/utils/sendPush/index.js +28 -0
- package/dist/utils/sendPush/index.js.map +1 -0
- package/dist/utils/sendPush/sendPush.d.ts +8 -0
- package/dist/utils/sendPush/sendPush.js +25 -0
- package/dist/utils/sendPush/sendPush.js.map +1 -0
- package/dist/utils/sendPush/sendPush.types.d.ts +25 -0
- package/dist/utils/sendPush/sendPush.types.js +2 -0
- package/dist/utils/sendPush/sendPush.types.js.map +1 -0
- package/dist/utils/tlsConfig/index.d.ts +2 -0
- package/dist/utils/tlsConfig/index.js +28 -0
- package/dist/utils/tlsConfig/index.js.map +1 -0
- package/dist/utils/tlsConfig/tlsConfig.d.ts +8 -0
- package/dist/utils/tlsConfig/tlsConfig.js +44 -0
- package/dist/utils/tlsConfig/tlsConfig.js.map +1 -0
- package/dist/utils/tlsConfig/tlsConfig.types.d.ts +11 -0
- package/dist/utils/tlsConfig/tlsConfig.types.js +2 -0
- package/dist/utils/tlsConfig/tlsConfig.types.js.map +1 -0
- package/dist/utils/tlsConfig/tlsConfig.validate.d.ts +4 -0
- package/dist/utils/tlsConfig/tlsConfig.validate.js +48 -0
- package/dist/utils/tlsConfig/tlsConfig.validate.js.map +1 -0
- package/dist/utils/tlsRequest/index.d.ts +1 -0
- package/dist/utils/tlsRequest/index.js +17 -0
- package/dist/utils/tlsRequest/index.js.map +1 -0
- package/dist/utils/tlsRequest/tlsRequest.d.ts +3 -0
- package/dist/utils/tlsRequest/tlsRequest.js +18 -0
- package/dist/utils/tlsRequest/tlsRequest.js.map +1 -0
- package/dist/utils/trimPathSlash/index.d.ts +1 -0
- package/dist/utils/trimPathSlash/index.js +17 -0
- package/dist/utils/trimPathSlash/index.js.map +1 -0
- package/dist/utils/trimPathSlash/trimPathSlash.d.ts +6 -0
- package/dist/utils/trimPathSlash/trimPathSlash.js +15 -0
- package/dist/utils/trimPathSlash/trimPathSlash.js.map +1 -0
- package/eslint.config.mjs +11 -0
- package/package.json +157 -0
- package/src/const/DebeziumEvent.ts +6 -0
- package/src/const/LogSeverity.ts +7 -0
- package/src/const/index.ts +5 -0
- package/src/const/metrics.ts +6 -0
- package/src/const/mime.ts +37 -0
- package/src/const/tokenIssuer.ts +9 -0
- package/src/db/migrations/20241030121500-create-sequelize-meta-table.ts +29 -0
- package/src/db/models/SequelizeMeta.ts +16 -0
- package/src/db/models/index.ts +2 -0
- package/src/entities/ElasticSearch/ElasticSearch.ts +103 -0
- package/src/entities/ElasticSearch/ElasticSearch.types.ts +7 -0
- package/src/entities/ElasticSearch/index.ts +2 -0
- package/src/entities/Endpoint/Endpoint.test.ts +337 -0
- package/src/entities/Endpoint/Endpoint.ts +202 -0
- package/src/entities/Endpoint/Endpoint.types.ts +205 -0
- package/src/entities/Endpoint/index.ts +2 -0
- package/src/entities/EngineError/EngineError.ts +28 -0
- package/src/entities/EngineError/EngineError.types.ts +15 -0
- package/src/entities/EngineError/index.ts +2 -0
- package/src/entities/KeySet/KeySet.test.ts +126 -0
- package/src/entities/KeySet/KeySet.ts +172 -0
- package/src/entities/KeySet/KeySet.types.ts +28 -0
- package/src/entities/KeySet/index.ts +2 -0
- package/src/entities/LifecycleController/LifecycleController.test.ts +48 -0
- package/src/entities/LifecycleController/LifecycleController.ts +24 -0
- package/src/entities/LifecycleController/LifecycleController.types.ts +5 -0
- package/src/entities/LifecycleController/index.ts +2 -0
- package/src/entities/Localizator/Localizator.ts +139 -0
- package/src/entities/Localizator/Localizator.types.ts +52 -0
- package/src/entities/Localizator/guessNamingConvention/guessNamingConvention.test.ts +165 -0
- package/src/entities/Localizator/guessNamingConvention/guessNamingConvention.ts +58 -0
- package/src/entities/Localizator/guessNamingConvention/index.ts +1 -0
- package/src/entities/Localizator/index.ts +2 -0
- package/src/entities/MessageHandler/MessageHandler.test.ts +130 -0
- package/src/entities/MessageHandler/MessageHandler.ts +72 -0
- package/src/entities/MessageHandler/MessageHandler.types.ts +15 -0
- package/src/entities/MessageHandler/index.ts +2 -0
- package/src/entities/PubSub/PubSub.test.ts +297 -0
- package/src/entities/PubSub/PubSub.ts +202 -0
- package/src/entities/PubSub/PubSub.types.ts +76 -0
- package/src/entities/PubSub/handleMessage/handleMessage.test.ts +102 -0
- package/src/entities/PubSub/handleMessage/handleMessage.ts +65 -0
- package/src/entities/PubSub/handleMessage/index.ts +1 -0
- package/src/entities/PubSub/index.ts +2 -0
- package/src/entities/PushNotification/PushNotification.test.ts +35 -0
- package/src/entities/PushNotification/PushNotification.ts +44 -0
- package/src/entities/PushNotification/PushNotification.types.ts +25 -0
- package/src/entities/PushNotification/index.ts +2 -0
- package/src/entities/Redis/Redis.ts +71 -0
- package/src/entities/Redis/Redis.types.ts +19 -0
- package/src/entities/Redis/Redis.validate.ts +17 -0
- package/src/entities/Redis/index.ts +2 -0
- package/src/entities/Sequelize/Sequelize.config.ts +29 -0
- package/src/entities/Sequelize/Sequelize.test.ts +21 -0
- package/src/entities/Sequelize/Sequelize.ts +75 -0
- package/src/entities/Sequelize/Sequelize.types.ts +10 -0
- package/src/entities/Sequelize/Sequelize.validate.ts +15 -0
- package/src/entities/Sequelize/index.ts +2 -0
- package/src/entities/Server/Server.const.ts +56 -0
- package/src/entities/Server/Server.test.ts +272 -0
- package/src/entities/Server/Server.ts +445 -0
- package/src/entities/Server/Server.types.ts +88 -0
- package/src/entities/Server/index.ts +2 -0
- package/src/entities/SocketClient/SocketClient.test.ts +392 -0
- package/src/entities/SocketClient/SocketClient.ts +401 -0
- package/src/entities/SocketClient/SocketClient.types.ts +62 -0
- package/src/entities/SocketClient/index.ts +2 -0
- package/src/entities/SocketClient/parseMessage/index.ts +1 -0
- package/src/entities/SocketClient/parseMessage/parseMessage.test.ts +20 -0
- package/src/entities/SocketClient/parseMessage/parseMessage.ts +26 -0
- package/src/entities/Storage/Storage.test.ts +58 -0
- package/src/entities/Storage/Storage.ts +219 -0
- package/src/entities/Storage/Storage.types.ts +57 -0
- package/src/entities/Storage/index.ts +2 -0
- package/src/entities/ValidationError/ValidationError.ts +34 -0
- package/src/entities/ValidationError/index.ts +1 -0
- package/src/entities/WebError/WebError.test.ts +18 -0
- package/src/entities/WebError/WebError.ts +23 -0
- package/src/entities/WebError/WebError.types.ts +9 -0
- package/src/entities/WebError/index.ts +2 -0
- package/src/entities/index.ts +16 -0
- package/src/index.ts +4 -0
- package/src/metrics/debug.ts +10 -0
- package/src/metrics/index.ts +2 -0
- package/src/metrics/request.ts +17 -0
- package/src/middleware/authAdmin/authAdmin.test.ts +199 -0
- package/src/middleware/authAdmin/authAdmin.ts +114 -0
- package/src/middleware/authAdmin/authAdmin.types.ts +19 -0
- package/src/middleware/authAdmin/index.ts +2 -0
- package/src/middleware/authHmac/authHmac.test.ts +86 -0
- package/src/middleware/authHmac/authHmac.ts +56 -0
- package/src/middleware/authHmac/authHmac.types.ts +7 -0
- package/src/middleware/authHmac/index.ts +2 -0
- package/src/middleware/authJwt/authJwt.test.ts +54 -0
- package/src/middleware/authJwt/authJwt.ts +55 -0
- package/src/middleware/authJwt/authJwt.types.ts +25 -0
- package/src/middleware/authJwt/index.ts +2 -0
- package/src/middleware/authStatic/authStatic.test.ts +36 -0
- package/src/middleware/authStatic/authStatic.ts +45 -0
- package/src/middleware/authStatic/index.ts +1 -0
- package/src/middleware/authTls/authTls.test.ts +138 -0
- package/src/middleware/authTls/authTls.ts +106 -0
- package/src/middleware/authTls/authTls.types.ts +13 -0
- package/src/middleware/authTls/index.ts +2 -0
- package/src/middleware/error/error.test.ts +60 -0
- package/src/middleware/error/error.ts +25 -0
- package/src/middleware/error/index.ts +1 -0
- package/src/middleware/fileUploader/compressAvatar/compressAvatar.ts +25 -0
- package/src/middleware/fileUploader/compressAvatar/compressAvatar.types.ts +12 -0
- package/src/middleware/fileUploader/compressAvatar/index.ts +2 -0
- package/src/middleware/fileUploader/fileUploader.test.ts +310 -0
- package/src/middleware/fileUploader/fileUploader.ts +303 -0
- package/src/middleware/fileUploader/fileUploader.types.ts +52 -0
- package/src/middleware/fileUploader/index.ts +2 -0
- package/src/middleware/fileUploader/isMultiPart/index.ts +1 -0
- package/src/middleware/fileUploader/isMultiPart/isMultipart.ts +9 -0
- package/src/middleware/fileUploader/validate/index.ts +1 -0
- package/src/middleware/fileUploader/validate/validate.ts +27 -0
- package/src/middleware/fourOhFour/fourOhFour.test.ts +14 -0
- package/src/middleware/fourOhFour/fourOhFour.ts +13 -0
- package/src/middleware/fourOhFour/index.ts +1 -0
- package/src/middleware/healthCheck/healthCheck.test.ts +12 -0
- package/src/middleware/healthCheck/healthCheck.ts +14 -0
- package/src/middleware/healthCheck/index.ts +1 -0
- package/src/middleware/index.ts +15 -0
- package/src/middleware/metrics/index.ts +1 -0
- package/src/middleware/metrics/metrics.test.ts +46 -0
- package/src/middleware/metrics/metrics.ts +24 -0
- package/src/middleware/requestMetrics/index.ts +1 -0
- package/src/middleware/requestMetrics/requestMetrics.test.ts +77 -0
- package/src/middleware/requestMetrics/requestMetrics.ts +20 -0
- package/src/middleware/swaggerDocs/index.ts +2 -0
- package/src/middleware/swaggerDocs/swaggerDocs.ts +114 -0
- package/src/middleware/swaggerDocs/swaggerDocs.types.ts +41 -0
- package/src/middleware/userResolver/index.ts +1 -0
- package/src/middleware/userResolver/userResolver.test.ts +35 -0
- package/src/middleware/userResolver/userResolver.ts +36 -0
- package/src/middleware/validate/index.ts +1 -0
- package/src/middleware/validate/validate.test.ts +43 -0
- package/src/middleware/validate/validate.ts +25 -0
- package/src/middleware/version/index.ts +1 -0
- package/src/middleware/version/version.test.ts +23 -0
- package/src/middleware/version/version.ts +12 -0
- package/src/utils/checkEnvironment/index.ts +49 -0
- package/src/utils/createHttpServer/createHttpServer.test.ts +24 -0
- package/src/utils/createHttpServer/createHttpServer.ts +34 -0
- package/src/utils/createHttpServer/createHttpServer.validate.ts +17 -0
- package/src/utils/createHttpServer/index.ts +1 -0
- package/src/utils/createSortedObject/createSortedObject.ts +20 -0
- package/src/utils/createSortedObject/createSortedObjet.test.ts +47 -0
- package/src/utils/createSortedObject/index.ts +1 -0
- package/src/utils/dbMigration/dbMigration.test.ts +209 -0
- package/src/utils/dbMigration/dbMigration.ts +196 -0
- package/src/utils/dbMigration/dbMigration.types.ts +11 -0
- package/src/utils/dbMigration/index.ts +2 -0
- package/src/utils/dbMigration/migrateMetadataTable/index.ts +1 -0
- package/src/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.test.ts +59 -0
- package/src/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.ts +70 -0
- package/src/utils/envAssert/envAssert.ts +31 -0
- package/src/utils/envAssert/index.ts +1 -0
- package/src/utils/envAssert/validators/hostList.ts +17 -0
- package/src/utils/envAssert/validators/index.ts +5 -0
- package/src/utils/envAssert/validators/ipList.ts +13 -0
- package/src/utils/envAssert/validators/path.ts +13 -0
- package/src/utils/envAssert/validators/string.ts +9 -0
- package/src/utils/envAssert/validators/stringList.ts +13 -0
- package/src/utils/filter/filter.ts +17 -0
- package/src/utils/filter/index.ts +1 -0
- package/src/utils/getDynamicLink/getDynamicLink.test.ts +51 -0
- package/src/utils/getDynamicLink/getDynamicLink.ts +28 -0
- package/src/utils/getDynamicLink/getDynamicLink.types.ts +11 -0
- package/src/utils/getDynamicLink/getDynamicLink.validate.ts +6 -0
- package/src/utils/getDynamicLink/index.ts +2 -0
- package/src/utils/hmac/checkEnv/checkEnv.test.ts +18 -0
- package/src/utils/hmac/checkEnv/checkEnv.ts +9 -0
- package/src/utils/hmac/checkEnv/index.ts +1 -0
- package/src/utils/hmac/createHmac/createHmac.ts +33 -0
- package/src/utils/hmac/createHmac/index.ts +1 -0
- package/src/utils/hmac/index.ts +4 -0
- package/src/utils/hmac/index.types.ts +13 -0
- package/src/utils/hmac/signPayload/index.ts +1 -0
- package/src/utils/hmac/signPayload/signPayload.ts +16 -0
- package/src/utils/hmac/verifySignature/index.ts +1 -0
- package/src/utils/hmac/verifySignature/verifySignature.ts +24 -0
- package/src/utils/index.ts +26 -0
- package/src/utils/jwt/index.ts +2 -0
- package/src/utils/jwt/jwt.test.ts +41 -0
- package/src/utils/jwt/jwt.ts +204 -0
- package/src/utils/jwt/jwt.types.ts +21 -0
- package/src/utils/report/index.ts +3 -0
- package/src/utils/report/output.ts +45 -0
- package/src/utils/report/output.types.ts +70 -0
- package/src/utils/report/report.test.ts +133 -0
- package/src/utils/report/report.ts +134 -0
- package/src/utils/report/report.types.ts +13 -0
- package/src/utils/request/index.ts +1 -0
- package/src/utils/request/request.test.ts +26 -0
- package/src/utils/request/request.ts +48 -0
- package/src/utils/semverCompare/index.ts +1 -0
- package/src/utils/semverCompare/semverCompare.test.ts +49 -0
- package/src/utils/semverCompare/semverCompare.ts +60 -0
- package/src/utils/sendEmail/index.ts +1 -0
- package/src/utils/sendEmail/sendEmail.ts +27 -0
- package/src/utils/sendEmail/sendEmail.types.ts +7 -0
- package/src/utils/sendPush/index.ts +2 -0
- package/src/utils/sendPush/sendPush.ts +20 -0
- package/src/utils/sendPush/sendPush.types.ts +25 -0
- package/src/utils/tlsConfig/index.ts +2 -0
- package/src/utils/tlsConfig/tlsConfig.test.ts +32 -0
- package/src/utils/tlsConfig/tlsConfig.ts +47 -0
- package/src/utils/tlsConfig/tlsConfig.types.ts +11 -0
- package/src/utils/tlsConfig/tlsConfig.validate.ts +25 -0
- package/src/utils/tlsRequest/index.ts +1 -0
- package/src/utils/tlsRequest/tlsRequest.test.ts +63 -0
- package/src/utils/tlsRequest/tlsRequest.ts +12 -0
- package/src/utils/trimPathSlash/index.ts +1 -0
- package/src/utils/trimPathSlash/trimPathSlash.test.ts +26 -0
- package/src/utils/trimPathSlash/trimPathSlash.ts +8 -0
- package/test/env.ts +56 -0
- package/test/factory/index.ts +8 -0
- package/test/factory/sequelizeMeta.ts +12 -0
- package/test/hooks.ts +37 -0
- package/test/index.ts +3 -0
- package/test/stub/index.ts +3 -0
- package/test/stub/stubLocales.ts +68 -0
- package/test/stub/stubPubSub.ts +7 -0
- package/test/stub/stubStorage.ts +77 -0
- package/test/stub/stubStorage.types.ts +11 -0
- package/test/utils/app.ts +31 -0
- package/test/utils/index.ts +1 -0
- package/tsconfig.build.json +5 -0
- package/tsconfig.json +32 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.validateTlsConfig = validateTlsConfig;
|
|
7
|
+
var _ = require("./..");
|
|
8
|
+
/**
|
|
9
|
+
* Verify that the environment variables
|
|
10
|
+
*/
|
|
11
|
+
function validateTlsConfig() {
|
|
12
|
+
// We only check if there is at least the host specified
|
|
13
|
+
if (process.env.TLS_REQUEST_CERT) {
|
|
14
|
+
(0, _.assertEnvironment)({
|
|
15
|
+
TLS_REQUEST_KEY: _.envAssert.isPath()
|
|
16
|
+
});
|
|
17
|
+
(0, _.assertEnvironment)({
|
|
18
|
+
TLS_REQUEST_CERT: _.envAssert.isPath()
|
|
19
|
+
});
|
|
20
|
+
(0, _.assertEnvironment)({
|
|
21
|
+
TLS_REQUEST_CA: _.envAssert.isPath()
|
|
22
|
+
});
|
|
23
|
+
// Optional variables
|
|
24
|
+
if (process.env.TLS_REQUEST_KEY_PASSPHRASE) {
|
|
25
|
+
(0, _.assertEnvironment)({
|
|
26
|
+
TLS_REQUEST_KEY_PASSPHRASE: _.envAssert.isString()
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
} else if (process.env.TLS_SERVER_CERT) {
|
|
30
|
+
// if no TLS Request setting, TLS Server setting is essential.
|
|
31
|
+
(0, _.assertEnvironment)({
|
|
32
|
+
TLS_SERVER_KEY: _.envAssert.isPath()
|
|
33
|
+
});
|
|
34
|
+
(0, _.assertEnvironment)({
|
|
35
|
+
TLS_SERVER_CERT: _.envAssert.isPath()
|
|
36
|
+
});
|
|
37
|
+
(0, _.assertEnvironment)({
|
|
38
|
+
TLS_CA: _.envAssert.isPath()
|
|
39
|
+
});
|
|
40
|
+
// Optional variables
|
|
41
|
+
if (process.env.TLS_SERVER_KEY_PASSPHRASE) {
|
|
42
|
+
(0, _.assertEnvironment)({
|
|
43
|
+
TLS_SERVER_KEY_PASSPHRASE: _.envAssert.isString()
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=tlsConfig.validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tlsConfig.validate.js","names":["_","require","validateTlsConfig","process","env","TLS_REQUEST_CERT","assertEnvironment","TLS_REQUEST_KEY","envAssert","isPath","TLS_REQUEST_CA","TLS_REQUEST_KEY_PASSPHRASE","isString","TLS_SERVER_CERT","TLS_SERVER_KEY","TLS_CA","TLS_SERVER_KEY_PASSPHRASE"],"sources":["../../../src/utils/tlsConfig/tlsConfig.validate.ts"],"sourcesContent":["import { assertEnvironment, envAssert } from 'utils';\n/**\n * Verify that the environment variables\n */\nexport function validateTlsConfig(): void {\n // We only check if there is at least the host specified\n if (process.env.TLS_REQUEST_CERT) {\n assertEnvironment({ TLS_REQUEST_KEY: envAssert.isPath() });\n assertEnvironment({ TLS_REQUEST_CERT: envAssert.isPath() });\n assertEnvironment({ TLS_REQUEST_CA: envAssert.isPath() });\n // Optional variables\n if (process.env.TLS_REQUEST_KEY_PASSPHRASE) {\n assertEnvironment({ TLS_REQUEST_KEY_PASSPHRASE: envAssert.isString() });\n }\n } else if (process.env.TLS_SERVER_CERT) {\n // if no TLS Request setting, TLS Server setting is essential.\n assertEnvironment({ TLS_SERVER_KEY: envAssert.isPath() });\n assertEnvironment({ TLS_SERVER_CERT: envAssert.isPath() });\n assertEnvironment({ TLS_CA: envAssert.isPath() });\n // Optional variables\n if (process.env.TLS_SERVER_KEY_PASSPHRASE) {\n assertEnvironment({ TLS_SERVER_KEY_PASSPHRASE: envAssert.isString() });\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AACA;AACA;AACA;AACO,SAASC,iBAAiBA,CAAA,EAAS;EACxC;EACA,IAAIC,OAAO,CAACC,GAAG,CAACC,gBAAgB,EAAE;IAChC,IAAAC,mBAAiB,EAAC;MAAEC,eAAe,EAAEC,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;IAC1D,IAAAH,mBAAiB,EAAC;MAAED,gBAAgB,EAAEG,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;IAC3D,IAAAH,mBAAiB,EAAC;MAAEI,cAAc,EAAEF,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;IACzD;IACA,IAAIN,OAAO,CAACC,GAAG,CAACO,0BAA0B,EAAE;MAC1C,IAAAL,mBAAiB,EAAC;QAAEK,0BAA0B,EAAEH,WAAS,CAACI,QAAQ,CAAC;MAAE,CAAC,CAAC;IACzE;EACF,CAAC,MAAM,IAAIT,OAAO,CAACC,GAAG,CAACS,eAAe,EAAE;IACtC;IACA,IAAAP,mBAAiB,EAAC;MAAEQ,cAAc,EAAEN,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;IACzD,IAAAH,mBAAiB,EAAC;MAAEO,eAAe,EAAEL,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;IAC1D,IAAAH,mBAAiB,EAAC;MAAES,MAAM,EAAEP,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;IACjD;IACA,IAAIN,OAAO,CAACC,GAAG,CAACY,yBAAyB,EAAE;MACzC,IAAAV,mBAAiB,EAAC;QAAEU,yBAAyB,EAAER,WAAS,CAACI,QAAQ,CAAC;MAAE,CAAC,CAAC;IACxE;EACF;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './tlsRequest';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _tlsRequest = require("./tlsRequest");
|
|
7
|
+
Object.keys(_tlsRequest).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _tlsRequest[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _tlsRequest[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_tlsRequest","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../src/utils/tlsRequest/index.ts"],"sourcesContent":["export * from './tlsRequest';\n"],"mappings":";;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,WAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,WAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,WAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.tlsRequest = tlsRequest;
|
|
7
|
+
var _request = require("../request");
|
|
8
|
+
var _tlsConfig = require("../tlsConfig");
|
|
9
|
+
/** Make a network request using TLS, this exposes the server client certificates to the destination */
|
|
10
|
+
async function tlsRequest(options) {
|
|
11
|
+
// if the config is not initial, will do that.
|
|
12
|
+
if (!_tlsConfig.httpsAgent) (0, _tlsConfig.loadTlsConfig)();
|
|
13
|
+
return (0, _request.request)({
|
|
14
|
+
httpsAgent: _tlsConfig.httpsAgent,
|
|
15
|
+
...options
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=tlsRequest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tlsRequest.js","names":["_request","require","_tlsConfig","tlsRequest","options","httpsAgent","loadTlsConfig","request"],"sources":["../../../src/utils/tlsRequest/tlsRequest.ts"],"sourcesContent":["import { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { request } from 'utils/request';\nimport { httpsAgent, loadTlsConfig } from 'utils/tlsConfig';\n\n/** Make a network request using TLS, this exposes the server client certificates to the destination */\nexport async function tlsRequest<T = unknown>(\n options: AxiosRequestConfig\n): Promise<AxiosResponse<T>> {\n // if the config is not initial, will do that.\n if (!httpsAgent) loadTlsConfig();\n return request<T>({ httpsAgent, ...options });\n}\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA;AACO,eAAeE,UAAUA,CAC9BC,OAA2B,EACA;EAC3B;EACA,IAAI,CAACC,qBAAU,EAAE,IAAAC,wBAAa,EAAC,CAAC;EAChC,OAAO,IAAAC,gBAAO,EAAI;IAAEF,UAAU,EAAVA,qBAAU;IAAE,GAAGD;EAAQ,CAAC,CAAC;AAC/C","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './trimPathSlash';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _trimPathSlash = require("./trimPathSlash");
|
|
7
|
+
Object.keys(_trimPathSlash).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _trimPathSlash[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _trimPathSlash[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_trimPathSlash","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../src/utils/trimPathSlash/index.ts"],"sourcesContent":["export * from './trimPathSlash';\n"],"mappings":";;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,cAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,cAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,cAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.trimPathSlash = trimPathSlash;
|
|
7
|
+
/**
|
|
8
|
+
* Remove slashes if they are the first or last chars of a string
|
|
9
|
+
* @param url - URL to which slashes should be stripped
|
|
10
|
+
* @return Cleaned-up string
|
|
11
|
+
*/
|
|
12
|
+
function trimPathSlash(url) {
|
|
13
|
+
return url.replace(/\/$/, '').replace(/^\//, '');
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=trimPathSlash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trimPathSlash.js","names":["trimPathSlash","url","replace"],"sources":["../../../src/utils/trimPathSlash/trimPathSlash.ts"],"sourcesContent":["/**\n * Remove slashes if they are the first or last chars of a string\n * @param url - URL to which slashes should be stripped\n * @return Cleaned-up string\n */\nexport function trimPathSlash(url: string): string {\n return url.replace(/\\/$/, '').replace(/^\\//, '');\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACO,SAASA,aAAaA,CAACC,GAAW,EAAU;EACjD,OAAOA,GAAG,CAACC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAACA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAClD","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import globals from 'globals';
|
|
2
|
+
import pluginJs from '@eslint/js';
|
|
3
|
+
import tseslint from 'typescript-eslint';
|
|
4
|
+
|
|
5
|
+
export default [
|
|
6
|
+
{ files: ['.src/', '**/*.{js,mjs,cjs,ts}'] },
|
|
7
|
+
{ languageOptions: { globals: { ...globals.browser, ...globals.node } } },
|
|
8
|
+
pluginJs.configs.recommended,
|
|
9
|
+
{ ignores: ['**/*.test.ts', '**/*.d.ts'] },
|
|
10
|
+
...tseslint.configs.recommended
|
|
11
|
+
];
|
package/package.json
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "node-server-engine",
|
|
3
|
+
"version": "1.0.5",
|
|
4
|
+
"description": "Framework used to develop backend services. This package ships with a lot of features to standardize the creation of services, letting you focus on the business logic.",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"build": "rimraf dist && tsc -p tsconfig.build.json && mv dist/src/* dist && rimraf dist/src && tsc-alias -p tsconfig.build.json && npx babel src --out-dir dist --source-maps --extensions \".ts\" --ignore \"**/*.test.ts\" --copy-files --no-copy-ignored",
|
|
8
|
+
"format": "prettier --write .",
|
|
9
|
+
"lint": "eslint ./src",
|
|
10
|
+
"lint:fix": "eslint ./src --fix",
|
|
11
|
+
"prepublish": "npm run build",
|
|
12
|
+
"test": "NODE_ENV=test nyc --reporter=none mocha test/hooks.ts \"src/**/*.test.ts\"",
|
|
13
|
+
"coverage": "nyc report --reporter=text",
|
|
14
|
+
"coverage:ci": "nyc report --reporter=text-summary",
|
|
15
|
+
"prepublishOnly": "npm run build",
|
|
16
|
+
"test:ci": "npm run test -- --reporter spec",
|
|
17
|
+
"test:compose": "docker-compose up --abort-on-container-exit --build"
|
|
18
|
+
},
|
|
19
|
+
"husky": {
|
|
20
|
+
"hooks": {
|
|
21
|
+
"pre-commit": "lint-staged && npm run test && npm run coverage"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"lint-staged": {
|
|
25
|
+
"*.js": "eslint",
|
|
26
|
+
"*.ts": "eslint"
|
|
27
|
+
},
|
|
28
|
+
"keywords": [],
|
|
29
|
+
"author": "Ram",
|
|
30
|
+
"license": "ISC",
|
|
31
|
+
"repository": {
|
|
32
|
+
"type": "git",
|
|
33
|
+
"url": "git+https://github.com/prakashmahendran/node-server-engine.git"
|
|
34
|
+
},
|
|
35
|
+
"bugs": {
|
|
36
|
+
"url": "https://github.com/prakashmahendran/node-server-engine/issues"
|
|
37
|
+
},
|
|
38
|
+
"homepage": "https://github.com/prakashmahendran/node-server-engine#readme",
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"@babel/runtime": "^7.25.7",
|
|
41
|
+
"@elastic/elasticsearch": "^8.15.0",
|
|
42
|
+
"@google-cloud/pubsub": "^4.7.2",
|
|
43
|
+
"@google-cloud/storage": "^7.13.0",
|
|
44
|
+
"@opentelemetry/api": "^1.9.0",
|
|
45
|
+
"@opentelemetry/core": "^1.26.0",
|
|
46
|
+
"@opentelemetry/exporter-prometheus": "^0.53.0",
|
|
47
|
+
"@opentelemetry/metrics": "^0.24.0",
|
|
48
|
+
"ajv": "^8.17.1",
|
|
49
|
+
"axios": "^1.7.7",
|
|
50
|
+
"backend-test-tools": "^1.0.0",
|
|
51
|
+
"body-parser": "^1.20.3",
|
|
52
|
+
"busboy": "^1.6.0",
|
|
53
|
+
"callsite": "^1.0.0",
|
|
54
|
+
"cors": "^2.8.5",
|
|
55
|
+
"device": "^0.3.12",
|
|
56
|
+
"dotenv": "^16.4.5",
|
|
57
|
+
"envalid": "^8.0.0",
|
|
58
|
+
"express": "^4.21.1",
|
|
59
|
+
"express-jwt": "^8.4.1",
|
|
60
|
+
"express-validator": "^7.2.0",
|
|
61
|
+
"filesize-parser": "^1.5.1",
|
|
62
|
+
"flat": "^6.0.1",
|
|
63
|
+
"form-data": "^4.0.1",
|
|
64
|
+
"glob": "^11.0.0",
|
|
65
|
+
"intl-messageformat": "^10.7.0",
|
|
66
|
+
"ioredis": "^5.4.1",
|
|
67
|
+
"json-stringify-safe": "^5.0.1",
|
|
68
|
+
"jsonwebtoken": "^9.0.2",
|
|
69
|
+
"jwks-rsa": "^3.1.0",
|
|
70
|
+
"mime-types": "^2.1.35",
|
|
71
|
+
"morgan": "^1.10.0",
|
|
72
|
+
"ms": "^2.1.3",
|
|
73
|
+
"mysql2": "^3.11.3",
|
|
74
|
+
"nock": "^13.5.5",
|
|
75
|
+
"nodemon": "^3.1.7",
|
|
76
|
+
"pg": "^8.13.0",
|
|
77
|
+
"prom-client": "^15.1.3",
|
|
78
|
+
"request-ip": "^3.3.0",
|
|
79
|
+
"response-time": "^2.3.3",
|
|
80
|
+
"semver-compare": "^1.0.0",
|
|
81
|
+
"sequelize": "^6.37.5",
|
|
82
|
+
"sequelize-cli": "^6.6.2",
|
|
83
|
+
"sequelize-typescript": "^2.1.6",
|
|
84
|
+
"sharp": "^0.33.5",
|
|
85
|
+
"swagger-ui-express": "^5.0.1",
|
|
86
|
+
"umzug": "^3.8.2",
|
|
87
|
+
"useragent": "^2.3.0",
|
|
88
|
+
"validator": "^13.12.0",
|
|
89
|
+
"ws": "^8.18.0",
|
|
90
|
+
"yamljs": "^0.3.0",
|
|
91
|
+
"yamlparser": "^0.0.2"
|
|
92
|
+
},
|
|
93
|
+
"devDependencies": {
|
|
94
|
+
"@babel/cli": "^7.25.7",
|
|
95
|
+
"@babel/core": "^7.25.8",
|
|
96
|
+
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
97
|
+
"@babel/plugin-proposal-decorators": "^7.25.9",
|
|
98
|
+
"@babel/plugin-transform-class-properties": "^7.25.7",
|
|
99
|
+
"@babel/plugin-transform-runtime": "^7.25.7",
|
|
100
|
+
"@babel/preset-env": "^7.25.8",
|
|
101
|
+
"@babel/preset-typescript": "^7.25.7",
|
|
102
|
+
"@babel/register": "^7.25.7",
|
|
103
|
+
"@faker-js/faker": "^9.0.3",
|
|
104
|
+
"@google-cloud/precise-date": "^4.0.0",
|
|
105
|
+
"@types/busboy": "^1.5.4",
|
|
106
|
+
"@types/callsite": "^1.0.34",
|
|
107
|
+
"@types/chai": "^4.3.0",
|
|
108
|
+
"@types/chai-as-promised": "^7.1.4",
|
|
109
|
+
"@types/express": "^5.0.0",
|
|
110
|
+
"@types/filesize-parser": "^1.5.3",
|
|
111
|
+
"@types/flat": "^5.0.5",
|
|
112
|
+
"@types/glob": "^8.1.0",
|
|
113
|
+
"@types/json-stringify-safe": "^5.0.3",
|
|
114
|
+
"@types/jsonwebtoken": "^9.0.7",
|
|
115
|
+
"@types/mime-types": "^2.1.4",
|
|
116
|
+
"@types/mocha": "^10.0.9",
|
|
117
|
+
"@types/mock-fs": "^4.13.4",
|
|
118
|
+
"@types/mock-require": "^2.0.3",
|
|
119
|
+
"@types/morgan": "^1.9.9",
|
|
120
|
+
"@types/node": "^22.8.4",
|
|
121
|
+
"@types/response-time": "^2.3.8",
|
|
122
|
+
"@types/sequelize": "^4.28.20",
|
|
123
|
+
"@types/sinon-chai": "^3.2.6",
|
|
124
|
+
"@types/supertest": "^6.0.2",
|
|
125
|
+
"@types/swagger-ui-express": "^4.1.6",
|
|
126
|
+
"@types/umzug": "^2.3.7",
|
|
127
|
+
"@types/validator": "^13.12.2",
|
|
128
|
+
"@types/ws": "^8.5.12",
|
|
129
|
+
"@types/yamljs": "^0.2.34",
|
|
130
|
+
"@typescript-eslint/eslint-plugin": "^8.8.1",
|
|
131
|
+
"babel-plugin-istanbul": "^7.0.0",
|
|
132
|
+
"babel-plugin-module-resolver": "^5.0.2",
|
|
133
|
+
"chai": "^4.3.0",
|
|
134
|
+
"chai-as-promised": "^7.1.1",
|
|
135
|
+
"cpy-cli": "^5.0.0",
|
|
136
|
+
"eslint": "^9.13.0",
|
|
137
|
+
"factory-waifu": "^1.0.1",
|
|
138
|
+
"globals": "^15.11.0",
|
|
139
|
+
"husky": "^9.1.6",
|
|
140
|
+
"lint-staged": "^15.2.10",
|
|
141
|
+
"mocha": "^10.7.3",
|
|
142
|
+
"mock-fs": "^5.4.0",
|
|
143
|
+
"mock-require": "^3.0.3",
|
|
144
|
+
"move-cli": "^2.0.0",
|
|
145
|
+
"nyc": "^17.1.0",
|
|
146
|
+
"prettier": "^3.3.3",
|
|
147
|
+
"rimraf": "^6.0.1",
|
|
148
|
+
"sinon": "^9.2.4",
|
|
149
|
+
"sinon-chai": "^3.5.0",
|
|
150
|
+
"supertest": "^7.0.0",
|
|
151
|
+
"ts-node": "^10.9.2",
|
|
152
|
+
"tsc-alias": "^1.8.10",
|
|
153
|
+
"tsconfig-paths": "^4.2.0",
|
|
154
|
+
"typescript": "^5.5.4",
|
|
155
|
+
"typescript-eslint": "^8.8.1"
|
|
156
|
+
}
|
|
157
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Registry } from 'prom-client';
|
|
2
|
+
|
|
3
|
+
// Registry for metrics that apply to this specific instance of the service
|
|
4
|
+
export const instanceRegistry = new Registry();
|
|
5
|
+
// Registry for metrics that apply to the service as a whole
|
|
6
|
+
export const serviceRegistry = new Registry();
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export const IMAGE_BASIC_MIME = ['image/jpeg', 'image/png'];
|
|
2
|
+
|
|
3
|
+
export const IMAGE_MIME = [...IMAGE_BASIC_MIME, 'image/gif', 'image/bmp'];
|
|
4
|
+
|
|
5
|
+
export const AUDIO_MIME = [
|
|
6
|
+
'audio/aac',
|
|
7
|
+
'audio/mpeg',
|
|
8
|
+
'audio/wave',
|
|
9
|
+
'audio/wav'
|
|
10
|
+
];
|
|
11
|
+
|
|
12
|
+
export const VIDEO_MIME = [
|
|
13
|
+
'video/mpeg',
|
|
14
|
+
'video/mp4',
|
|
15
|
+
'video/3gpp',
|
|
16
|
+
'video/3gp2'
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
export const PDF_MIME = ['application/pdf'];
|
|
20
|
+
|
|
21
|
+
export const WORD_MIME = [
|
|
22
|
+
'application/msword',
|
|
23
|
+
'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
export const EXCEL_MIME = [
|
|
27
|
+
'application/vnd.ms-excel',
|
|
28
|
+
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
|
|
29
|
+
];
|
|
30
|
+
|
|
31
|
+
export const POWERPOINT_MIME = [
|
|
32
|
+
'application/vnd.ms-powerpoint',
|
|
33
|
+
'application/vnd.openxmlformats-officedocument.presentationml.presentation',
|
|
34
|
+
'application/vnd.openxmlformats-officedocument.presentationml.slideshow'
|
|
35
|
+
];
|
|
36
|
+
|
|
37
|
+
export const OFFICE_MIME = [...WORD_MIME, ...EXCEL_MIME, ...POWERPOINT_MIME];
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { QueryInterface, DataTypes } from 'sequelize';
|
|
2
|
+
|
|
3
|
+
export async function up(queryInterface: QueryInterface): Promise<void> {
|
|
4
|
+
await queryInterface.createTable(
|
|
5
|
+
'SequelizeMeta',
|
|
6
|
+
{
|
|
7
|
+
id: {
|
|
8
|
+
type: DataTypes.INTEGER,
|
|
9
|
+
autoIncrement: true,
|
|
10
|
+
primaryKey: true
|
|
11
|
+
},
|
|
12
|
+
name: {
|
|
13
|
+
type: DataTypes.STRING,
|
|
14
|
+
allowNull: false
|
|
15
|
+
},
|
|
16
|
+
version: {
|
|
17
|
+
type: DataTypes.STRING,
|
|
18
|
+
allowNull: false
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
charset: 'utf8mb4',
|
|
23
|
+
collate: 'utf8mb4_unicode_ci' // Change this to a valid collation
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
export async function down(queryInterface: QueryInterface): Promise<void> {
|
|
28
|
+
await queryInterface.dropTable('SequelizeMeta');
|
|
29
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Table, Column, Model, DataType } from 'sequelize-typescript';
|
|
2
|
+
|
|
3
|
+
@Table
|
|
4
|
+
export class SequelizeMeta extends Model {
|
|
5
|
+
@Column({
|
|
6
|
+
type: DataType.STRING,
|
|
7
|
+
allowNull: false
|
|
8
|
+
})
|
|
9
|
+
name!: string;
|
|
10
|
+
|
|
11
|
+
@Column({
|
|
12
|
+
type: DataType.STRING,
|
|
13
|
+
allowNull: false
|
|
14
|
+
})
|
|
15
|
+
version!: string;
|
|
16
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { readdirSync } from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { Client } from '@elastic/elasticsearch';
|
|
4
|
+
import { ElasticSearchMigration } from './ElasticSearch.types';
|
|
5
|
+
import { EngineError } from 'entities/EngineError';
|
|
6
|
+
import { LifecycleController } from 'entities/LifecycleController';
|
|
7
|
+
import { envAssert, reportError, reportInfo } from 'utils';
|
|
8
|
+
import { checkEnvironment } from 'utils/checkEnvironment';
|
|
9
|
+
|
|
10
|
+
/** Elastic search client */
|
|
11
|
+
let client: undefined | Client;
|
|
12
|
+
|
|
13
|
+
export const ElasticSearch = {
|
|
14
|
+
/**
|
|
15
|
+
* Init function that should be called on server startup to establish the connection
|
|
16
|
+
*/
|
|
17
|
+
async init(): Promise<void> {
|
|
18
|
+
checkEnvironment({
|
|
19
|
+
ELASTIC_SEARCH_HOST: envAssert.isString(),
|
|
20
|
+
ELASTIC_SEARCH_USERNAME: envAssert.isString(),
|
|
21
|
+
ELASTIC_SEARCH_PASSWORD: envAssert.isString(),
|
|
22
|
+
ELASTIC_SEARCH_MIGRATION_PATH: envAssert.isString()
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
if (!process.env.ELASTIC_SEARCH_HOST)
|
|
26
|
+
throw new EngineError({
|
|
27
|
+
message: 'ElasticSearch Hosts not set in environment'
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
client = new Client({
|
|
31
|
+
node: process.env.ELASTIC_SEARCH_HOST,
|
|
32
|
+
auth: {
|
|
33
|
+
username: process.env.ELASTIC_SEARCH_USERNAME as string,
|
|
34
|
+
password: process.env.ELASTIC_SEARCH_PASSWORD as string
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
// In test environment flush the database before running migrations
|
|
38
|
+
if (process.env.NODE_ENV === 'test')
|
|
39
|
+
await client.indices.delete({ index: '*' });
|
|
40
|
+
await this.migrate();
|
|
41
|
+
LifecycleController.register(this);
|
|
42
|
+
},
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Migration function called during the init process
|
|
46
|
+
* Manages the database structure
|
|
47
|
+
*/
|
|
48
|
+
async migrate(): Promise<void> {
|
|
49
|
+
if (!client) throw new EngineError('ElasticSearch was not initialized');
|
|
50
|
+
const migrationPath = path.resolve(
|
|
51
|
+
process.env.ELASTIC_SEARCH_MIGRATION_PATH as string
|
|
52
|
+
);
|
|
53
|
+
const files = readdirSync(`${migrationPath}`);
|
|
54
|
+
const indexExists = await client.indices.exists({
|
|
55
|
+
index: 'migrations'
|
|
56
|
+
});
|
|
57
|
+
const ran = [];
|
|
58
|
+
for (const file of files) {
|
|
59
|
+
if (indexExists) {
|
|
60
|
+
const {
|
|
61
|
+
hits: { total }
|
|
62
|
+
} = await client.search({
|
|
63
|
+
index: 'migrations',
|
|
64
|
+
body: { query: { match: { file } } }
|
|
65
|
+
});
|
|
66
|
+
let tot = 0;
|
|
67
|
+
if (typeof total === 'number') {
|
|
68
|
+
tot = total;
|
|
69
|
+
} else {
|
|
70
|
+
tot = total?.value ?? 0;
|
|
71
|
+
}
|
|
72
|
+
if (tot > 0) continue;
|
|
73
|
+
}
|
|
74
|
+
ran.push(file);
|
|
75
|
+
const migration = (await import(
|
|
76
|
+
`${migrationPath}/${file}`
|
|
77
|
+
)) as ElasticSearchMigration;
|
|
78
|
+
try {
|
|
79
|
+
await migration.migrate(client);
|
|
80
|
+
} catch (error) {
|
|
81
|
+
reportError(error);
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
await client.create({
|
|
86
|
+
index: 'migrations',
|
|
87
|
+
id: file,
|
|
88
|
+
body: { file, ranAt: new Date() }
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
reportInfo({
|
|
92
|
+
message: `ElasticSearch: ran ${ran.length} migrations`,
|
|
93
|
+
data: { files: ran }
|
|
94
|
+
});
|
|
95
|
+
},
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Shutdown function that should be called on server stop to close the connection
|
|
99
|
+
*/
|
|
100
|
+
async shutdown(): Promise<void> {
|
|
101
|
+
if (client) await client.close();
|
|
102
|
+
}
|
|
103
|
+
};
|