@zintrust/core 0.1.39 → 0.1.41
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/bin/zintrust-main.d.ts.map +1 -1
- package/bin/zintrust-main.js +22 -1
- package/package.json +8 -4
- package/public/error-pages/404.html +2 -2
- package/src/auth/Auth.js +1 -1
- package/src/boot/Application.d.ts +1 -16
- package/src/boot/Application.d.ts.map +1 -1
- package/src/boot/Application.js +2 -262
- package/src/boot/Server.d.ts +1 -1
- package/src/boot/Server.d.ts.map +1 -1
- package/src/boot/bootstrap.js +23 -9
- package/src/boot/registry/registerRoute.d.ts +6 -0
- package/src/boot/registry/registerRoute.d.ts.map +1 -0
- package/src/boot/registry/registerRoute.js +96 -0
- package/src/boot/registry/runtime.d.ts +15 -0
- package/src/boot/registry/runtime.d.ts.map +1 -0
- package/src/boot/registry/runtime.js +353 -0
- package/src/boot/registry/type.d.ts +25 -0
- package/src/boot/registry/type.d.ts.map +1 -0
- package/src/boot/registry/type.js +1 -0
- package/src/boot/registry/worker.d.ts +6 -0
- package/src/boot/registry/worker.d.ts.map +1 -0
- package/src/boot/registry/worker.js +35 -0
- package/src/cache/drivers/KVRemoteDriver.d.ts.map +1 -1
- package/src/cache/drivers/KVRemoteDriver.js +14 -1
- package/src/cli/CLI.d.ts.map +1 -1
- package/src/cli/CLI.js +82 -34
- package/src/cli/ErrorHandler.js +1 -1
- package/src/cli/commands/ContainerProxiesCommand.d.ts +5 -0
- package/src/cli/commands/ContainerProxiesCommand.d.ts.map +1 -0
- package/src/cli/commands/ContainerProxiesCommand.js +77 -0
- package/src/cli/commands/ContainerWorkersCommand.d.ts +5 -0
- package/src/cli/commands/ContainerWorkersCommand.d.ts.map +1 -0
- package/src/cli/commands/ContainerWorkersCommand.js +57 -0
- package/src/cli/commands/DeployCommand.d.ts +16 -0
- package/src/cli/commands/DeployCommand.d.ts.map +1 -0
- package/src/cli/commands/DeployCommand.js +110 -0
- package/src/cli/commands/DeployContainerProxiesCommand.d.ts +5 -0
- package/src/cli/commands/DeployContainerProxiesCommand.d.ts.map +1 -0
- package/src/cli/commands/DeployContainerProxiesCommand.js +27 -0
- package/src/cli/commands/DeployContainerWorkersCommand.d.ts +5 -0
- package/src/cli/commands/DeployContainerWorkersCommand.d.ts.map +1 -0
- package/src/cli/commands/DeployContainerWorkersCommand.js +27 -0
- package/src/cli/commands/DockerComposeCommandUtils.d.ts +3 -0
- package/src/cli/commands/DockerComposeCommandUtils.d.ts.map +1 -0
- package/src/cli/commands/DockerComposeCommandUtils.js +34 -0
- package/src/cli/commands/DoctorArchitectureCommand.d.ts +5 -0
- package/src/cli/commands/DoctorArchitectureCommand.d.ts.map +1 -0
- package/src/cli/commands/DoctorArchitectureCommand.js +54 -0
- package/src/cli/commands/InitContainerCommand.d.ts +5 -0
- package/src/cli/commands/InitContainerCommand.d.ts.map +1 -0
- package/src/cli/commands/InitContainerCommand.js +216 -0
- package/src/cli/commands/InitProducerCommand.d.ts +5 -0
- package/src/cli/commands/InitProducerCommand.d.ts.map +1 -0
- package/src/cli/commands/InitProducerCommand.js +47 -0
- package/src/cli/commands/InitProxyCommand.d.ts +5 -0
- package/src/cli/commands/InitProxyCommand.d.ts.map +1 -0
- package/src/cli/commands/InitProxyCommand.js +442 -0
- package/src/cli/commands/MongoDBProxyCommand.d.ts +5 -0
- package/src/cli/commands/MongoDBProxyCommand.d.ts.map +1 -0
- package/src/cli/commands/MongoDBProxyCommand.js +98 -0
- package/src/cli/commands/MySqlProxyCommand.d.ts +6 -0
- package/src/cli/commands/MySqlProxyCommand.d.ts.map +1 -0
- package/src/cli/commands/MySqlProxyCommand.js +32 -0
- package/src/cli/commands/PostgresProxyCommand.d.ts +6 -0
- package/src/cli/commands/PostgresProxyCommand.d.ts.map +1 -0
- package/src/cli/commands/PostgresProxyCommand.js +32 -0
- package/src/cli/commands/ProxyCommand.d.ts +12 -0
- package/src/cli/commands/ProxyCommand.d.ts.map +1 -0
- package/src/cli/commands/ProxyCommand.js +80 -0
- package/src/cli/commands/ProxyCommandUtils.d.ts +6 -0
- package/src/cli/commands/ProxyCommandUtils.d.ts.map +1 -0
- package/src/cli/commands/ProxyCommandUtils.js +38 -0
- package/src/cli/commands/QueueRecoveryCommand.d.ts +6 -0
- package/src/cli/commands/QueueRecoveryCommand.d.ts.map +1 -0
- package/src/cli/commands/QueueRecoveryCommand.js +513 -0
- package/src/cli/commands/RedisProxyCommand.d.ts +6 -0
- package/src/cli/commands/RedisProxyCommand.d.ts.map +1 -0
- package/src/cli/commands/RedisProxyCommand.js +53 -0
- package/src/cli/commands/SmtpProxyCommand.d.ts +6 -0
- package/src/cli/commands/SmtpProxyCommand.d.ts.map +1 -0
- package/src/cli/commands/SmtpProxyCommand.js +56 -0
- package/src/cli/commands/SqlProxyCommandUtils.d.ts +46 -0
- package/src/cli/commands/SqlProxyCommandUtils.d.ts.map +1 -0
- package/src/cli/commands/SqlProxyCommandUtils.js +48 -0
- package/src/cli/commands/SqlServerProxyCommand.d.ts +5 -0
- package/src/cli/commands/SqlServerProxyCommand.d.ts.map +1 -0
- package/src/cli/commands/SqlServerProxyCommand.js +85 -0
- package/src/cli/commands/StartCommand.d.ts.map +1 -1
- package/src/cli/commands/StartCommand.js +145 -18
- package/src/cli/commands/WorkerCommands.d.ts +1 -0
- package/src/cli/commands/WorkerCommands.d.ts.map +1 -1
- package/src/cli/commands/WorkerCommands.js +140 -6
- package/src/cli/commands/index.d.ts +2 -0
- package/src/cli/commands/index.d.ts.map +1 -1
- package/src/cli/commands/index.js +2 -0
- package/src/cli/commands/runner/index.d.ts +2 -2
- package/src/cli/commands/runner/index.d.ts.map +1 -1
- package/src/cli/commands/runner/index.js +15 -4
- package/src/cli/d1/D1SqlMigrations.d.ts.map +1 -1
- package/src/cli/d1/D1SqlMigrations.js +3 -0
- package/src/cli/index.d.ts +4 -0
- package/src/cli/index.d.ts.map +1 -1
- package/src/cli/index.js +4 -0
- package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -1
- package/src/cli/scaffolding/ProjectScaffolder.js +2 -0
- package/src/cli/scaffolding/ServiceScaffolder.d.ts.map +1 -1
- package/src/cli/scaffolding/ServiceScaffolder.js +1 -0
- package/src/cli/utils/EnvFileLoader.d.ts +2 -1
- package/src/cli/utils/EnvFileLoader.d.ts.map +1 -1
- package/src/cli/utils/EnvFileLoader.js +22 -21
- package/src/cli/utils/spawn.d.ts.map +1 -1
- package/src/cli/utils/spawn.js +17 -10
- package/src/cli/workers/QueueWorkRunner.js +1 -1
- package/src/common/ExternalServiceUtils.d.ts.map +1 -1
- package/src/common/ExternalServiceUtils.js +7 -2
- package/src/common/HealthRoutes.d.ts.map +1 -1
- package/src/common/HealthRoutes.js +50 -2
- package/src/common/RemoteSignedJson.d.ts +1 -0
- package/src/common/RemoteSignedJson.d.ts.map +1 -1
- package/src/common/RemoteSignedJson.js +39 -13
- package/src/common/index.d.ts +1 -0
- package/src/common/index.d.ts.map +1 -1
- package/src/common/index.js +12 -1
- package/src/config/FileLogWriter.d.ts.map +1 -1
- package/src/config/FileLogWriter.js +21 -6
- package/src/config/app.d.ts +4 -0
- package/src/config/app.d.ts.map +1 -1
- package/src/config/app.js +4 -0
- package/src/config/cache.d.ts.map +1 -1
- package/src/config/cache.js +22 -2
- package/src/config/cloudflare.d.ts +5 -1
- package/src/config/cloudflare.d.ts.map +1 -1
- package/src/config/cloudflare.js +48 -0
- package/src/config/database.d.ts.map +1 -1
- package/src/config/database.js +48 -13
- package/src/config/env.d.ts +90 -2
- package/src/config/env.d.ts.map +1 -1
- package/src/config/env.js +160 -18
- package/src/config/index.d.ts +1 -0
- package/src/config/index.d.ts.map +1 -1
- package/src/config/logger.d.ts.map +1 -1
- package/src/config/logger.js +60 -16
- package/src/config/mail.d.ts.map +1 -1
- package/src/config/mail.js +16 -10
- package/src/config/middleware.d.ts +5 -0
- package/src/config/middleware.d.ts.map +1 -1
- package/src/config/middleware.js +19 -1
- package/src/config/queue.d.ts.map +1 -1
- package/src/config/queue.js +70 -9
- package/src/config/redis.d.ts.map +1 -1
- package/src/config/redis.js +48 -13
- package/src/config/storage.d.ts.map +1 -1
- package/src/config/storage.js +1 -0
- package/src/config/type.d.ts +19 -0
- package/src/config/type.d.ts.map +1 -1
- package/src/config/workers.d.ts.map +1 -1
- package/src/config/workers.js +122 -16
- package/src/functions/cloudflare.d.ts.map +1 -1
- package/src/functions/cloudflare.js +55 -1
- package/src/health/StartupHealthChecks.js +1 -1
- package/src/http/FileUpload.d.ts +3 -2
- package/src/http/FileUpload.d.ts.map +1 -1
- package/src/http/Kernel.d.ts.map +1 -1
- package/src/http/Kernel.js +2 -1
- package/src/http/error-pages/ErrorPageRenderer.d.ts +4 -0
- package/src/http/error-pages/ErrorPageRenderer.d.ts.map +1 -1
- package/src/http/error-pages/ErrorPageRenderer.js +141 -1
- package/src/http/middleware/BodyParsingMiddleware.d.ts.map +1 -1
- package/src/http/middleware/BodyParsingMiddleware.js +33 -6
- package/src/index.d.ts +25 -53
- package/src/index.d.ts.map +1 -1
- package/src/index.js +30 -14
- package/src/microservices/ServiceAuthMiddleware.d.ts.map +1 -1
- package/src/microservices/ServiceAuthMiddleware.js +12 -4
- package/src/middleware/CsrfMiddleware.d.ts.map +1 -1
- package/src/middleware/CsrfMiddleware.js +39 -10
- package/src/middleware/ErrorHandlerMiddleware.d.ts.map +1 -1
- package/src/middleware/ErrorHandlerMiddleware.js +2 -1
- package/src/migrations/MigrationLoader.js +1 -1
- package/src/migrations/schema/SchemaCompiler.d.ts.map +1 -1
- package/src/migrations/schema/SchemaCompiler.js +6 -3
- package/src/node-singletons/crypto.d.ts +1 -1
- package/src/node-singletons/crypto.d.ts.map +1 -1
- package/src/node-singletons/crypto.js +1 -1
- package/src/node-singletons/fs.d.ts +1 -1
- package/src/node-singletons/fs.d.ts.map +1 -1
- package/src/node-singletons/path.d.ts +1 -1
- package/src/node-singletons/path.d.ts.map +1 -1
- package/src/node-singletons/path.js +1 -1
- package/src/node-singletons/stream.d.ts +11 -0
- package/src/node-singletons/stream.d.ts.map +1 -0
- package/src/node-singletons/stream.js +8 -0
- package/src/observability/OpenTelemetry.d.ts +7 -0
- package/src/observability/OpenTelemetry.d.ts.map +1 -1
- package/src/observability/OpenTelemetry.js +49 -2
- package/src/orm/Database.d.ts +4 -0
- package/src/orm/Database.d.ts.map +1 -1
- package/src/orm/Database.js +80 -9
- package/src/orm/DatabaseRuntimeRegistration.d.ts.map +1 -1
- package/src/orm/DatabaseRuntimeRegistration.js +2 -0
- package/src/orm/QueryBuilder.d.ts +1 -0
- package/src/orm/QueryBuilder.d.ts.map +1 -1
- package/src/orm/QueryBuilder.js +33 -3
- package/src/orm/SchemaCompiler.d.ts.map +1 -1
- package/src/orm/SchemaCompiler.js +6 -3
- package/src/orm/adapters/D1RemoteAdapter.d.ts.map +1 -1
- package/src/orm/adapters/D1RemoteAdapter.js +14 -1
- package/src/orm/adapters/MongoDBProxyAdapter.d.ts +3 -0
- package/src/orm/adapters/MongoDBProxyAdapter.d.ts.map +1 -0
- package/src/orm/adapters/MongoDBProxyAdapter.js +128 -0
- package/src/orm/adapters/MySQLProxyAdapter.d.ts +11 -0
- package/src/orm/adapters/MySQLProxyAdapter.d.ts.map +1 -0
- package/src/orm/adapters/MySQLProxyAdapter.js +143 -0
- package/src/orm/adapters/PostgreSQLProxyAdapter.d.ts +11 -0
- package/src/orm/adapters/PostgreSQLProxyAdapter.d.ts.map +1 -0
- package/src/orm/adapters/PostgreSQLProxyAdapter.js +147 -0
- package/src/orm/adapters/ProxyCache.d.ts +9 -0
- package/src/orm/adapters/ProxyCache.d.ts.map +1 -0
- package/src/orm/adapters/ProxyCache.js +24 -0
- package/src/orm/adapters/ProxySignedRequest.d.ts +11 -0
- package/src/orm/adapters/ProxySignedRequest.d.ts.map +1 -0
- package/src/orm/adapters/ProxySignedRequest.js +30 -0
- package/src/orm/adapters/ProxySigningPath.d.ts +3 -0
- package/src/orm/adapters/ProxySigningPath.d.ts.map +1 -0
- package/src/orm/adapters/ProxySigningPath.js +25 -0
- package/src/orm/adapters/SqlProxyAdapterUtils.d.ts +19 -0
- package/src/orm/adapters/SqlProxyAdapterUtils.d.ts.map +1 -0
- package/src/orm/adapters/SqlProxyAdapterUtils.js +35 -0
- package/src/orm/adapters/SqlServerProxyAdapter.d.ts +3 -0
- package/src/orm/adapters/SqlServerProxyAdapter.d.ts.map +1 -0
- package/src/orm/adapters/SqlServerProxyAdapter.js +146 -0
- package/src/performance/Optimizer.d.ts +1 -0
- package/src/performance/Optimizer.d.ts.map +1 -1
- package/src/performance/Optimizer.js +21 -8
- package/src/proxy/ErrorHandler.d.ts +11 -0
- package/src/proxy/ErrorHandler.d.ts.map +1 -0
- package/src/proxy/ErrorHandler.js +7 -0
- package/src/proxy/PoolManager.d.ts +8 -0
- package/src/proxy/PoolManager.d.ts.map +1 -0
- package/src/proxy/PoolManager.js +18 -0
- package/src/proxy/ProxyBackend.d.ts +18 -0
- package/src/proxy/ProxyBackend.d.ts.map +1 -0
- package/src/proxy/ProxyBackend.js +1 -0
- package/src/proxy/ProxyConfig.d.ts +12 -0
- package/src/proxy/ProxyConfig.d.ts.map +1 -0
- package/src/proxy/ProxyConfig.js +1 -0
- package/src/proxy/ProxyRegistry.d.ts +10 -0
- package/src/proxy/ProxyRegistry.d.ts.map +1 -0
- package/src/proxy/ProxyRegistry.js +11 -0
- package/src/proxy/ProxyServer.d.ts +21 -0
- package/src/proxy/ProxyServer.d.ts.map +1 -0
- package/src/proxy/ProxyServer.js +84 -0
- package/src/proxy/ProxyServerUtils.d.ts +37 -0
- package/src/proxy/ProxyServerUtils.d.ts.map +1 -0
- package/src/proxy/ProxyServerUtils.js +42 -0
- package/src/proxy/ProxySigningConfigResolver.d.ts +22 -0
- package/src/proxy/ProxySigningConfigResolver.d.ts.map +1 -0
- package/src/proxy/ProxySigningConfigResolver.js +24 -0
- package/src/proxy/ProxySigningRequest.d.ts +12 -0
- package/src/proxy/ProxySigningRequest.d.ts.map +1 -0
- package/src/proxy/ProxySigningRequest.js +31 -0
- package/src/proxy/RequestValidator.d.ts +15 -0
- package/src/proxy/RequestValidator.d.ts.map +1 -0
- package/src/proxy/RequestValidator.js +25 -0
- package/src/proxy/SigningService.d.ts +39 -0
- package/src/proxy/SigningService.d.ts.map +1 -0
- package/src/proxy/SigningService.js +107 -0
- package/src/proxy/SqlPayloadValidator.d.ts +13 -0
- package/src/proxy/SqlPayloadValidator.d.ts.map +1 -0
- package/src/proxy/SqlPayloadValidator.js +14 -0
- package/src/proxy/d1/ZintrustD1Proxy.d.ts +2 -0
- package/src/proxy/d1/ZintrustD1Proxy.d.ts.map +1 -0
- package/src/proxy/d1/ZintrustD1Proxy.js +1 -0
- package/src/proxy/d1/register.d.ts +2 -0
- package/src/proxy/d1/register.d.ts.map +1 -0
- package/src/proxy/d1/register.js +5 -0
- package/src/proxy/kv/ZintrustKvProxy.d.ts +2 -0
- package/src/proxy/kv/ZintrustKvProxy.d.ts.map +1 -0
- package/src/proxy/kv/ZintrustKvProxy.js +1 -0
- package/src/proxy/kv/register.d.ts +2 -0
- package/src/proxy/kv/register.d.ts.map +1 -0
- package/src/proxy/kv/register.js +5 -0
- package/src/proxy/mongodb/MongoDBProxyServer.d.ts +33 -0
- package/src/proxy/mongodb/MongoDBProxyServer.d.ts.map +1 -0
- package/src/proxy/mongodb/MongoDBProxyServer.js +202 -0
- package/src/proxy/mongodb/register.d.ts +2 -0
- package/src/proxy/mongodb/register.d.ts.map +1 -0
- package/src/proxy/mongodb/register.js +5 -0
- package/src/proxy/mysql/MySqlProxyServer.d.ts +14 -0
- package/src/proxy/mysql/MySqlProxyServer.d.ts.map +1 -0
- package/src/proxy/mysql/MySqlProxyServer.js +169 -0
- package/src/proxy/mysql/register.d.ts +2 -0
- package/src/proxy/mysql/register.d.ts.map +1 -0
- package/src/proxy/mysql/register.js +5 -0
- package/src/proxy/postgres/PostgresProxyServer.d.ts +14 -0
- package/src/proxy/postgres/PostgresProxyServer.d.ts.map +1 -0
- package/src/proxy/postgres/PostgresProxyServer.js +140 -0
- package/src/proxy/postgres/register.d.ts +2 -0
- package/src/proxy/postgres/register.d.ts.map +1 -0
- package/src/proxy/postgres/register.js +5 -0
- package/src/proxy/redis/RedisProxyServer.d.ts +12 -0
- package/src/proxy/redis/RedisProxyServer.d.ts.map +1 -0
- package/src/proxy/redis/RedisProxyServer.js +192 -0
- package/src/proxy/redis/register.d.ts +2 -0
- package/src/proxy/redis/register.d.ts.map +1 -0
- package/src/proxy/redis/register.js +5 -0
- package/src/proxy/smtp/SmtpProxyServer.d.ts +19 -0
- package/src/proxy/smtp/SmtpProxyServer.d.ts.map +1 -0
- package/src/proxy/smtp/SmtpProxyServer.js +289 -0
- package/src/proxy/smtp/register.d.ts +2 -0
- package/src/proxy/smtp/register.d.ts.map +1 -0
- package/src/proxy/smtp/register.js +5 -0
- package/src/proxy/sqlserver/SqlServerProxyServer.d.ts +14 -0
- package/src/proxy/sqlserver/SqlServerProxyServer.d.ts.map +1 -0
- package/src/proxy/sqlserver/SqlServerProxyServer.js +168 -0
- package/src/proxy/sqlserver/register.d.ts +2 -0
- package/src/proxy/sqlserver/register.d.ts.map +1 -0
- package/src/proxy/sqlserver/register.js +5 -0
- package/src/routes/doc.d.ts.map +1 -1
- package/src/routes/doc.js +16 -2
- package/src/routes/error.d.ts +5 -4
- package/src/routes/error.d.ts.map +1 -1
- package/src/routes/error.js +15 -13
- package/src/routes/errorPages.d.ts +2 -0
- package/src/routes/errorPages.d.ts.map +1 -1
- package/src/routes/errorPages.js +144 -4
- package/src/runtime/PluginAutoImports.d.ts +1 -0
- package/src/runtime/PluginAutoImports.d.ts.map +1 -1
- package/src/runtime/PluginAutoImports.js +94 -9
- package/src/runtime/RuntimeAdapter.d.ts +8 -9
- package/src/runtime/RuntimeAdapter.d.ts.map +1 -1
- package/src/runtime/RuntimeAdapter.js +120 -34
- package/src/runtime/RuntimeServices.d.ts +47 -0
- package/src/runtime/RuntimeServices.d.ts.map +1 -0
- package/src/runtime/RuntimeServices.js +164 -0
- package/src/runtime/StartupConfigFileRegistry.d.ts +4 -4
- package/src/runtime/StartupConfigFileRegistry.d.ts.map +1 -1
- package/src/runtime/StartupConfigFileRegistry.js +12 -0
- package/src/runtime/WorkerAdapterImports.d.ts +5 -0
- package/src/runtime/WorkerAdapterImports.d.ts.map +1 -0
- package/src/runtime/WorkerAdapterImports.js +17 -0
- package/src/runtime/WorkersModule.d.ts +6 -0
- package/src/runtime/WorkersModule.d.ts.map +1 -0
- package/src/runtime/WorkersModule.js +278 -0
- package/src/runtime/adapters/CloudflareAdapter.d.ts.map +1 -1
- package/src/runtime/adapters/CloudflareAdapter.js +19 -2
- package/src/runtime/adapters/DenoAdapter.js +1 -0
- package/src/runtime/adapters/FargateAdapter.js +1 -1
- package/src/runtime/adapters/LambdaAdapter.js +1 -1
- package/src/runtime/adapters/NodeServerAdapter.js +1 -1
- package/src/runtime/detectRuntime.d.ts +10 -0
- package/src/runtime/detectRuntime.d.ts.map +1 -0
- package/src/runtime/detectRuntime.js +57 -0
- package/src/runtime/useFileLoader.d.ts.map +1 -1
- package/src/runtime/useFileLoader.js +16 -0
- package/src/scripts/TemplateImportsCheck.js +2 -2
- package/src/scripts/TemplateSync.js +3 -4
- package/src/security/CsrfTokenManager.d.ts +18 -9
- package/src/security/CsrfTokenManager.d.ts.map +1 -1
- package/src/security/CsrfTokenManager.js +204 -11
- package/src/security/Hash.d.ts +1 -1
- package/src/security/Hash.d.ts.map +1 -1
- package/src/security/Hash.js +31 -36
- package/src/seeders/SeederLoader.js +1 -1
- package/src/session/SessionManager.d.ts +3 -0
- package/src/session/SessionManager.d.ts.map +1 -1
- package/src/session/SessionManager.js +49 -10
- package/src/sockets/CloudflareSocket.d.ts +24 -0
- package/src/sockets/CloudflareSocket.d.ts.map +1 -0
- package/src/sockets/CloudflareSocket.js +259 -0
- package/src/start.d.ts.map +1 -1
- package/src/start.js +1 -8
- package/src/templates/project/basic/app/Middleware/index.ts.tpl +1 -1
- package/src/templates/project/basic/src/zintrust.plugins.wg.ts.tpl +8 -0
- package/src/toolkit/Secrets/providers/AwsSecretsManager.d.ts.map +1 -1
- package/src/toolkit/Secrets/providers/AwsSecretsManager.js +4 -2
- package/src/tools/mail/drivers/Smtp.d.ts.map +1 -1
- package/src/tools/mail/drivers/Smtp.js +223 -18
- package/src/tools/mail/index.d.ts.map +1 -1
- package/src/tools/mail/index.js +5 -4
- package/src/tools/mail/template-loader.d.ts.map +1 -1
- package/src/tools/mail/template-loader.js +197 -29
- package/src/tools/mail/templates/auth-password-reset.d.ts +3 -0
- package/src/tools/mail/templates/auth-password-reset.d.ts.map +1 -0
- package/src/tools/mail/templates/auth-password-reset.js +231 -0
- package/src/tools/mail/templates/auth-welcome.d.ts +3 -0
- package/src/tools/mail/templates/auth-welcome.d.ts.map +1 -0
- package/src/tools/mail/templates/auth-welcome.js +236 -0
- package/src/tools/mail/templates/general.d.ts +3 -0
- package/src/tools/mail/templates/general.d.ts.map +1 -0
- package/src/tools/mail/templates/general.js +109 -0
- package/src/tools/mail/templates/index.js +2 -2
- package/src/tools/mail/templates/job-completed.d.ts +3 -0
- package/src/tools/mail/templates/job-completed.d.ts.map +1 -0
- package/src/tools/mail/templates/job-completed.js +188 -0
- package/src/tools/mail/templates/notifications-new-comment.d.ts +3 -0
- package/src/tools/mail/templates/notifications-new-comment.d.ts.map +1 -0
- package/src/tools/mail/templates/notifications-new-comment.js +228 -0
- package/src/tools/mail/templates/password-reset.d.ts +3 -0
- package/src/tools/mail/templates/password-reset.d.ts.map +1 -0
- package/src/tools/mail/templates/password-reset.js +221 -0
- package/src/tools/mail/templates/performance-report.d.ts +3 -0
- package/src/tools/mail/templates/performance-report.d.ts.map +1 -0
- package/src/tools/mail/templates/performance-report.js +258 -0
- package/src/tools/mail/templates/welcome.d.ts +3 -0
- package/src/tools/mail/templates/welcome.d.ts.map +1 -0
- package/src/tools/mail/templates/welcome.js +187 -0
- package/src/tools/mail/templates/worker-alert.d.ts +3 -0
- package/src/tools/mail/templates/worker-alert.d.ts.map +1 -0
- package/src/tools/mail/templates/worker-alert.js +229 -0
- package/src/tools/notification/Notification.js +1 -1
- package/src/tools/notification/testingHelpers.js +6 -5
- package/src/tools/queue/AdvancedQueue.js +2 -6
- package/src/tools/queue/IdempotencyManager.d.ts +6 -0
- package/src/tools/queue/IdempotencyManager.d.ts.map +1 -0
- package/src/tools/queue/IdempotencyManager.js +36 -0
- package/src/tools/queue/JobHeartbeatStore.d.ts +16 -0
- package/src/tools/queue/JobHeartbeatStore.d.ts.map +1 -0
- package/src/tools/queue/JobHeartbeatStore.js +67 -0
- package/src/tools/queue/JobReconciliationRunner.d.ts +16 -0
- package/src/tools/queue/JobReconciliationRunner.d.ts.map +1 -0
- package/src/tools/queue/JobReconciliationRunner.js +88 -0
- package/src/tools/queue/JobRecoveryDaemon.d.ts +27 -0
- package/src/tools/queue/JobRecoveryDaemon.d.ts.map +1 -0
- package/src/tools/queue/JobRecoveryDaemon.js +205 -0
- package/src/tools/queue/JobStateTracker.d.ts +131 -0
- package/src/tools/queue/JobStateTracker.d.ts.map +1 -0
- package/src/tools/queue/JobStateTracker.js +387 -0
- package/src/tools/queue/JobStateTrackerDbPersistence.d.ts +12 -0
- package/src/tools/queue/JobStateTrackerDbPersistence.d.ts.map +1 -0
- package/src/tools/queue/JobStateTrackerDbPersistence.js +148 -0
- package/src/tools/queue/Queue.d.ts.map +1 -1
- package/src/tools/queue/Queue.js +160 -16
- package/src/tools/queue/QueueDataRedactor.d.ts +6 -0
- package/src/tools/queue/QueueDataRedactor.d.ts.map +1 -0
- package/src/tools/queue/QueueDataRedactor.js +45 -0
- package/src/tools/queue/QueueExtensions.d.ts.map +1 -1
- package/src/tools/queue/QueueExtensions.js +2 -1
- package/src/tools/queue/QueueReliabilityMetrics.d.ts +38 -0
- package/src/tools/queue/QueueReliabilityMetrics.d.ts.map +1 -0
- package/src/tools/queue/QueueReliabilityMetrics.js +131 -0
- package/src/tools/queue/QueueReliabilityOrchestrator.d.ts +7 -0
- package/src/tools/queue/QueueReliabilityOrchestrator.d.ts.map +1 -0
- package/src/tools/queue/QueueReliabilityOrchestrator.js +59 -0
- package/src/tools/queue/QueueRuntimeRegistration.d.ts +1 -9
- package/src/tools/queue/QueueRuntimeRegistration.d.ts.map +1 -1
- package/src/tools/queue/QueueRuntimeRegistration.js +75 -4
- package/src/tools/queue/QueueTracing.d.ts +32 -0
- package/src/tools/queue/QueueTracing.d.ts.map +1 -0
- package/src/tools/queue/QueueTracing.js +151 -0
- package/src/tools/queue/StalledJobMonitor.d.ts +5 -0
- package/src/tools/queue/StalledJobMonitor.d.ts.map +1 -0
- package/src/tools/queue/StalledJobMonitor.js +21 -0
- package/src/tools/queue/TimeoutManager.d.ts +14 -0
- package/src/tools/queue/TimeoutManager.d.ts.map +1 -0
- package/src/tools/queue/TimeoutManager.js +77 -0
- package/src/tools/queue/drivers/Redis.d.ts +1 -0
- package/src/tools/queue/drivers/Redis.d.ts.map +1 -1
- package/src/tools/queue/drivers/Redis.js +1 -0
- package/src/tools/queue/index.d.ts +10 -0
- package/src/tools/queue/index.d.ts.map +1 -1
- package/src/tools/queue/index.js +10 -0
- package/src/tools/redis/RedisKeyManager.d.ts +3 -0
- package/src/tools/redis/RedisKeyManager.d.ts.map +1 -1
- package/src/tools/redis/RedisKeyManager.js +15 -0
- package/src/tools/storage/drivers/R2.d.ts +13 -0
- package/src/tools/storage/drivers/R2.d.ts.map +1 -1
- package/src/tools/storage/drivers/R2.js +29 -0
- package/src/zintrust.plugins.d.ts +9 -0
- package/src/zintrust.plugins.d.ts.map +1 -0
- package/src/zintrust.plugins.js +7 -0
- package/src/zintrust.plugins.wg.d.ts +9 -0
- package/src/zintrust.plugins.wg.d.ts.map +1 -0
- package/src/zintrust.plugins.wg.js +7 -0
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
export default `<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
7
|
+
<title>Welcome to {{APP_NAME}}</title>
|
|
8
|
+
<!--[if mso]>
|
|
9
|
+
<style type="text/css">
|
|
10
|
+
table {
|
|
11
|
+
border-collapse: collapse;
|
|
12
|
+
}
|
|
13
|
+
</style>
|
|
14
|
+
<![endif]-->
|
|
15
|
+
<style>
|
|
16
|
+
body {
|
|
17
|
+
margin: 0;
|
|
18
|
+
padding: 0;
|
|
19
|
+
background-color: #0b1220;
|
|
20
|
+
font-family:
|
|
21
|
+
-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.email-container {
|
|
25
|
+
max-width: 600px;
|
|
26
|
+
margin: 40px auto;
|
|
27
|
+
background-color: #0f172a;
|
|
28
|
+
border: 1px solid #334155;
|
|
29
|
+
border-radius: 12px;
|
|
30
|
+
overflow: hidden;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.header {
|
|
34
|
+
padding: 40px 40px 30px;
|
|
35
|
+
text-align: center;
|
|
36
|
+
background: linear-gradient(180deg, rgba(14, 165, 233, 0.18), rgba(2, 132, 199, 0.1));
|
|
37
|
+
border-bottom: 1px solid #334155;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.icon {
|
|
41
|
+
width: 48px;
|
|
42
|
+
height: 48px;
|
|
43
|
+
margin: 0 auto 20px;
|
|
44
|
+
border-radius: 12px;
|
|
45
|
+
border: 1px solid rgba(14, 165, 233, 0.35);
|
|
46
|
+
background: linear-gradient(180deg, rgba(14, 165, 233, 0.25), rgba(2, 132, 199, 0.15));
|
|
47
|
+
display: inline-flex;
|
|
48
|
+
align-items: center;
|
|
49
|
+
justify-content: center;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.title {
|
|
53
|
+
margin: 0 0 8px;
|
|
54
|
+
font-size: 28px;
|
|
55
|
+
font-weight: 700;
|
|
56
|
+
color: #e2e8f0;
|
|
57
|
+
line-height: 1.2;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.subtitle {
|
|
61
|
+
margin: 0;
|
|
62
|
+
font-size: 16px;
|
|
63
|
+
color: #e2e8f0;
|
|
64
|
+
line-height: 1.5;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.content {
|
|
68
|
+
padding: 40px;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.getting-started {
|
|
72
|
+
margin: 0 0 20px;
|
|
73
|
+
font-size: 20px;
|
|
74
|
+
font-weight: 700;
|
|
75
|
+
color: #f1f5f9;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.steps {
|
|
79
|
+
width: 100%;
|
|
80
|
+
border-collapse: collapse;
|
|
81
|
+
margin-bottom: 30px;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.step-item {
|
|
85
|
+
padding: 16px;
|
|
86
|
+
background: rgba(14, 165, 233, 0.08);
|
|
87
|
+
border-left: 3px solid #0ea5e9;
|
|
88
|
+
border-radius: 6px;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.step-item p {
|
|
92
|
+
margin: 0 0 12px;
|
|
93
|
+
font-size: 14px;
|
|
94
|
+
color: #f1f5f9;
|
|
95
|
+
line-height: 1.6;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.message {
|
|
99
|
+
margin: 0 0 24px;
|
|
100
|
+
font-size: 15px;
|
|
101
|
+
color: #f1f5f9;
|
|
102
|
+
line-height: 1.6;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.button-container {
|
|
106
|
+
margin-bottom: 30px;
|
|
107
|
+
text-align: center;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.verify-button {
|
|
111
|
+
display: inline-block;
|
|
112
|
+
padding: 14px 32px;
|
|
113
|
+
background: linear-gradient(135deg, #1e3a8a, #1a2e4a);
|
|
114
|
+
color: #ffffff;
|
|
115
|
+
text-decoration: none;
|
|
116
|
+
border-radius: 8px;
|
|
117
|
+
font-weight: 600;
|
|
118
|
+
font-size: 15px;
|
|
119
|
+
border: 1px solid rgba(30, 58, 138, 0.5);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.expiry-notice {
|
|
123
|
+
margin: 0;
|
|
124
|
+
font-size: 13px;
|
|
125
|
+
color: #f1f5f9;
|
|
126
|
+
line-height: 1.5;
|
|
127
|
+
text-align: center;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.expiry-notice em {
|
|
131
|
+
font-style: italic;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.divider {
|
|
135
|
+
margin: 30px 0;
|
|
136
|
+
border-top: 1px solid #334155;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.support {
|
|
140
|
+
margin: 0;
|
|
141
|
+
font-size: 14px;
|
|
142
|
+
color: #e2e8f0;
|
|
143
|
+
line-height: 1.6;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.support a {
|
|
147
|
+
color: #bae6fd;
|
|
148
|
+
text-decoration: none;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.footer {
|
|
152
|
+
padding: 30px 40px;
|
|
153
|
+
background: rgba(15, 23, 42, 0.65);
|
|
154
|
+
border-top: 1px solid #334155;
|
|
155
|
+
text-align: center;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.footer p {
|
|
159
|
+
margin: 0;
|
|
160
|
+
font-size: 12px;
|
|
161
|
+
color: #64748b;
|
|
162
|
+
}
|
|
163
|
+
</style>
|
|
164
|
+
</head>
|
|
165
|
+
<body>
|
|
166
|
+
<div class="email-container">
|
|
167
|
+
<!-- Header with Logo -->
|
|
168
|
+
<div class="header">
|
|
169
|
+
<div class="icon">
|
|
170
|
+
<span style="font-size: 24px">🎉</span>
|
|
171
|
+
</div>
|
|
172
|
+
<h1 class="title">Welcome, {{name}}!</h1>
|
|
173
|
+
<p class="subtitle">
|
|
174
|
+
Thanks for joining {{APP_NAME}} — we're excited to have you on board.
|
|
175
|
+
</p>
|
|
176
|
+
</div>
|
|
177
|
+
|
|
178
|
+
<!-- Main Content -->
|
|
179
|
+
<div class="content">
|
|
180
|
+
<h2 class="getting-started">Getting Started</h2>
|
|
181
|
+
|
|
182
|
+
<table class="steps">
|
|
183
|
+
<tr>
|
|
184
|
+
<th
|
|
185
|
+
style="
|
|
186
|
+
text-align: left;
|
|
187
|
+
padding: 12px;
|
|
188
|
+
background: rgba(14, 165, 233, 0.12);
|
|
189
|
+
border-bottom: 2px solid #0ea5e9;
|
|
190
|
+
color: #ffffff;
|
|
191
|
+
font-weight: 600;
|
|
192
|
+
"
|
|
193
|
+
>
|
|
194
|
+
Getting Started Steps
|
|
195
|
+
</th>
|
|
196
|
+
</tr>
|
|
197
|
+
<tr>
|
|
198
|
+
<td>
|
|
199
|
+
<div class="step-item">
|
|
200
|
+
<p>
|
|
201
|
+
✓ Verify your email<br />
|
|
202
|
+
✓ Complete your profile<br />
|
|
203
|
+
✓ Explore features
|
|
204
|
+
</p>
|
|
205
|
+
</div>
|
|
206
|
+
</td>
|
|
207
|
+
</tr>
|
|
208
|
+
</table>
|
|
209
|
+
|
|
210
|
+
<p class="message">To activate your account, please verify your email address:</p>
|
|
211
|
+
|
|
212
|
+
<!-- CTA Button -->
|
|
213
|
+
<div class="button-container">
|
|
214
|
+
<a href="{{confirmLink}}" class="verify-button">Verify Email Address</a>
|
|
215
|
+
</div>
|
|
216
|
+
|
|
217
|
+
<p class="expiry-notice">
|
|
218
|
+
<em>This link expires in {{expiryMinutes}} minutes.</em>
|
|
219
|
+
</p>
|
|
220
|
+
|
|
221
|
+
<!-- Divider -->
|
|
222
|
+
<div class="divider"></div>
|
|
223
|
+
|
|
224
|
+
<p class="support">
|
|
225
|
+
If you have any questions, reply to this email or contact our
|
|
226
|
+
<a href="{{support_url}}">support team</a>. We're here to help!
|
|
227
|
+
</p>
|
|
228
|
+
</div>
|
|
229
|
+
|
|
230
|
+
<!-- Footer -->
|
|
231
|
+
<div class="footer">
|
|
232
|
+
<p>© {{year}} {{APP_NAME}}. All rights reserved.</p>
|
|
233
|
+
</div>
|
|
234
|
+
</div>
|
|
235
|
+
</body>
|
|
236
|
+
</html>`;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const _default: "<!doctype html>\n<html lang=\"en\">\n <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <title>{{subject}}</title>\n <style>\n body {\n margin: 0;\n padding: 0;\n background-color: #0b1220;\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\n }\n\n .email-container {\n max-width: 600px;\n margin: 40px auto;\n background-color: #0f172a;\n border: 1px solid #334155;\n border-radius: 12px;\n overflow: hidden;\n }\n\n .header {\n padding: 40px 40px 30px;\n text-align: center;\n border-bottom: 1px solid #334155;\n background: radial-gradient(circle at top, rgba(51, 65, 85, 0.2), transparent 70%);\n }\n\n .headline {\n margin: 0 0 16px;\n font-size: 28px;\n font-weight: 700;\n color: #e2e8f0;\n line-height: 1.25;\n }\n\n .content {\n padding: 40px;\n color: #94a3b8;\n font-size: 16px;\n line-height: 1.6;\n }\n\n .message {\n margin: 0 0 24px;\n color: #cbd5e1;\n }\n\n .button-container {\n text-align: center;\n margin-top: 32px;\n margin-bottom: 16px;\n }\n\n .button {\n display: inline-block;\n padding: 12px 32px;\n background-color: {{primary_color}};\n color: #ffffff;\n text-decoration: none;\n border-radius: 8px;\n font-weight: 600;\n transition: opacity 0.2s;\n border: 1px solid rgba(255, 255, 255, 0.1);\n }\n\n .button:hover {\n opacity: 0.9;\n }\n\n .footer {\n padding: 30px;\n background-color: #0b1220;\n border-top: 1px solid #1e293b;\n text-align: center;\n }\n\n .copyright {\n font-size: 13px;\n color: #64748b;\n margin: 0;\n }\n </style>\n </head>\n <body>\n <div class=\"email-container\">\n <div class=\"header\">\n <h1 class=\"headline\" style=\"color: {{primary_color}}\">{{headline}}</h1>\n </div>\n\n <div class=\"content\">\n <div class=\"message\">{{message}}</div>\n\n {{#if_action_url}}\n <div class=\"button-container\">\n <a href=\"{{action_url}}\" class=\"button\">{{action_text}}</a>\n </div>\n {{/if_action_url}}\n </div>\n\n <div class=\"footer\">\n <p class=\"copyright\">\u00A9 {{year}} {{APP_NAME}}. All rights reserved.</p>\n </div>\n </div>\n </body>\n</html>";
|
|
2
|
+
export default _default;
|
|
3
|
+
//# sourceMappingURL=general.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mail/templates/general.ts"],"names":[],"mappings":";AAAA,wBA4GS"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
export default `<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>{{subject}}</title>
|
|
7
|
+
<style>
|
|
8
|
+
body {
|
|
9
|
+
margin: 0;
|
|
10
|
+
padding: 0;
|
|
11
|
+
background-color: #0b1220;
|
|
12
|
+
font-family:
|
|
13
|
+
-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.email-container {
|
|
17
|
+
max-width: 600px;
|
|
18
|
+
margin: 40px auto;
|
|
19
|
+
background-color: #0f172a;
|
|
20
|
+
border: 1px solid #334155;
|
|
21
|
+
border-radius: 12px;
|
|
22
|
+
overflow: hidden;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.header {
|
|
26
|
+
padding: 40px 40px 30px;
|
|
27
|
+
text-align: center;
|
|
28
|
+
border-bottom: 1px solid #334155;
|
|
29
|
+
background: radial-gradient(circle at top, rgba(51, 65, 85, 0.2), transparent 70%);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.headline {
|
|
33
|
+
margin: 0 0 16px;
|
|
34
|
+
font-size: 28px;
|
|
35
|
+
font-weight: 700;
|
|
36
|
+
color: #e2e8f0;
|
|
37
|
+
line-height: 1.25;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.content {
|
|
41
|
+
padding: 40px;
|
|
42
|
+
color: #94a3b8;
|
|
43
|
+
font-size: 16px;
|
|
44
|
+
line-height: 1.6;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.message {
|
|
48
|
+
margin: 0 0 24px;
|
|
49
|
+
color: #cbd5e1;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.button-container {
|
|
53
|
+
text-align: center;
|
|
54
|
+
margin-top: 32px;
|
|
55
|
+
margin-bottom: 16px;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.button {
|
|
59
|
+
display: inline-block;
|
|
60
|
+
padding: 12px 32px;
|
|
61
|
+
background-color: {{primary_color}};
|
|
62
|
+
color: #ffffff;
|
|
63
|
+
text-decoration: none;
|
|
64
|
+
border-radius: 8px;
|
|
65
|
+
font-weight: 600;
|
|
66
|
+
transition: opacity 0.2s;
|
|
67
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.button:hover {
|
|
71
|
+
opacity: 0.9;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.footer {
|
|
75
|
+
padding: 30px;
|
|
76
|
+
background-color: #0b1220;
|
|
77
|
+
border-top: 1px solid #1e293b;
|
|
78
|
+
text-align: center;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.copyright {
|
|
82
|
+
font-size: 13px;
|
|
83
|
+
color: #64748b;
|
|
84
|
+
margin: 0;
|
|
85
|
+
}
|
|
86
|
+
</style>
|
|
87
|
+
</head>
|
|
88
|
+
<body>
|
|
89
|
+
<div class="email-container">
|
|
90
|
+
<div class="header">
|
|
91
|
+
<h1 class="headline" style="color: {{primary_color}}">{{headline}}</h1>
|
|
92
|
+
</div>
|
|
93
|
+
|
|
94
|
+
<div class="content">
|
|
95
|
+
<div class="message">{{message}}</div>
|
|
96
|
+
|
|
97
|
+
{{#if_action_url}}
|
|
98
|
+
<div class="button-container">
|
|
99
|
+
<a href="{{action_url}}" class="button">{{action_text}}</a>
|
|
100
|
+
</div>
|
|
101
|
+
{{/if_action_url}}
|
|
102
|
+
</div>
|
|
103
|
+
|
|
104
|
+
<div class="footer">
|
|
105
|
+
<p class="copyright">© {{year}} {{APP_NAME}}. All rights reserved.</p>
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
</body>
|
|
109
|
+
</html>`;
|
|
@@ -39,8 +39,8 @@ import { ErrorFactory } from '../../../exceptions/ZintrustError.js';
|
|
|
39
39
|
* Mail templates are now pure HTML files.
|
|
40
40
|
* These exports provide backward compatibility for CLI and node.ts exports.
|
|
41
41
|
*/
|
|
42
|
-
import { readdirSync, readFileSync } from 'node
|
|
43
|
-
import { join } from 'node
|
|
42
|
+
import { readdirSync, readFileSync } from '../../../node-singletons/fs.js';
|
|
43
|
+
import { join } from '../../../node-singletons/path.js';
|
|
44
44
|
/**
|
|
45
45
|
* List all available HTML mail templates.
|
|
46
46
|
* Returns template names without the .html extension.
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const _default: "<!doctype html>\n<html lang=\"en\">\n <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <title>Job Completed</title>\n <style>\n body {\n margin: 0;\n padding: 0;\n background-color: #0b1220;\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\n }\n\n .email-container {\n max-width: 600px;\n margin: 40px auto;\n background-color: #0f172a;\n border: 1px solid #334155;\n border-radius: 12px;\n overflow: hidden;\n }\n\n .header {\n padding: 40px 40px 30px;\n text-align: center;\n background: linear-gradient(180deg, rgba(34, 197, 94, 0.15), rgba(22, 163, 74, 0.08));\n border-bottom: 1px solid #334155;\n }\n\n .icon {\n width: 48px;\n height: 48px;\n margin: 0 auto 20px;\n border-radius: 12px;\n border: 1px solid rgba(34, 197, 94, 0.35);\n background: linear-gradient(180deg, rgba(34, 197, 94, 0.2), rgba(22, 163, 74, 0.1));\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n\n .title {\n margin: 0 0 8px;\n font-size: 28px;\n font-weight: 700;\n color: #e2e8f0;\n line-height: 1.2;\n }\n\n .subtitle {\n margin: 0;\n font-size: 16px;\n color: #e2e8f0;\n line-height: 1.5;\n }\n\n .content {\n padding: 40px;\n }\n\n .greeting {\n margin: 0 0 24px;\n font-size: 15px;\n color: #e2e8f0;\n line-height: 1.6;\n }\n\n .job-details {\n margin-bottom: 30px;\n }\n\n .job-details table {\n width: 100%;\n border-collapse: collapse;\n }\n\n .job-details th {\n text-align: left;\n padding: 12px;\n background: rgba(34, 197, 94, 0.12);\n border-bottom: 2px solid #22c55e;\n color: #e2e8f0;\n font-weight: 600;\n }\n\n .job-details td {\n padding: 8px 0;\n color: #e2e8f0;\n font-size: 14px;\n font-family: 'Courier New', monospace;\n }\n\n .status-badge {\n display: inline-block;\n padding: 4px 12px;\n background-color: #22c55e;\n color: #ffffff;\n border-radius: 4px;\n font-size: 12px;\n font-weight: 600;\n }\n\n .button-container {\n margin-bottom: 30px;\n text-align: center;\n }\n\n .dashboard-button {\n display: inline-block;\n padding: 14px 32px;\n background: linear-gradient(135deg, #22c55e, #16a34a);\n color: #ffffff;\n text-decoration: none;\n border-radius: 8px;\n font-weight: 600;\n font-size: 15px;\n border: 1px solid rgba(34, 197, 94, 0.5);\n }\n\n .footer {\n padding: 30px 40px;\n background: rgba(15, 23, 42, 0.65);\n border-top: 1px solid #334155;\n text-align: center;\n }\n\n .footer p {\n margin: 0;\n font-size: 12px;\n color: #64748b;\n }\n </style>\n </head>\n <body>\n <div class=\"email-container\">\n <!-- Header -->\n <div class=\"header\">\n <div class=\"icon\">\n <span style=\"font-size: 24px\">\u2705</span>\n </div>\n <h1 class=\"title\">Job Completed</h1>\n <p class=\"subtitle\">Your worker job has finished processing</p>\n </div>\n\n <!-- Main Content -->\n <div class=\"content\">\n <p class=\"greeting\">Hi <strong style=\"color: #e2e8f0\">{{name}}</strong>,</p>\n\n <div class=\"job-details\">\n <table class=\"job-details table\">\n <tr>\n <th>Job ID:</th>\n <td>{{job_id}}</td>\n </tr>\n <tr>\n <th>Worker:</th>\n <td>{{worker_name}}</td>\n </tr>\n <tr>\n <th>Queue:</th>\n <td>{{queue_name}}</td>\n </tr>\n <tr>\n <th>Completed:</th>\n <td>{{processed_at}}</td>\n </tr>\n <tr>\n <th>Status:</th>\n <td><span class=\"status-badge\">{{status}}</span></td>\n </tr>\n </table>\n </div>\n\n <!-- CTA Button -->\n <div class=\"button-container\">\n <a href=\"{{dashboard_url}}\" class=\"dashboard-button\">View Dashboard</a>\n </div>\n </div>\n\n <!-- Footer -->\n <div class=\"footer\">\n <p>© {{year}} {{APP_NAME}}. All rights reserved.</p>\n </div>\n </div>\n </body>\n</html>";
|
|
2
|
+
export default _default;
|
|
3
|
+
//# sourceMappingURL=job-completed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job-completed.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mail/templates/job-completed.ts"],"names":[],"mappings":";AAAA,wBA2LS"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
export default `<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>Job Completed</title>
|
|
7
|
+
<style>
|
|
8
|
+
body {
|
|
9
|
+
margin: 0;
|
|
10
|
+
padding: 0;
|
|
11
|
+
background-color: #0b1220;
|
|
12
|
+
font-family:
|
|
13
|
+
-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.email-container {
|
|
17
|
+
max-width: 600px;
|
|
18
|
+
margin: 40px auto;
|
|
19
|
+
background-color: #0f172a;
|
|
20
|
+
border: 1px solid #334155;
|
|
21
|
+
border-radius: 12px;
|
|
22
|
+
overflow: hidden;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.header {
|
|
26
|
+
padding: 40px 40px 30px;
|
|
27
|
+
text-align: center;
|
|
28
|
+
background: linear-gradient(180deg, rgba(34, 197, 94, 0.15), rgba(22, 163, 74, 0.08));
|
|
29
|
+
border-bottom: 1px solid #334155;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.icon {
|
|
33
|
+
width: 48px;
|
|
34
|
+
height: 48px;
|
|
35
|
+
margin: 0 auto 20px;
|
|
36
|
+
border-radius: 12px;
|
|
37
|
+
border: 1px solid rgba(34, 197, 94, 0.35);
|
|
38
|
+
background: linear-gradient(180deg, rgba(34, 197, 94, 0.2), rgba(22, 163, 74, 0.1));
|
|
39
|
+
display: inline-flex;
|
|
40
|
+
align-items: center;
|
|
41
|
+
justify-content: center;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.title {
|
|
45
|
+
margin: 0 0 8px;
|
|
46
|
+
font-size: 28px;
|
|
47
|
+
font-weight: 700;
|
|
48
|
+
color: #e2e8f0;
|
|
49
|
+
line-height: 1.2;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.subtitle {
|
|
53
|
+
margin: 0;
|
|
54
|
+
font-size: 16px;
|
|
55
|
+
color: #e2e8f0;
|
|
56
|
+
line-height: 1.5;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.content {
|
|
60
|
+
padding: 40px;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.greeting {
|
|
64
|
+
margin: 0 0 24px;
|
|
65
|
+
font-size: 15px;
|
|
66
|
+
color: #e2e8f0;
|
|
67
|
+
line-height: 1.6;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.job-details {
|
|
71
|
+
margin-bottom: 30px;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.job-details table {
|
|
75
|
+
width: 100%;
|
|
76
|
+
border-collapse: collapse;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.job-details th {
|
|
80
|
+
text-align: left;
|
|
81
|
+
padding: 12px;
|
|
82
|
+
background: rgba(34, 197, 94, 0.12);
|
|
83
|
+
border-bottom: 2px solid #22c55e;
|
|
84
|
+
color: #e2e8f0;
|
|
85
|
+
font-weight: 600;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.job-details td {
|
|
89
|
+
padding: 8px 0;
|
|
90
|
+
color: #e2e8f0;
|
|
91
|
+
font-size: 14px;
|
|
92
|
+
font-family: 'Courier New', monospace;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.status-badge {
|
|
96
|
+
display: inline-block;
|
|
97
|
+
padding: 4px 12px;
|
|
98
|
+
background-color: #22c55e;
|
|
99
|
+
color: #ffffff;
|
|
100
|
+
border-radius: 4px;
|
|
101
|
+
font-size: 12px;
|
|
102
|
+
font-weight: 600;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.button-container {
|
|
106
|
+
margin-bottom: 30px;
|
|
107
|
+
text-align: center;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.dashboard-button {
|
|
111
|
+
display: inline-block;
|
|
112
|
+
padding: 14px 32px;
|
|
113
|
+
background: linear-gradient(135deg, #22c55e, #16a34a);
|
|
114
|
+
color: #ffffff;
|
|
115
|
+
text-decoration: none;
|
|
116
|
+
border-radius: 8px;
|
|
117
|
+
font-weight: 600;
|
|
118
|
+
font-size: 15px;
|
|
119
|
+
border: 1px solid rgba(34, 197, 94, 0.5);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.footer {
|
|
123
|
+
padding: 30px 40px;
|
|
124
|
+
background: rgba(15, 23, 42, 0.65);
|
|
125
|
+
border-top: 1px solid #334155;
|
|
126
|
+
text-align: center;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.footer p {
|
|
130
|
+
margin: 0;
|
|
131
|
+
font-size: 12px;
|
|
132
|
+
color: #64748b;
|
|
133
|
+
}
|
|
134
|
+
</style>
|
|
135
|
+
</head>
|
|
136
|
+
<body>
|
|
137
|
+
<div class="email-container">
|
|
138
|
+
<!-- Header -->
|
|
139
|
+
<div class="header">
|
|
140
|
+
<div class="icon">
|
|
141
|
+
<span style="font-size: 24px">✅</span>
|
|
142
|
+
</div>
|
|
143
|
+
<h1 class="title">Job Completed</h1>
|
|
144
|
+
<p class="subtitle">Your worker job has finished processing</p>
|
|
145
|
+
</div>
|
|
146
|
+
|
|
147
|
+
<!-- Main Content -->
|
|
148
|
+
<div class="content">
|
|
149
|
+
<p class="greeting">Hi <strong style="color: #e2e8f0">{{name}}</strong>,</p>
|
|
150
|
+
|
|
151
|
+
<div class="job-details">
|
|
152
|
+
<table class="job-details table">
|
|
153
|
+
<tr>
|
|
154
|
+
<th>Job ID:</th>
|
|
155
|
+
<td>{{job_id}}</td>
|
|
156
|
+
</tr>
|
|
157
|
+
<tr>
|
|
158
|
+
<th>Worker:</th>
|
|
159
|
+
<td>{{worker_name}}</td>
|
|
160
|
+
</tr>
|
|
161
|
+
<tr>
|
|
162
|
+
<th>Queue:</th>
|
|
163
|
+
<td>{{queue_name}}</td>
|
|
164
|
+
</tr>
|
|
165
|
+
<tr>
|
|
166
|
+
<th>Completed:</th>
|
|
167
|
+
<td>{{processed_at}}</td>
|
|
168
|
+
</tr>
|
|
169
|
+
<tr>
|
|
170
|
+
<th>Status:</th>
|
|
171
|
+
<td><span class="status-badge">{{status}}</span></td>
|
|
172
|
+
</tr>
|
|
173
|
+
</table>
|
|
174
|
+
</div>
|
|
175
|
+
|
|
176
|
+
<!-- CTA Button -->
|
|
177
|
+
<div class="button-container">
|
|
178
|
+
<a href="{{dashboard_url}}" class="dashboard-button">View Dashboard</a>
|
|
179
|
+
</div>
|
|
180
|
+
</div>
|
|
181
|
+
|
|
182
|
+
<!-- Footer -->
|
|
183
|
+
<div class="footer">
|
|
184
|
+
<p>© {{year}} {{APP_NAME}}. All rights reserved.</p>
|
|
185
|
+
</div>
|
|
186
|
+
</div>
|
|
187
|
+
</body>
|
|
188
|
+
</html>`;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const _default: "<!doctype html>\n<html lang=\"en\">\n <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n <title>New Comment Notification</title>\n <style>\n body {\n margin: 0;\n padding: 0;\n background-color: #0b1220;\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\n }\n\n .email-container {\n max-width: 600px;\n margin: 40px auto;\n background-color: #0f172a;\n border: 1px solid #334155;\n border-radius: 12px;\n overflow: hidden;\n }\n\n .header {\n padding: 40px 40px 30px;\n text-align: center;\n background: linear-gradient(180deg, rgba(168, 85, 247, 0.15), rgba(147, 51, 234, 0.08));\n border-bottom: 1px solid #334155;\n }\n\n .icon {\n width: 48px;\n height: 48px;\n margin: 0 auto 20px;\n border-radius: 12px;\n border: 1px solid rgba(168, 85, 247, 0.35);\n background: linear-gradient(180deg, rgba(168, 85, 247, 0.2), rgba(147, 51, 234, 0.1));\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n\n .title {\n margin: 0 0 8px;\n font-size: 28px;\n font-weight: 700;\n color: #e2e8f0;\n line-height: 1.2;\n }\n\n .subtitle {\n margin: 0;\n font-size: 16px;\n color: #e2e8f0;\n line-height: 1.5;\n }\n\n .content {\n padding: 40px;\n }\n\n .greeting {\n margin: 0 0 24px;\n font-size: 15px;\n color: #e2e8f0;\n line-height: 1.6;\n }\n\n .comment-card {\n margin-bottom: 30px;\n border-radius: 8px;\n overflow: hidden;\n background: rgba(15, 23, 42, 0.65);\n border: 1px solid #334155;\n }\n\n .comment-header {\n display: flex;\n align-items: center;\n padding: 20px;\n background: rgba(168, 85, 247, 0.12);\n border-bottom: 1px solid #334155;\n }\n\n .commenter-avatar {\n width: 40px;\n height: 40px;\n border-radius: 50%;\n background: linear-gradient(135deg, #a855f7, #9333ea);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: #ffffff;\n font-weight: 600;\n font-size: 16px;\n }\n\n .commenter-info {\n flex: 1;\n margin-left: 12px;\n }\n\n .commenter-name {\n font-weight: 600;\n color: #e2e8f0;\n font-size: 14px;\n }\n\n .comment-time {\n font-size: 12px;\n color: #64748b;\n margin-top: 4px;\n }\n\n .comment-content {\n flex: 1;\n margin-left: 12px;\n font-size: 14px;\n color: #e2e8f0;\n line-height: 1.6;\n }\n\n .comment-text {\n margin: 0 0 12px;\n font-size: 14px;\n color: #cbd5e1;\n line-height: 1.6;\n }\n\n .button-container {\n margin-bottom: 30px;\n text-align: center;\n }\n\n .view-comment-button {\n display: inline-block;\n padding: 14px 32px;\n background: linear-gradient(135deg, #a855f7, #9333ea);\n color: #ffffff;\n text-decoration: none;\n border-radius: 8px;\n font-weight: 600;\n font-size: 15px;\n border: 1px solid rgba(168, 85, 247, 0.5);\n }\n\n .divider {\n margin: 30px 0;\n border-top: 1px solid #334155;\n }\n\n .footer {\n padding: 30px 40px;\n background: rgba(15, 23, 42, 0.65);\n border-top: 1px solid #334155;\n text-align: center;\n }\n\n .footer p {\n margin: 0;\n font-size: 12px;\n color: #64748b;\n }\n\n .footer a {\n color: #bae6fd;\n text-decoration: none;\n }\n </style>\n </head>\n <body>\n <div class=\"email-container\">\n <!-- Header -->\n <div class=\"header\">\n <div class=\"icon\">\n <span style=\"font-size: 24px\">\uD83D\uDCAC</span>\n </div>\n <h1 class=\"title\">New Comment</h1>\n <p class=\"subtitle\">Someone commented on your post</p>\n </div>\n\n <!-- Main Content -->\n <div class=\"content\">\n <p class=\"greeting\">Hi <strong style=\"color: #e2e8f0\">{{name}}</strong>,</p>\n\n <div class=\"comment-card\">\n <div class=\"comment-header\">\n <div class=\"commenter-avatar\">{{commenterInitial}}</div>\n <div class=\"commenter-info\">\n <div class=\"commenter-name\">{{commenterName}}</div>\n <div class=\"comment-time\">{{commentTime}}</div>\n </div>\n </div>\n\n <div class=\"comment-content\">\n <p class=\"comment-text\">{{commentText}}</p>\n <p style=\"margin: 0 0 12px; font-size: 14px; color: #cbd5e1; line-height: 1.6\">\n <strong style=\"color: #e2e8f0\">{{commenterName}}</strong> left a comment on your post\n \"<strong style=\"color: #e2e8f0\">{{postTitle}}</strong>\".\n </p>\n </div>\n </div>\n\n <!-- CTA Button -->\n <div class=\"button-container\">\n <a href=\"{{commentLink}}\" class=\"view-comment-button\">View Comment</a>\n </div>\n\n <!-- Divider -->\n <div class=\"divider\"></div>\n\n <p style=\"margin: 0; font-size: 14px; color: #e2e8f0; line-height: 1.6\">\n You're receiving this email because you enabled comment notifications.<br />\n <a href=\"{{unsubscribeLink}}\" style=\"color: #bae6fd; text-decoration: none\"\n >Manage notification settings</a\n >\n </p>\n </div>\n\n <!-- Footer -->\n <div class=\"footer\">\n <p>© {{year}} {{APP_NAME}}. All rights reserved.</p>\n </div>\n </div>\n </body>\n</html>";
|
|
2
|
+
export default _default;
|
|
3
|
+
//# sourceMappingURL=notifications-new-comment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notifications-new-comment.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mail/templates/notifications-new-comment.ts"],"names":[],"mappings":";AAAA,wBAmOS"}
|