@zintrust/core 0.1.40 → 0.1.42
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 +24 -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 -290
- package/src/boot/Server.d.ts +1 -1
- package/src/boot/Server.d.ts.map +1 -1
- package/src/boot/bootstrap.js +50 -16
- 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 +364 -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 +94 -34
- package/src/cli/ErrorHandler.js +1 -1
- package/src/cli/commands/ConfigCommand.d.ts.map +1 -1
- package/src/cli/commands/ConfigCommand.js +3 -5
- 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/D1LearnCommand.d.ts +9 -0
- package/src/cli/commands/D1LearnCommand.d.ts.map +1 -0
- package/src/cli/commands/D1LearnCommand.js +143 -0
- package/src/cli/commands/D1MigrateCommand.d.ts.map +1 -1
- package/src/cli/commands/D1MigrateCommand.js +55 -16
- 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 +231 -0
- package/src/cli/commands/InitEcosystemCommand.d.ts +6 -0
- package/src/cli/commands/InitEcosystemCommand.d.ts.map +1 -0
- package/src/cli/commands/InitEcosystemCommand.js +51 -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/MigrateCommand.d.ts.map +1 -1
- package/src/cli/commands/MigrateCommand.js +78 -36
- package/src/cli/commands/MigrateWorkerCommand.d.ts.map +1 -1
- package/src/cli/commands/MigrateWorkerCommand.js +36 -2
- 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/PutCommand.d.ts +6 -0
- package/src/cli/commands/PutCommand.d.ts.map +1 -0
- package/src/cli/commands/PutCommand.js +173 -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 +612 -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/ScheduleListCommand.d.ts +6 -0
- package/src/cli/commands/ScheduleListCommand.d.ts.map +1 -0
- package/src/cli/commands/ScheduleListCommand.js +62 -0
- package/src/cli/commands/ScheduleRunCommand.d.ts +6 -0
- package/src/cli/commands/ScheduleRunCommand.d.ts.map +1 -0
- package/src/cli/commands/ScheduleRunCommand.js +32 -0
- package/src/cli/commands/ScheduleStartCommand.d.ts +6 -0
- package/src/cli/commands/ScheduleStartCommand.d.ts.map +1 -0
- package/src/cli/commands/ScheduleStartCommand.js +40 -0
- package/src/cli/commands/SecretsCommand.d.ts.map +1 -1
- package/src/cli/commands/SecretsCommand.js +2 -2
- 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 +132 -17
- 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/commands/schedule/ScheduleCliSupport.d.ts +6 -0
- package/src/cli/commands/schedule/ScheduleCliSupport.d.ts.map +1 -0
- package/src/cli/commands/schedule/ScheduleCliSupport.js +55 -0
- package/src/cli/config/ConfigManager.d.ts.map +1 -1
- package/src/cli/config/ConfigManager.js +8 -1
- package/src/cli/d1/D1SqlMigrations.d.ts.map +1 -1
- package/src/cli/d1/D1SqlMigrations.js +14 -1
- package/src/cli/d1/WranglerConfig.d.ts.map +1 -1
- package/src/cli/d1/WranglerConfig.js +34 -2
- 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/services/VersionChecker.d.ts.map +1 -1
- package/src/cli/services/VersionChecker.js +5 -1
- package/src/cli/utils/DatabaseCliUtils.d.ts.map +1 -1
- package/src/cli/utils/DatabaseCliUtils.js +6 -1
- package/src/cli/utils/EnvFileLoader.d.ts.map +1 -1
- package/src/cli/utils/EnvFileLoader.js +35 -15
- package/src/cli/workers/QueueWorkRunner.js +1 -1
- package/src/cli.d.ts +5 -0
- package/src/cli.d.ts.map +1 -0
- package/src/cli.js +4 -0
- package/src/collections/index.d.ts +2 -2
- package/src/collections/index.d.ts.map +1 -1
- package/src/collections/index.js +1 -1
- 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 +81 -29
- 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/common/utility.d.ts.map +1 -1
- package/src/common/utility.js +2 -6
- 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 +67 -8
- package/src/config/database.d.ts.map +1 -1
- package/src/config/database.js +48 -13
- package/src/config/env.d.ts +87 -2
- package/src/config/env.d.ts.map +1 -1
- package/src/config/env.js +158 -19
- package/src/config/index.d.ts +1 -0
- package/src/config/index.d.ts.map +1 -1
- 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 +18 -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/helper/index.d.ts +225 -0
- package/src/helper/index.d.ts.map +1 -0
- package/src/helper/index.js +347 -0
- 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 +26 -57
- package/src/index.d.ts.map +1 -1
- package/src/index.js +32 -18
- 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 +30 -16
- package/src/middleware/ErrorHandlerMiddleware.d.ts.map +1 -1
- package/src/middleware/ErrorHandlerMiddleware.js +2 -1
- package/src/migrations/MigrationDiscovery.d.ts.map +1 -1
- package/src/migrations/MigrationDiscovery.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/DatabaseAdapter.d.ts +1 -0
- package/src/orm/DatabaseAdapter.d.ts.map +1 -1
- 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/SchemaStatemenWriter.d.ts +15 -0
- package/src/orm/SchemaStatemenWriter.d.ts.map +1 -0
- package/src/orm/SchemaStatemenWriter.js +78 -0
- package/src/orm/adapters/D1Adapter.d.ts.map +1 -1
- package/src/orm/adapters/D1Adapter.js +52 -2
- package/src/orm/adapters/D1RemoteAdapter.d.ts.map +1 -1
- package/src/orm/adapters/D1RemoteAdapter.js +150 -89
- 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 +162 -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 +163 -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 +36 -0
- package/src/orm/adapters/SqlProxyRegistryMode.d.ts +12 -0
- package/src/orm/adapters/SqlProxyRegistryMode.d.ts.map +1 -0
- package/src/orm/adapters/SqlProxyRegistryMode.js +24 -0
- package/src/orm/adapters/SqlServerProxyAdapter.d.ts +6 -0
- package/src/orm/adapters/SqlServerProxyAdapter.d.ts.map +1 -0
- package/src/orm/adapters/SqlServerProxyAdapter.js +154 -0
- package/src/orm/migrations/MigrationStore.js +1 -1
- 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/ProxyRequestParsing.d.ts +9 -0
- package/src/proxy/ProxyRequestParsing.d.ts.map +1 -0
- package/src/proxy/ProxyRequestParsing.js +16 -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 +26 -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/SqlProxyDbOverrides.d.ts +17 -0
- package/src/proxy/SqlProxyDbOverrides.d.ts.map +1 -0
- package/src/proxy/SqlProxyDbOverrides.js +1 -0
- package/src/proxy/SqlProxyServerDeps.d.ts +12 -0
- package/src/proxy/SqlProxyServerDeps.d.ts.map +1 -0
- package/src/proxy/SqlProxyServerDeps.js +9 -0
- package/src/proxy/StatementPayloadValidator.d.ts +13 -0
- package/src/proxy/StatementPayloadValidator.d.ts.map +1 -0
- package/src/proxy/StatementPayloadValidator.js +18 -0
- package/src/proxy/StatementRegistryLoader.d.ts +2 -0
- package/src/proxy/StatementRegistryLoader.d.ts.map +1 -0
- package/src/proxy/StatementRegistryLoader.js +36 -0
- package/src/proxy/StatementRegistryResolver.d.ts +15 -0
- package/src/proxy/StatementRegistryResolver.d.ts.map +1 -0
- package/src/proxy/StatementRegistryResolver.js +34 -0
- package/src/proxy/d1/ZintrustD1Proxy.d.ts +3 -0
- package/src/proxy/d1/ZintrustD1Proxy.d.ts.map +1 -0
- package/src/proxy/d1/ZintrustD1Proxy.js +2 -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/isMutatingSql.d.ts +2 -0
- package/src/proxy/isMutatingSql.d.ts.map +1 -0
- package/src/proxy/isMutatingSql.js +12 -0
- package/src/proxy/kv/ZintrustKvProxy.d.ts +3 -0
- package/src/proxy/kv/ZintrustKvProxy.d.ts.map +1 -0
- package/src/proxy/kv/ZintrustKvProxy.js +2 -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 +8 -0
- package/src/proxy/mysql/MySqlProxyServer.d.ts.map +1 -0
- package/src/proxy/mysql/MySqlProxyServer.js +202 -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 +8 -0
- package/src/proxy/postgres/PostgresProxyServer.d.ts.map +1 -0
- package/src/proxy/postgres/PostgresProxyServer.js +178 -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 +290 -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 +8 -0
- package/src/proxy/sqlserver/SqlServerProxyServer.d.ts.map +1 -0
- package/src/proxy/sqlserver/SqlServerProxyServer.js +203 -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/proxy.d.ts +4 -0
- package/src/proxy.d.ts.map +1 -0
- package/src/proxy.js +3 -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/scheduler/Schedule.d.ts +36 -0
- package/src/scheduler/Schedule.d.ts.map +1 -0
- package/src/scheduler/Schedule.js +197 -0
- package/src/scheduler/ScheduleHttpGateway.d.ts +8 -0
- package/src/scheduler/ScheduleHttpGateway.d.ts.map +1 -0
- package/src/scheduler/ScheduleHttpGateway.js +196 -0
- package/src/scheduler/ScheduleRunner.d.ts +6 -0
- package/src/scheduler/ScheduleRunner.d.ts.map +1 -1
- package/src/scheduler/ScheduleRunner.js +166 -29
- package/src/scheduler/SchedulerRuntime.d.ts +15 -0
- package/src/scheduler/SchedulerRuntime.d.ts.map +1 -0
- package/src/scheduler/SchedulerRuntime.js +79 -0
- package/src/scheduler/cron/Cron.d.ts +19 -0
- package/src/scheduler/cron/Cron.d.ts.map +1 -0
- package/src/scheduler/cron/Cron.js +200 -0
- package/src/scheduler/leader/SchedulerLeader.d.ts +14 -0
- package/src/scheduler/leader/SchedulerLeader.d.ts.map +1 -0
- package/src/scheduler/leader/SchedulerLeader.js +187 -0
- package/src/scheduler/state/ScheduleStateStore.d.ts +27 -0
- package/src/scheduler/state/ScheduleStateStore.d.ts.map +1 -0
- package/src/scheduler/state/ScheduleStateStore.js +27 -0
- package/src/scheduler/types.d.ts +10 -0
- package/src/scheduler/types.d.ts.map +1 -1
- package/src/schedules/index.d.ts +1 -0
- package/src/schedules/index.d.ts.map +1 -1
- package/src/schedules/index.js +1 -0
- package/src/schedules/job-tracking-cleanup.d.ts +4 -0
- package/src/schedules/job-tracking-cleanup.d.ts.map +1 -0
- package/src/schedules/job-tracking-cleanup.js +116 -0
- package/src/schedules/log-cleanup.d.ts +1 -2
- package/src/schedules/log-cleanup.d.ts.map +1 -1
- package/src/schedules/log-cleanup.js +12 -15
- package/src/scripts/TemplateImportsCheck.js +2 -2
- package/src/scripts/TemplateSync.js +3 -4
- package/src/security/CsrfTokenManager.d.ts.map +1 -1
- package/src/security/CsrfTokenManager.js +12 -0
- 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/security/Sanitizer.d.ts.map +1 -1
- package/src/security/Sanitizer.js +1 -9
- package/src/security/SignedRequest.d.ts.map +1 -1
- package/src/security/SignedRequest.js +2 -2
- 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/docker/docker-compose.ecosystem.yml.tpl +301 -0
- package/src/templates/docker/docker-compose.schedules.yml.tpl +84 -0
- package/src/templates/project/basic/app/Schedules/index.ts.tpl +0 -0
- package/src/templates/project/basic/config/database.ts.tpl +1 -1
- package/src/templates/project/basic/src/zintrust.plugins.wg.ts.tpl +8 -0
- package/src/toolkit/Secrets/Manifest.d.ts.map +1 -1
- package/src/toolkit/Secrets/Manifest.js +5 -7
- package/src/tools/mail/drivers/Smtp.d.ts.map +1 -1
- package/src/tools/mail/drivers/Smtp.js +229 -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 +56 -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 +303 -0
- package/src/tools/queue/JobStateTracker.d.ts +140 -0
- package/src/tools/queue/JobStateTracker.d.ts.map +1 -0
- package/src/tools/queue/JobStateTracker.js +409 -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 +239 -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/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,231 @@
|
|
|
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>Password Reset Request</title>
|
|
8
|
+
<style>
|
|
9
|
+
body {
|
|
10
|
+
margin: 0;
|
|
11
|
+
padding: 0;
|
|
12
|
+
background-color: #0b1220;
|
|
13
|
+
color: #e2e8f0;
|
|
14
|
+
font-family:
|
|
15
|
+
-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.email-container {
|
|
19
|
+
max-width: 600px;
|
|
20
|
+
margin: 40px auto;
|
|
21
|
+
background-color: #0f172a;
|
|
22
|
+
border: 1px solid #334155;
|
|
23
|
+
border-radius: 12px;
|
|
24
|
+
overflow: hidden;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.header {
|
|
28
|
+
padding: 40px 40px 30px;
|
|
29
|
+
text-align: center;
|
|
30
|
+
background: linear-gradient(180deg, rgba(239, 68, 68, 0.15), rgba(220, 38, 38, 0.08));
|
|
31
|
+
border-bottom: 1px solid #334155;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.icon {
|
|
35
|
+
width: 48px;
|
|
36
|
+
height: 48px;
|
|
37
|
+
margin: 0 auto 20px;
|
|
38
|
+
border-radius: 12px;
|
|
39
|
+
border: 1px solid rgba(239, 68, 68, 0.35);
|
|
40
|
+
background: linear-gradient(180deg, rgba(239, 68, 68, 0.2), rgba(220, 38, 38, 0.1));
|
|
41
|
+
display: inline-flex;
|
|
42
|
+
align-items: center;
|
|
43
|
+
justify-content: center;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.title {
|
|
47
|
+
margin: 0 0 8px;
|
|
48
|
+
font-size: 28px;
|
|
49
|
+
font-weight: 700;
|
|
50
|
+
color: #e2e8f0;
|
|
51
|
+
line-height: 1.2;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.subtitle {
|
|
55
|
+
margin: 0;
|
|
56
|
+
font-size: 16px;
|
|
57
|
+
color: #e2e8f0;
|
|
58
|
+
line-height: 1.5;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.content {
|
|
62
|
+
padding: 40px;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.greeting {
|
|
66
|
+
margin: 0 0 24px;
|
|
67
|
+
font-size: 15px;
|
|
68
|
+
color: #f1f5f9;
|
|
69
|
+
line-height: 1.6;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.message {
|
|
73
|
+
margin: 0 0 24px;
|
|
74
|
+
font-size: 15px;
|
|
75
|
+
color: #f1f5f9;
|
|
76
|
+
line-height: 1.6;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.button-container {
|
|
80
|
+
margin-bottom: 30px;
|
|
81
|
+
text-align: center;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.reset-button {
|
|
85
|
+
display: inline-block;
|
|
86
|
+
padding: 14px 32px;
|
|
87
|
+
background: linear-gradient(135deg, #ef4444, #dc2626);
|
|
88
|
+
color: #ffffff;
|
|
89
|
+
text-decoration: none;
|
|
90
|
+
border-radius: 8px;
|
|
91
|
+
font-weight: 600;
|
|
92
|
+
font-size: 15px;
|
|
93
|
+
border: 1px solid rgba(217, 82, 82, 0.8);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.security-notice {
|
|
97
|
+
padding: 16px;
|
|
98
|
+
background: rgba(251, 191, 36, 0.08);
|
|
99
|
+
border-left: 3px solid #fbbf24;
|
|
100
|
+
border-radius: 6px;
|
|
101
|
+
margin-bottom: 30px;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.security-notice p {
|
|
105
|
+
margin: 0;
|
|
106
|
+
font-size: 14px;
|
|
107
|
+
color: #e2e8f0;
|
|
108
|
+
line-height: 1.6;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.security-notice strong {
|
|
112
|
+
color: #fbbf24;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.expiry {
|
|
116
|
+
margin: 0 0 16px;
|
|
117
|
+
font-size: 14px;
|
|
118
|
+
color: #e2e8f0;
|
|
119
|
+
line-height: 1.6;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.expiry strong {
|
|
123
|
+
color: #e2e8f0;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.alternative-link {
|
|
127
|
+
margin: 0;
|
|
128
|
+
font-size: 13px;
|
|
129
|
+
color: #e2e8f0;
|
|
130
|
+
line-height: 1.6;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.alternative-link a {
|
|
134
|
+
color: #bae6fd;
|
|
135
|
+
text-decoration: none;
|
|
136
|
+
word-break: break-all;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.divider {
|
|
140
|
+
margin: 30px 0;
|
|
141
|
+
border-top: 1px solid #334155;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.support {
|
|
145
|
+
margin: 0;
|
|
146
|
+
font-size: 14px;
|
|
147
|
+
color: #e2e8f0;
|
|
148
|
+
line-height: 1.6;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.support a {
|
|
152
|
+
color: #bae6fd;
|
|
153
|
+
text-decoration: none;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.footer {
|
|
157
|
+
padding: 30px 40px;
|
|
158
|
+
background: rgba(15, 23, 42, 0.65);
|
|
159
|
+
border-top: 1px solid #334155;
|
|
160
|
+
text-align: center;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.footer p {
|
|
164
|
+
margin: 0;
|
|
165
|
+
font-size: 12px;
|
|
166
|
+
color: #64748b;
|
|
167
|
+
}
|
|
168
|
+
</style>
|
|
169
|
+
</head>
|
|
170
|
+
<body>
|
|
171
|
+
<div class="email-container">
|
|
172
|
+
<!-- Header -->
|
|
173
|
+
<div class="header">
|
|
174
|
+
<div class="icon">
|
|
175
|
+
<span style="font-size: 24px">🔒</span>
|
|
176
|
+
</div>
|
|
177
|
+
<h1 class="title">Password Reset Request</h1>
|
|
178
|
+
<p class="subtitle">We received a request to reset your password</p>
|
|
179
|
+
</div>
|
|
180
|
+
|
|
181
|
+
<!-- Main Content -->
|
|
182
|
+
<div class="content">
|
|
183
|
+
<p class="greeting">Hi <strong style="color: #e2e8f0">{{name}}</strong>,</p>
|
|
184
|
+
|
|
185
|
+
<p class="message">
|
|
186
|
+
Someone requested a password reset for your {{APP_NAME}} account (<strong
|
|
187
|
+
style="color: #e2e8f0"
|
|
188
|
+
>{{email}}</strong
|
|
189
|
+
>). If this was you, click the button below to reset your password:
|
|
190
|
+
</p>
|
|
191
|
+
|
|
192
|
+
<!-- CTA Button -->
|
|
193
|
+
<div class="button-container">
|
|
194
|
+
<a href="{{reset_url}}" class="reset-button">Reset Password</a>
|
|
195
|
+
</div>
|
|
196
|
+
|
|
197
|
+
<!-- Security Notice -->
|
|
198
|
+
<div class="security-notice">
|
|
199
|
+
<p>
|
|
200
|
+
<strong>⚠ Security Notice</strong><br />
|
|
201
|
+
If you didn't request this password reset, please ignore this email. Your password will
|
|
202
|
+
remain unchanged.
|
|
203
|
+
</p>
|
|
204
|
+
</div>
|
|
205
|
+
|
|
206
|
+
<p class="expiry">
|
|
207
|
+
For security reasons, this link will expire in <strong>{{expiryMinutes}} minutes</strong>.
|
|
208
|
+
</p>
|
|
209
|
+
|
|
210
|
+
<!-- Alternative Link -->
|
|
211
|
+
<p class="alternative-link">
|
|
212
|
+
If the button above doesn't work, copy and paste this link into your browser:<br />
|
|
213
|
+
<a href="{{reset_url}}">{{reset_url}}</a>
|
|
214
|
+
</p>
|
|
215
|
+
|
|
216
|
+
<!-- Divider -->
|
|
217
|
+
<div class="divider"></div>
|
|
218
|
+
|
|
219
|
+
<p class="support">
|
|
220
|
+
If you continue to have problems, please contact our
|
|
221
|
+
<a href="{{support_url}}">support team</a>.
|
|
222
|
+
</p>
|
|
223
|
+
</div>
|
|
224
|
+
|
|
225
|
+
<!-- Footer -->
|
|
226
|
+
<div class="footer">
|
|
227
|
+
<p>© {{year}} {{APP_NAME}}. All rights reserved.</p>
|
|
228
|
+
</div>
|
|
229
|
+
</div>
|
|
230
|
+
</body>
|
|
231
|
+
</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>Welcome to {{APP_NAME}}</title>\n <!--[if mso]>\n <style type=\"text/css\">\n table {\n border-collapse: collapse;\n }\n </style>\n <![endif]-->\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(14, 165, 233, 0.18), rgba(2, 132, 199, 0.1));\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(14, 165, 233, 0.35);\n background: linear-gradient(180deg, rgba(14, 165, 233, 0.25), rgba(2, 132, 199, 0.15));\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 .getting-started {\n margin: 0 0 20px;\n font-size: 20px;\n font-weight: 700;\n color: #f1f5f9;\n }\n\n .steps {\n width: 100%;\n border-collapse: collapse;\n margin-bottom: 30px;\n }\n\n .step-item {\n padding: 16px;\n background: rgba(14, 165, 233, 0.08);\n border-left: 3px solid #0ea5e9;\n border-radius: 6px;\n }\n\n .step-item p {\n margin: 0 0 12px;\n font-size: 14px;\n color: #f1f5f9;\n line-height: 1.6;\n }\n\n .message {\n margin: 0 0 24px;\n font-size: 15px;\n color: #f1f5f9;\n line-height: 1.6;\n }\n\n .button-container {\n margin-bottom: 30px;\n text-align: center;\n }\n\n .verify-button {\n display: inline-block;\n padding: 14px 32px;\n background: linear-gradient(135deg, #1e3a8a, #1a2e4a);\n color: #ffffff;\n text-decoration: none;\n border-radius: 8px;\n font-weight: 600;\n font-size: 15px;\n border: 1px solid rgba(30, 58, 138, 0.5);\n }\n\n .expiry-notice {\n margin: 0;\n font-size: 13px;\n color: #f1f5f9;\n line-height: 1.5;\n text-align: center;\n }\n\n .expiry-notice em {\n font-style: italic;\n }\n\n .divider {\n margin: 30px 0;\n border-top: 1px solid #334155;\n }\n\n .support {\n margin: 0;\n font-size: 14px;\n color: #e2e8f0;\n line-height: 1.6;\n }\n\n .support a {\n color: #bae6fd;\n text-decoration: none;\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 with Logo -->\n <div class=\"header\">\n <div class=\"icon\">\n <span style=\"font-size: 24px\">\uD83C\uDF89</span>\n </div>\n <h1 class=\"title\">Welcome, {{name}}!</h1>\n <p class=\"subtitle\">\n Thanks for joining {{APP_NAME}} \u2014 we're excited to have you on board.\n </p>\n </div>\n\n <!-- Main Content -->\n <div class=\"content\">\n <h2 class=\"getting-started\">Getting Started</h2>\n\n <table class=\"steps\">\n <tr>\n <th\n style=\"\n text-align: left;\n padding: 12px;\n background: rgba(14, 165, 233, 0.12);\n border-bottom: 2px solid #0ea5e9;\n color: #ffffff;\n font-weight: 600;\n \"\n >\n Getting Started Steps\n </th>\n </tr>\n <tr>\n <td>\n <div class=\"step-item\">\n <p>\n \u2713 Verify your email<br />\n \u2713 Complete your profile<br />\n \u2713 Explore features\n </p>\n </div>\n </td>\n </tr>\n </table>\n\n <p class=\"message\">To activate your account, please verify your email address:</p>\n\n <!-- CTA Button -->\n <div class=\"button-container\">\n <a href=\"{{confirmLink}}\" class=\"verify-button\">Verify Email Address</a>\n </div>\n\n <p class=\"expiry-notice\">\n <em>This link expires in {{expiryMinutes}} minutes.</em>\n </p>\n\n <!-- Divider -->\n <div class=\"divider\"></div>\n\n <p class=\"support\">\n If you have any questions, reply to this email or contact our\n <a href=\"{{support_url}}\">support team</a>. We're here to help!\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=auth-welcome.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-welcome.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mail/templates/auth-welcome.ts"],"names":[],"mappings":";AAAA,wBA2OS"}
|
|
@@ -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"}
|