feat: remove horizon
This commit is contained in:
@@ -76,7 +76,6 @@ REVENUECAT_SUBSCRIPTION_ENTITLEMENT="bowli Pro"
|
||||
REVENUECAT_CERTIFICATION_ENTITLEMENT=certification
|
||||
|
||||
HEALTH_SECRET_TOKEN=
|
||||
HORIZON_HEARTBEAT_URL=
|
||||
SCHEDULE_HEARTBEAT_URL=
|
||||
|
||||
IMAGE_TAG=latest
|
||||
|
||||
@@ -13,7 +13,6 @@ This application is a Laravel application and its main Laravel ecosystems packag
|
||||
- filament/filament (FILAMENT) - v5
|
||||
- laravel/ai (AI) - v0
|
||||
- laravel/framework (LARAVEL) - v12
|
||||
- laravel/horizon (HORIZON) - v5
|
||||
- laravel/prompts (PROMPTS) - v0
|
||||
- laravel/sanctum (SANCTUM) - v4
|
||||
- laravel/scout (SCOUT) - v11
|
||||
|
||||
@@ -21,7 +21,6 @@ use Illuminate\Support\ServiceProvider;
|
||||
use Spatie\Health\Checks\Checks\DatabaseCheck;
|
||||
use Spatie\Health\Checks\Checks\DebugModeCheck;
|
||||
use Spatie\Health\Checks\Checks\EnvironmentCheck;
|
||||
use Spatie\Health\Checks\Checks\HorizonCheck;
|
||||
use Spatie\Health\Checks\Checks\MeilisearchCheck;
|
||||
use Spatie\Health\Checks\Checks\OptimizedAppCheck;
|
||||
use Spatie\Health\Checks\Checks\RedisCheck;
|
||||
@@ -98,7 +97,6 @@ class AppServiceProvider extends ServiceProvider
|
||||
UsedDiskSpaceCheck::new(),
|
||||
RedisCheck::new(),
|
||||
ScheduleCheck::new(),
|
||||
HorizonCheck::new(),
|
||||
OptimizedAppCheck::new(),
|
||||
EnvironmentCheck::new(),
|
||||
DebugModeCheck::new(),
|
||||
|
||||
@@ -7,7 +7,6 @@ use Filament\Http\Middleware\Authenticate;
|
||||
use Filament\Http\Middleware\AuthenticateSession;
|
||||
use Filament\Http\Middleware\DisableBladeIconComponents;
|
||||
use Filament\Http\Middleware\DispatchServingFilamentEvent;
|
||||
use Filament\Navigation\NavigationItem;
|
||||
use Filament\Pages\Dashboard;
|
||||
use Filament\Panel;
|
||||
use Filament\PanelProvider;
|
||||
@@ -19,7 +18,6 @@ use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken;
|
||||
use Illuminate\Routing\Middleware\SubstituteBindings;
|
||||
use Illuminate\Session\Middleware\StartSession;
|
||||
use Illuminate\View\Middleware\ShareErrorsFromSession;
|
||||
use ShuvroRoy\FilamentSpatieLaravelBackup\FilamentSpatieLaravelBackupPlugin;
|
||||
use ShuvroRoy\FilamentSpatieLaravelHealth\FilamentSpatieLaravelHealthPlugin;
|
||||
|
||||
class DashboardPanelProvider extends PanelProvider
|
||||
@@ -36,14 +34,6 @@ class DashboardPanelProvider extends PanelProvider
|
||||
->colors([
|
||||
'primary' => Color::hex('#007f3a'),
|
||||
])
|
||||
->navigationItems([
|
||||
NavigationItem::make('Horizon')
|
||||
->url(url('/horizon'), shouldOpenInNewTab: true)
|
||||
->icon('heroicon-o-queue-list')
|
||||
->group('Settings')
|
||||
->sort(3)
|
||||
->visible(fn (): bool => auth()->user()?->isAdmin() === true),
|
||||
])
|
||||
->discoverResources(in: app_path('Filament/Resources'), for: 'App\Filament\Resources')
|
||||
->discoverPages(in: app_path('Filament/Pages'), for: 'App\Filament\Pages')
|
||||
->pages([
|
||||
@@ -70,7 +60,6 @@ class DashboardPanelProvider extends PanelProvider
|
||||
->plugins([
|
||||
FilamentSpatieLaravelHealthPlugin::make(),
|
||||
FilamentExceptionsPlugin::make(),
|
||||
FilamentSpatieLaravelBackupPlugin::make(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Providers;
|
||||
|
||||
use App\Models\User;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
use Laravel\Horizon\Horizon;
|
||||
use Laravel\Horizon\HorizonApplicationServiceProvider;
|
||||
|
||||
class HorizonServiceProvider extends HorizonApplicationServiceProvider
|
||||
{
|
||||
/**
|
||||
* Bootstrap any application services.
|
||||
*/
|
||||
public function boot(): void
|
||||
{
|
||||
parent::boot();
|
||||
|
||||
// Horizon::routeSmsNotificationsTo('15556667777');
|
||||
// Horizon::routeMailNotificationsTo('example@example.com');
|
||||
// Horizon::routeSlackNotificationsTo('slack-webhook-url', '#channel');
|
||||
}
|
||||
|
||||
/**
|
||||
* Register the Horizon gate.
|
||||
*
|
||||
* This gate determines who can access Horizon in non-local environments.
|
||||
*/
|
||||
protected function gate(): void
|
||||
{
|
||||
Gate::define('viewHorizon', fn (?User $user): bool => $user?->isAdmin() === true);
|
||||
}
|
||||
}
|
||||
@@ -3,5 +3,4 @@
|
||||
return [
|
||||
App\Providers\AppServiceProvider::class,
|
||||
App\Providers\Filament\DashboardPanelProvider::class,
|
||||
App\Providers\HorizonServiceProvider::class,
|
||||
];
|
||||
|
||||
+2
-2
@@ -83,7 +83,7 @@ services:
|
||||
- 'http://127.0.0.1:7700/health'
|
||||
retries: 3
|
||||
timeout: 5s
|
||||
horizon:
|
||||
worker:
|
||||
build:
|
||||
context: ./vendor/laravel/sail/runtimes/8.5
|
||||
dockerfile: Dockerfile
|
||||
@@ -104,7 +104,7 @@ services:
|
||||
- sail
|
||||
depends_on:
|
||||
- redis
|
||||
command: 'php artisan horizon'
|
||||
command: 'php artisan queue:work redis --sleep=3 --tries=1 --timeout=60 --memory=128'
|
||||
networks:
|
||||
sail:
|
||||
driver: bridge
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
"http-interop/http-factory-guzzle": "^1.2",
|
||||
"laravel/ai": "^0.6.8",
|
||||
"laravel/framework": "^12.0",
|
||||
"laravel/horizon": "^5.45",
|
||||
"laravel/octane": "^2.17",
|
||||
"laravel/sanctum": "^4.0",
|
||||
"laravel/scout": "^11.0",
|
||||
@@ -24,7 +23,6 @@
|
||||
"predis/predis": "^3.4",
|
||||
"resend/resend-laravel": "^1.4",
|
||||
"scalar/laravel": "^0.2.0",
|
||||
"shuvroroy/filament-spatie-laravel-backup": "^3.3",
|
||||
"shuvroroy/filament-spatie-laravel-health": "^3.2",
|
||||
"spatie/laravel-health": "^1.39"
|
||||
},
|
||||
|
||||
Generated
+1
-454
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "df1fb81f35dace6e7c3dd49b05ade882",
|
||||
"content-hash": "df2b16c297c1e56ece6d0d3aa9b6fc5e",
|
||||
"packages": [
|
||||
{
|
||||
"name": "anourvalar/eloquent-serialize",
|
||||
@@ -2916,86 +2916,6 @@
|
||||
},
|
||||
"time": "2026-02-24T14:35:15+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/horizon",
|
||||
"version": "v5.45.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/horizon.git",
|
||||
"reference": "80c4de73c56227c625e5a3c6bfaddff760ab0962"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/horizon/zipball/80c4de73c56227c625e5a3c6bfaddff760ab0962",
|
||||
"reference": "80c4de73c56227c625e5a3c6bfaddff760ab0962",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-json": "*",
|
||||
"ext-pcntl": "*",
|
||||
"ext-posix": "*",
|
||||
"illuminate/contracts": "^9.21|^10.0|^11.0|^12.0|^13.0",
|
||||
"illuminate/queue": "^9.21|^10.0|^11.0|^12.0|^13.0",
|
||||
"illuminate/support": "^9.21|^10.0|^11.0|^12.0|^13.0",
|
||||
"laravel/sentinel": "^1.0",
|
||||
"nesbot/carbon": "^2.17|^3.0",
|
||||
"php": "^8.0",
|
||||
"ramsey/uuid": "^4.0",
|
||||
"symfony/console": "^6.0|^7.0|^8.0",
|
||||
"symfony/error-handler": "^6.0|^7.0|^8.0",
|
||||
"symfony/polyfill-php83": "^1.28",
|
||||
"symfony/process": "^6.0|^7.0|^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "^1.0",
|
||||
"orchestra/testbench": "^7.56|^8.37|^9.16|^10.9|^11.0",
|
||||
"phpstan/phpstan": "^1.10|^2.0",
|
||||
"predis/predis": "^1.1|^2.0|^3.0"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-redis": "Required to use the Redis PHP driver.",
|
||||
"predis/predis": "Required when not using the Redis PHP driver (^1.1|^2.0|^3.0)."
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"aliases": {
|
||||
"Horizon": "Laravel\\Horizon\\Horizon"
|
||||
},
|
||||
"providers": [
|
||||
"Laravel\\Horizon\\HorizonServiceProvider"
|
||||
]
|
||||
},
|
||||
"branch-alias": {
|
||||
"dev-master": "6.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Laravel\\Horizon\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Taylor Otwell",
|
||||
"email": "taylor@laravel.com"
|
||||
}
|
||||
],
|
||||
"description": "Dashboard and code-driven configuration for Laravel queues.",
|
||||
"keywords": [
|
||||
"laravel",
|
||||
"queue"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/laravel/horizon/issues",
|
||||
"source": "https://github.com/laravel/horizon/tree/v5.45.3"
|
||||
},
|
||||
"time": "2026-03-11T14:28:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/octane",
|
||||
"version": "v2.17.5",
|
||||
@@ -3287,65 +3207,6 @@
|
||||
},
|
||||
"time": "2026-03-10T19:16:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/sentinel",
|
||||
"version": "v1.0.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/sentinel.git",
|
||||
"reference": "7a98db53e0d9d6f61387f3141c07477f97425603"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/sentinel/zipball/7a98db53e0d9d6f61387f3141c07477f97425603",
|
||||
"reference": "7a98db53e0d9d6f61387f3141c07477f97425603",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-json": "*",
|
||||
"illuminate/container": "^8.37|^9.0|^10.0|^11.0|^12.0|^13.0",
|
||||
"php": "^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"laravel/pint": "^1.27",
|
||||
"orchestra/testbench": "^6.47.1|^7.56|^8.37|^9.16|^10.9|^11.0",
|
||||
"phpstan/phpstan": "^2.1.33"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Laravel\\Sentinel\\SentinelServiceProvider"
|
||||
]
|
||||
},
|
||||
"branch-alias": {
|
||||
"dev-main": "1.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Laravel\\Sentinel\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Taylor Otwell",
|
||||
"email": "taylor@laravel.com"
|
||||
},
|
||||
{
|
||||
"name": "Mior Muhammad Zaki",
|
||||
"email": "mior@laravel.com"
|
||||
}
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/laravel/sentinel/tree/v1.0.1"
|
||||
},
|
||||
"time": "2026-02-12T13:32:54+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/serializable-closure",
|
||||
"version": "v2.0.10",
|
||||
@@ -6781,82 +6642,6 @@
|
||||
],
|
||||
"time": "2022-12-17T21:53:22+00:00"
|
||||
},
|
||||
{
|
||||
"name": "shuvroroy/filament-spatie-laravel-backup",
|
||||
"version": "v3.3.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/shuvroroy/filament-spatie-laravel-backup.git",
|
||||
"reference": "e9a360bfa20efb6c3824288d8d3f2529307ec252"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/shuvroroy/filament-spatie-laravel-backup/zipball/e9a360bfa20efb6c3824288d8d3f2529307ec252",
|
||||
"reference": "e9a360bfa20efb6c3824288d8d3f2529307ec252",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"filament/filament": "^4.0|^5.0",
|
||||
"php": "^8.2",
|
||||
"spatie/laravel-backup": "^8.0|^9.0",
|
||||
"spatie/laravel-package-tools": "^1.9"
|
||||
},
|
||||
"require-dev": {
|
||||
"larastan/larastan": "^3.0",
|
||||
"laravel/pint": "^1.0",
|
||||
"nunomaduro/collision": "^8.1.1||^7.10.0",
|
||||
"orchestra/testbench": "^9.0||^10.0",
|
||||
"pestphp/pest": "^2.0||^3.0",
|
||||
"pestphp/pest-plugin-arch": "^2.0||^3.0",
|
||||
"pestphp/pest-plugin-laravel": "^2.0||^3.0",
|
||||
"phpstan/extension-installer": "^1.4",
|
||||
"phpstan/phpstan": "^2.1",
|
||||
"phpstan/phpstan-deprecation-rules": "^2.0",
|
||||
"phpstan/phpstan-phpunit": "^2.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"ShuvroRoy\\FilamentSpatieLaravelBackup\\FilamentSpatieLaravelBackupServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"ShuvroRoy\\FilamentSpatieLaravelBackup\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Shuvro Roy",
|
||||
"email": "shuvro.nsu.cse@gmail.com",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "This plugin is built on top of Spatie's Laravel-backup package",
|
||||
"homepage": "https://github.com/shuvroroy/filament-spatie-laravel-backup",
|
||||
"keywords": [
|
||||
"filament",
|
||||
"filament-spatie-laravel-backup",
|
||||
"laravel-backup"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/shuvroroy/filament-spatie-laravel-backup/issues",
|
||||
"source": "https://github.com/shuvroroy/filament-spatie-laravel-backup/tree/v3.3.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.buymeacoffee.com/shuvroroy",
|
||||
"type": "buy_me_a_coffee"
|
||||
}
|
||||
],
|
||||
"time": "2026-01-17T04:50:15+00:00"
|
||||
},
|
||||
{
|
||||
"name": "shuvroroy/filament-spatie-laravel-health",
|
||||
"version": "v3.2.0",
|
||||
@@ -6933,69 +6718,6 @@
|
||||
],
|
||||
"time": "2026-01-17T12:24:55+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/db-dumper",
|
||||
"version": "3.8.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/spatie/db-dumper.git",
|
||||
"reference": "eac3221fbe27fac51f388600d27b67b1b079406e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/spatie/db-dumper/zipball/eac3221fbe27fac51f388600d27b67b1b079406e",
|
||||
"reference": "eac3221fbe27fac51f388600d27b67b1b079406e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^8.0",
|
||||
"symfony/process": "^5.0|^6.0|^7.0|^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"pestphp/pest": "^1.22"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Spatie\\DbDumper\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Freek Van der Herten",
|
||||
"email": "freek@spatie.be",
|
||||
"homepage": "https://spatie.be",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "Dump databases",
|
||||
"homepage": "https://github.com/spatie/db-dumper",
|
||||
"keywords": [
|
||||
"database",
|
||||
"db-dumper",
|
||||
"dump",
|
||||
"mysqldump",
|
||||
"spatie"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/spatie/db-dumper/tree/3.8.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://spatie.be/open-source/support-us",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/spatie",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2026-01-05T16:26:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/enum",
|
||||
"version": "3.13.0",
|
||||
@@ -7131,106 +6853,6 @@
|
||||
],
|
||||
"time": "2024-05-17T09:06:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/laravel-backup",
|
||||
"version": "9.4.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/spatie/laravel-backup.git",
|
||||
"reference": "0dff805039617b4a6f48291cef0697a73bc0392e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/spatie/laravel-backup/zipball/0dff805039617b4a6f48291cef0697a73bc0392e",
|
||||
"reference": "0dff805039617b4a6f48291cef0697a73bc0392e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-zip": "^1.14.0",
|
||||
"illuminate/console": "^12.40",
|
||||
"illuminate/contracts": "^12.40",
|
||||
"illuminate/events": "^12.40",
|
||||
"illuminate/filesystem": "^12.40",
|
||||
"illuminate/notifications": "^12.40",
|
||||
"illuminate/support": "^12.40",
|
||||
"league/flysystem": "^3.30.2",
|
||||
"php": "^8.3",
|
||||
"spatie/db-dumper": "^3.8.1",
|
||||
"spatie/laravel-package-tools": "^1.92.7",
|
||||
"spatie/laravel-signal-aware-command": "^2.1",
|
||||
"spatie/temporary-directory": "^2.3",
|
||||
"symfony/console": "^7.3.6|^8.0",
|
||||
"symfony/finder": "^7.3.5|^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"composer-runtime-api": "^2.0",
|
||||
"ext-pcntl": "*",
|
||||
"larastan/larastan": "^3.8",
|
||||
"laravel/slack-notification-channel": "^3.7",
|
||||
"league/flysystem-aws-s3-v3": "^3.30.1",
|
||||
"mockery/mockery": "^1.6.12",
|
||||
"orchestra/testbench": "^10.8",
|
||||
"pestphp/pest": "^4.1.5",
|
||||
"phpstan/extension-installer": "^1.4.3",
|
||||
"phpstan/phpstan-deprecation-rules": "^2.0.3",
|
||||
"phpstan/phpstan-phpunit": "^2.0.8",
|
||||
"rector/rector": "^2.2.8"
|
||||
},
|
||||
"suggest": {
|
||||
"laravel/slack-notification-channel": "Required for sending notifications via Slack"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Spatie\\Backup\\BackupServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
"src/Helpers/functions.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"Spatie\\Backup\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Freek Van der Herten",
|
||||
"email": "freek@spatie.be",
|
||||
"homepage": "https://spatie.be",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "A Laravel package to backup your application",
|
||||
"homepage": "https://github.com/spatie/laravel-backup",
|
||||
"keywords": [
|
||||
"backup",
|
||||
"database",
|
||||
"laravel-backup",
|
||||
"spatie"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/spatie/laravel-backup/issues",
|
||||
"source": "https://github.com/spatie/laravel-backup/tree/9.4.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/sponsors/spatie",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://spatie.be/open-source/support-us",
|
||||
"type": "other"
|
||||
}
|
||||
],
|
||||
"time": "2026-02-15T19:05:20+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/laravel-health",
|
||||
"version": "1.39.1",
|
||||
@@ -7384,81 +7006,6 @@
|
||||
],
|
||||
"time": "2026-02-21T12:49:54+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/laravel-signal-aware-command",
|
||||
"version": "2.1.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/spatie/laravel-signal-aware-command.git",
|
||||
"reference": "54dcc1efd152bfb3eb0faf56a5fc28569b864b5d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/spatie/laravel-signal-aware-command/zipball/54dcc1efd152bfb3eb0faf56a5fc28569b864b5d",
|
||||
"reference": "54dcc1efd152bfb3eb0faf56a5fc28569b864b5d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"illuminate/contracts": "^11.0|^12.0|^13.0",
|
||||
"php": "^8.2",
|
||||
"spatie/laravel-package-tools": "^1.4.3",
|
||||
"symfony/console": "^7.0|^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"brianium/paratest": "^6.2|^7.0",
|
||||
"ext-pcntl": "*",
|
||||
"nunomaduro/collision": "^5.3|^6.0|^7.0|^8.0",
|
||||
"orchestra/testbench": "^9.0|^10.0",
|
||||
"pestphp/pest-plugin-laravel": "^1.3|^2.0|^3.0",
|
||||
"phpunit/phpunit": "^9.5|^10|^11",
|
||||
"spatie/laravel-ray": "^1.17"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"aliases": {
|
||||
"Signal": "Spatie\\SignalAwareCommand\\Facades\\Signal"
|
||||
},
|
||||
"providers": [
|
||||
"Spatie\\SignalAwareCommand\\SignalAwareCommandServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Spatie\\SignalAwareCommand\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Freek Van der Herten",
|
||||
"email": "freek@spatie.be",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "Handle signals in artisan commands",
|
||||
"homepage": "https://github.com/spatie/laravel-signal-aware-command",
|
||||
"keywords": [
|
||||
"laravel",
|
||||
"laravel-signal-aware-command",
|
||||
"spatie"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/spatie/laravel-signal-aware-command/issues",
|
||||
"source": "https://github.com/spatie/laravel-signal-aware-command/tree/2.1.2"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/spatie",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2026-02-22T08:16:31+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/regex",
|
||||
"version": "3.1.1",
|
||||
|
||||
+1
-14
@@ -111,15 +111,6 @@ return [
|
||||
'url' => '/oh-dear-health-check-results',
|
||||
],
|
||||
|
||||
/*
|
||||
* You can specify a heartbeat URL for the Horizon check.
|
||||
* This URL will be pinged if the Horizon check is successful.
|
||||
* This way you can get notified if Horizon goes down.
|
||||
*/
|
||||
'horizon' => [
|
||||
'heartbeat_url' => env('HORIZON_HEARTBEAT_URL'),
|
||||
],
|
||||
|
||||
/*
|
||||
* You can specify a heartbeat URL for the Schedule check.
|
||||
* This URL will be pinged if the Schedule check is successful.
|
||||
@@ -137,11 +128,7 @@ return [
|
||||
*/
|
||||
'theme' => 'light',
|
||||
|
||||
/*
|
||||
* When enabled, completed `HealthQueueJob`s will be displayed
|
||||
* in Horizon's silenced jobs screen.
|
||||
*/
|
||||
'silence_health_queue_job' => true,
|
||||
'silence_health_queue_job' => false,
|
||||
|
||||
/*
|
||||
* The response code to use for HealthCheckJsonResultsController when a health
|
||||
|
||||
@@ -1,254 +0,0 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Horizon Name
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This name appears in notifications and in the Horizon UI. Unique names
|
||||
| can be useful while running multiple instances of Horizon within an
|
||||
| application, allowing you to identify the Horizon you're viewing.
|
||||
|
|
||||
*/
|
||||
|
||||
'name' => env('HORIZON_NAME'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Horizon Domain
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This is the subdomain where Horizon will be accessible from. If this
|
||||
| setting is null, Horizon will reside under the same domain as the
|
||||
| application. Otherwise, this value will serve as the subdomain.
|
||||
|
|
||||
*/
|
||||
|
||||
'domain' => env('HORIZON_DOMAIN'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Horizon Path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This is the URI path where Horizon will be accessible from. Feel free
|
||||
| to change this path to anything you like. Note that the URI will not
|
||||
| affect the paths of its internal API that aren't exposed to users.
|
||||
|
|
||||
*/
|
||||
|
||||
'path' => env('HORIZON_PATH', 'horizon'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Horizon Redis Connection
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This is the name of the Redis connection where Horizon will store the
|
||||
| meta information required for it to function. It includes the list
|
||||
| of supervisors, failed jobs, job metrics, and other information.
|
||||
|
|
||||
*/
|
||||
|
||||
'use' => 'default',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Horizon Redis Prefix
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This prefix will be used when storing all Horizon data in Redis. You
|
||||
| may modify the prefix when you are running multiple installations
|
||||
| of Horizon on the same server so that they don't have problems.
|
||||
|
|
||||
*/
|
||||
|
||||
'prefix' => env(
|
||||
'HORIZON_PREFIX',
|
||||
Str::slug(env('APP_NAME', 'laravel'), '_').'_horizon:'
|
||||
),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Horizon Route Middleware
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| These middleware will get attached onto each Horizon route, giving you
|
||||
| the chance to add your own middleware to this list or change any of
|
||||
| the existing middleware. Or, you can simply stick with this list.
|
||||
|
|
||||
*/
|
||||
|
||||
'middleware' => ['web'],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Queue Wait Time Thresholds
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option allows you to configure when the LongWaitDetected event
|
||||
| will be fired. Every connection / queue combination may have its
|
||||
| own, unique threshold (in seconds) before this event is fired.
|
||||
|
|
||||
*/
|
||||
|
||||
'waits' => [
|
||||
'redis:default' => 60,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Job Trimming Times
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you can configure for how long (in minutes) you desire Horizon to
|
||||
| persist the recent and failed jobs. Typically, recent jobs are kept
|
||||
| for one hour while all failed jobs are stored for an entire week.
|
||||
|
|
||||
*/
|
||||
|
||||
'trim' => [
|
||||
'recent' => 60,
|
||||
'pending' => 60,
|
||||
'completed' => 60,
|
||||
'recent_failed' => 10080,
|
||||
'failed' => 10080,
|
||||
'monitored' => 10080,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Silenced Jobs
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Silencing a job will instruct Horizon to not place the job in the list
|
||||
| of completed jobs within the Horizon dashboard. This setting may be
|
||||
| used to fully remove any noisy jobs from the completed jobs list.
|
||||
|
|
||||
*/
|
||||
|
||||
'silenced' => [
|
||||
// App\Jobs\ExampleJob::class,
|
||||
],
|
||||
|
||||
'silenced_tags' => [
|
||||
// 'notifications',
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Metrics
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you can configure how many snapshots should be kept to display in
|
||||
| the metrics graph. This will get used in combination with Horizon's
|
||||
| `horizon:snapshot` schedule to define how long to retain metrics.
|
||||
|
|
||||
*/
|
||||
|
||||
'metrics' => [
|
||||
'trim_snapshots' => [
|
||||
'job' => 24,
|
||||
'queue' => 24,
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Fast Termination
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When this option is enabled, Horizon's "terminate" command will not
|
||||
| wait on all of the workers to terminate unless the --wait option
|
||||
| is provided. Fast termination can shorten deployment delay by
|
||||
| allowing a new instance of Horizon to start while the last
|
||||
| instance will continue to terminate each of its workers.
|
||||
|
|
||||
*/
|
||||
|
||||
'fast_termination' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Memory Limit (MB)
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This value describes the maximum amount of memory the Horizon master
|
||||
| supervisor may consume before it is terminated and restarted. For
|
||||
| configuring these limits on your workers, see the next section.
|
||||
|
|
||||
*/
|
||||
|
||||
'memory_limit' => 64,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Queue Worker Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may define the queue worker settings used by your application
|
||||
| in all environments. These supervisors and settings handle all your
|
||||
| queued jobs and will be provisioned by Horizon during deployment.
|
||||
|
|
||||
*/
|
||||
|
||||
'defaults' => [
|
||||
'supervisor-1' => [
|
||||
'connection' => 'redis',
|
||||
'queue' => ['default'],
|
||||
'balance' => 'auto',
|
||||
'autoScalingStrategy' => 'time',
|
||||
'maxProcesses' => 1,
|
||||
'maxTime' => 0,
|
||||
'maxJobs' => 0,
|
||||
'memory' => 128,
|
||||
'tries' => 1,
|
||||
'timeout' => 60,
|
||||
'nice' => 0,
|
||||
],
|
||||
],
|
||||
|
||||
'environments' => [
|
||||
'production' => [
|
||||
'supervisor-1' => [
|
||||
'maxProcesses' => 10,
|
||||
'balanceMaxShift' => 1,
|
||||
'balanceCooldown' => 3,
|
||||
],
|
||||
],
|
||||
|
||||
'local' => [
|
||||
'supervisor-1' => [
|
||||
'maxProcesses' => 3,
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| File Watcher Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following list of directories and files will be watched when using
|
||||
| the `horizon:listen` command. Whenever any directories or files are
|
||||
| changed, Horizon will automatically restart to apply all changes.
|
||||
|
|
||||
*/
|
||||
|
||||
'watch' => [
|
||||
'app',
|
||||
'bootstrap',
|
||||
'config/**/*.php',
|
||||
'database/**/*.php',
|
||||
'public/**/*.php',
|
||||
'resources/**/*.php',
|
||||
'routes',
|
||||
'composer.lock',
|
||||
'composer.json',
|
||||
'.env',
|
||||
],
|
||||
];
|
||||
+14
-3
@@ -73,15 +73,26 @@ services:
|
||||
timeout: 5s
|
||||
retries: 12
|
||||
|
||||
horizon:
|
||||
worker:
|
||||
<<: *app-service
|
||||
container_name: daily-meal-api-horizon
|
||||
container_name: daily-meal-api-worker
|
||||
healthcheck:
|
||||
disable: true
|
||||
depends_on:
|
||||
app:
|
||||
condition: service_healthy
|
||||
command: ["php", "artisan", "horizon"]
|
||||
command:
|
||||
[
|
||||
"php",
|
||||
"artisan",
|
||||
"queue:work",
|
||||
"redis",
|
||||
"--sleep=3",
|
||||
"--tries=1",
|
||||
"--timeout=60",
|
||||
"--memory=128",
|
||||
"--max-time=3600",
|
||||
]
|
||||
|
||||
scheduler:
|
||||
<<: *app-service
|
||||
|
||||
@@ -20,7 +20,7 @@ if [ "$confirmation" != "$confirmation_phrase" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
docker compose -f "$compose_file" stop app horizon scheduler db-backup
|
||||
docker compose -f "$compose_file" stop app worker scheduler db-backup
|
||||
|
||||
if ! RESTORE_CONFIRM="$confirmation_phrase" docker compose \
|
||||
-f "$compose_file" \
|
||||
@@ -32,6 +32,6 @@ then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
docker compose -f "$compose_file" up -d app horizon scheduler db-backup
|
||||
docker compose -f "$compose_file" up -d app worker scheduler db-backup
|
||||
|
||||
echo "Application restarted after database restoration."
|
||||
|
||||
@@ -3,7 +3,7 @@ set -eu
|
||||
|
||||
cd /app
|
||||
|
||||
# Allow Docker Compose services such as Horizon and the scheduler to override
|
||||
# Allow Docker Compose services such as the queue worker and scheduler to override
|
||||
# the default FrankenPHP process with their own command.
|
||||
if [ "$#" -gt 0 ]; then
|
||||
exec "$@"
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'components' => [
|
||||
'backup_destination_list' => [
|
||||
'table' => [
|
||||
'actions' => [
|
||||
'download' => 'تحميل',
|
||||
'delete' => 'حذف',
|
||||
],
|
||||
|
||||
'fields' => [
|
||||
'path' => 'المسار',
|
||||
'disk' => 'قرص التخزين',
|
||||
'date' => 'التاريخ',
|
||||
'size' => 'الحجم',
|
||||
],
|
||||
|
||||
'filters' => [
|
||||
'disk' => 'قرص التخزين',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'backup_destination_status_list' => [
|
||||
'table' => [
|
||||
'fields' => [
|
||||
'name' => 'الإسم',
|
||||
'disk' => 'قرص التخزين',
|
||||
'healthy' => 'الحالة',
|
||||
'amount' => 'السعة',
|
||||
'newest' => 'الأحدث',
|
||||
'used_storage' => 'السعة المستخدمة',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'pages' => [
|
||||
'backups' => [
|
||||
'actions' => [
|
||||
'create_backup' => 'إنشاء نسخة إحتياطية',
|
||||
],
|
||||
|
||||
'heading' => 'النسخ الإحتياطي',
|
||||
|
||||
'messages' => [
|
||||
'backup_success' => 'إنشاء نسخة إحتياطية في الخلفية.',
|
||||
'backup_delete_success' => 'تم حذف النسخة الإحتياطية بنجاح.',
|
||||
],
|
||||
|
||||
'modal' => [
|
||||
'buttons' => [
|
||||
'only_db' => 'قاعدة البيانات',
|
||||
'only_files' => 'الملفات',
|
||||
'db_and_files' => 'الملفات والقاعدة',
|
||||
],
|
||||
|
||||
'label' => 'الرجاء الاختيار لإنشاء نسخة إحتياطية',
|
||||
],
|
||||
|
||||
'navigation' => [
|
||||
'group' => 'إعدادات',
|
||||
'label' => 'النسخ الإحتياطي',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
@@ -1,70 +0,0 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'components' => [
|
||||
'backup_destination_list' => [
|
||||
'table' => [
|
||||
'actions' => [
|
||||
'download' => 'Stáhnout',
|
||||
'delete' => 'Smazat',
|
||||
],
|
||||
|
||||
'fields' => [
|
||||
'path' => 'Cesta',
|
||||
'disk' => 'Disk',
|
||||
'date' => 'Datum',
|
||||
'size' => 'Velikost',
|
||||
],
|
||||
|
||||
'filters' => [
|
||||
'disk' => 'Disk',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'backup_destination_status_list' => [
|
||||
'table' => [
|
||||
'fields' => [
|
||||
'name' => 'Název',
|
||||
'disk' => 'Disk',
|
||||
'healthy' => 'Stav zdraví',
|
||||
'amount' => 'Počet',
|
||||
'newest' => 'Nejnovější',
|
||||
'used_storage' => 'Využité místo',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'pages' => [
|
||||
'backups' => [
|
||||
'actions' => [
|
||||
'create_backup' => 'Vytvořit zálohu',
|
||||
],
|
||||
|
||||
'heading' => 'Zálohy',
|
||||
|
||||
'messages' => [
|
||||
'backup_success' => 'Nová záloha byla úspěšně vytvořena.',
|
||||
'backup_delete_success' => '"Záloha byla úspěšně odstraněna.',
|
||||
],
|
||||
|
||||
'modal' => [
|
||||
'buttons' => [
|
||||
'only_db' => 'Pouze databáze',
|
||||
'only_files' => 'Pouze soubory',
|
||||
'db_and_files' => 'Databáze a soubory',
|
||||
],
|
||||
|
||||
'label' => 'Vyberte prosím jednu z možností',
|
||||
],
|
||||
|
||||
'navigation' => [
|
||||
'group' => 'Nastavení',
|
||||
'label' => 'Zálohy',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
@@ -1,70 +0,0 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'components' => [
|
||||
'backup_destination_list' => [
|
||||
'table' => [
|
||||
'actions' => [
|
||||
'download' => 'Download',
|
||||
'delete' => 'Löschen',
|
||||
],
|
||||
|
||||
'fields' => [
|
||||
'path' => 'Pfad',
|
||||
'disk' => 'Speicher',
|
||||
'date' => 'Datum',
|
||||
'size' => 'Größe',
|
||||
],
|
||||
|
||||
'filters' => [
|
||||
'disk' => 'Speicher',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'backup_destination_status_list' => [
|
||||
'table' => [
|
||||
'fields' => [
|
||||
'name' => 'Name',
|
||||
'disk' => 'Speicher',
|
||||
'healthy' => 'Gesund',
|
||||
'amount' => 'Anzahl',
|
||||
'newest' => 'Neuestes',
|
||||
'used_storage' => 'Verwendeter Speicher',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'pages' => [
|
||||
'backups' => [
|
||||
'actions' => [
|
||||
'create_backup' => 'Sicherung erstellen',
|
||||
],
|
||||
|
||||
'heading' => 'Backups',
|
||||
|
||||
'messages' => [
|
||||
'backup_success' => 'Erstelle eine neue Sicherung im Hintergrund.',
|
||||
'backup_delete_success' => 'Lösche die Sicherung im Hintergrund.',
|
||||
],
|
||||
|
||||
'modal' => [
|
||||
'buttons' => [
|
||||
'only_db' => 'Nur DB',
|
||||
'only_files' => 'Nur Dateien',
|
||||
'db_and_files' => 'DB & Dateien',
|
||||
],
|
||||
|
||||
'label' => 'Bitte eine Option auswählen',
|
||||
],
|
||||
|
||||
'navigation' => [
|
||||
'group' => 'Einstellungen',
|
||||
'label' => 'Sicherungen',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
@@ -1,70 +0,0 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'components' => [
|
||||
'backup_destination_list' => [
|
||||
'table' => [
|
||||
'actions' => [
|
||||
'download' => 'Download',
|
||||
'delete' => 'Delete',
|
||||
],
|
||||
|
||||
'fields' => [
|
||||
'path' => 'Path',
|
||||
'disk' => 'Disk',
|
||||
'date' => 'Date',
|
||||
'size' => 'Size',
|
||||
],
|
||||
|
||||
'filters' => [
|
||||
'disk' => 'Disk',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'backup_destination_status_list' => [
|
||||
'table' => [
|
||||
'fields' => [
|
||||
'name' => 'Name',
|
||||
'disk' => 'Disk',
|
||||
'healthy' => 'Healthy',
|
||||
'amount' => 'Amount',
|
||||
'newest' => 'Newest',
|
||||
'used_storage' => 'Used Storage',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'pages' => [
|
||||
'backups' => [
|
||||
'actions' => [
|
||||
'create_backup' => 'Create Backup',
|
||||
],
|
||||
|
||||
'heading' => 'Backups',
|
||||
|
||||
'messages' => [
|
||||
'backup_success' => 'Creating a new backup in background.',
|
||||
'backup_delete_success' => 'Deleting this backup in background.',
|
||||
],
|
||||
|
||||
'modal' => [
|
||||
'buttons' => [
|
||||
'only_db' => 'Only DB',
|
||||
'only_files' => 'Only Files',
|
||||
'db_and_files' => 'DB & Files',
|
||||
],
|
||||
|
||||
'label' => 'Please choose an option',
|
||||
],
|
||||
|
||||
'navigation' => [
|
||||
'group' => 'Settings',
|
||||
'label' => 'Backups',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
@@ -1,69 +0,0 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'components' => [
|
||||
'backup_destination_list' => [
|
||||
'table' => [
|
||||
'actions' => [
|
||||
'download' => 'Descargar',
|
||||
'delete' => 'Eliminar',
|
||||
],
|
||||
|
||||
'fields' => [
|
||||
'path' => 'Ruta',
|
||||
'disk' => 'Disco',
|
||||
'date' => 'Fecha',
|
||||
'size' => 'Tamaño',
|
||||
],
|
||||
|
||||
'filters' => [
|
||||
'disk' => 'Disco',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'backup_destination_status_list' => [
|
||||
'table' => [
|
||||
'fields' => [
|
||||
'name' => 'Nombre',
|
||||
'disk' => 'Disco',
|
||||
'healthy' => 'Estado',
|
||||
'amount' => 'Cantidad',
|
||||
'newest' => 'Más reciente',
|
||||
'used_storage' => 'Espacio utilizado',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'pages' => [
|
||||
'backups' => [
|
||||
'actions' => [
|
||||
'create_backup' => 'Hacer respaldo',
|
||||
],
|
||||
|
||||
'heading' => 'Respaldos',
|
||||
|
||||
'messages' => [
|
||||
'backup_success' => 'Creando un nuevo respaldo en segundo plano.',
|
||||
],
|
||||
|
||||
'modal' => [
|
||||
'buttons' => [
|
||||
'only_db' => 'Solo la base de datos',
|
||||
'only_files' => 'Solo los archivos',
|
||||
'db_and_files' => 'Base de datos y archivos',
|
||||
],
|
||||
|
||||
'label' => 'Elija una opción',
|
||||
],
|
||||
|
||||
'navigation' => [
|
||||
'group' => 'Configuraciones',
|
||||
'label' => 'Respaldos',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
@@ -1,70 +0,0 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'components' => [
|
||||
'backup_destination_list' => [
|
||||
'table' => [
|
||||
'actions' => [
|
||||
'download' => 'دانلود',
|
||||
'delete' => 'حذف',
|
||||
],
|
||||
|
||||
'fields' => [
|
||||
'path' => 'مسیر',
|
||||
'disk' => 'دیسک',
|
||||
'date' => 'تاریخ',
|
||||
'size' => 'حجم',
|
||||
],
|
||||
|
||||
'filters' => [
|
||||
'disk' => 'دیسک',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'backup_destination_status_list' => [
|
||||
'table' => [
|
||||
'fields' => [
|
||||
'name' => 'نام',
|
||||
'disk' => 'دیسک',
|
||||
'healthy' => 'سالم',
|
||||
'amount' => 'تعداد',
|
||||
'newest' => 'جدیدترین',
|
||||
'used_storage' => 'فضای استفاده شده',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'pages' => [
|
||||
'backups' => [
|
||||
'actions' => [
|
||||
'create_backup' => 'ایجاد پشتیبان',
|
||||
],
|
||||
|
||||
'heading' => 'پشتیبانها',
|
||||
|
||||
'messages' => [
|
||||
'backup_success' => 'در حال ایجاد پشتیبان در پسزمینه.',
|
||||
'backup_delete_success' => 'در حال حذف این پشتیبان در پسزمینه.',
|
||||
],
|
||||
|
||||
'modal' => [
|
||||
'buttons' => [
|
||||
'only_db' => 'فقط دیتابیس',
|
||||
'only_files' => 'فقط فایلها',
|
||||
'db_and_files' => 'فایلها و دیتابیس',
|
||||
],
|
||||
|
||||
'label' => 'یک گزینه را انتخاب کنید',
|
||||
],
|
||||
|
||||
'navigation' => [
|
||||
'group' => 'تنظیمات',
|
||||
'label' => 'پشتیبانها',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
@@ -1,69 +0,0 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'components' => [
|
||||
'backup_destination_list' => [
|
||||
'table' => [
|
||||
'actions' => [
|
||||
'download' => 'Télécharger',
|
||||
'delete' => 'Supprimer',
|
||||
],
|
||||
|
||||
'fields' => [
|
||||
'path' => 'Chemin d\'accès',
|
||||
'disk' => 'Disque',
|
||||
'date' => 'Date',
|
||||
'size' => 'Taille',
|
||||
],
|
||||
|
||||
'filters' => [
|
||||
'disk' => 'Disque',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'backup_destination_status_list' => [
|
||||
'table' => [
|
||||
'fields' => [
|
||||
'name' => 'Nom',
|
||||
'disk' => 'Disque',
|
||||
'healthy' => 'Statut',
|
||||
'amount' => 'Montant',
|
||||
'newest' => 'Plus récent',
|
||||
'used_storage' => 'Stockage utilisé',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'pages' => [
|
||||
'backups' => [
|
||||
'actions' => [
|
||||
'create_backup' => 'Créer une sauvegarde',
|
||||
],
|
||||
|
||||
'heading' => 'Sauvegardes',
|
||||
|
||||
'messages' => [
|
||||
'backup_success' => 'Création d\'une nouvelle sauvegarde en arrière-plan.',
|
||||
],
|
||||
|
||||
'modal' => [
|
||||
'buttons' => [
|
||||
'only_db' => 'Seulement la base de données',
|
||||
'only_files' => 'Seulement les fichiers',
|
||||
'db_and_files' => 'Base de données & Fichiers',
|
||||
],
|
||||
|
||||
'label' => 'Veuillez choisir une option',
|
||||
],
|
||||
|
||||
'navigation' => [
|
||||
'group' => 'Paramètres',
|
||||
'label' => 'Sauvegardes',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
@@ -1,70 +0,0 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'components' => [
|
||||
'backup_destination_list' => [
|
||||
'table' => [
|
||||
'actions' => [
|
||||
'download' => 'Unduh',
|
||||
'delete' => 'Hapus',
|
||||
],
|
||||
|
||||
'fields' => [
|
||||
'path' => 'Lokasi',
|
||||
'disk' => 'Penyimpanan',
|
||||
'date' => 'Tanggal',
|
||||
'size' => 'Ukuran',
|
||||
],
|
||||
|
||||
'filters' => [
|
||||
'disk' => 'Penyimpanan',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'backup_destination_status_list' => [
|
||||
'table' => [
|
||||
'fields' => [
|
||||
'name' => 'Nama',
|
||||
'disk' => 'Penyimpanan',
|
||||
'healthy' => 'Sehat',
|
||||
'amount' => 'Jumlah',
|
||||
'newest' => 'Terbaru',
|
||||
'used_storage' => 'Penyimpanan Terpakai',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'pages' => [
|
||||
'backups' => [
|
||||
'actions' => [
|
||||
'create_backup' => 'Buat Cadangan',
|
||||
],
|
||||
|
||||
'heading' => 'Cadangan',
|
||||
|
||||
'messages' => [
|
||||
'backup_success' => 'Membuat cadangan baru di latar belakang.',
|
||||
'backup_delete_success' => 'Menghapus cadangan ini di latar belakang.',
|
||||
],
|
||||
|
||||
'modal' => [
|
||||
'buttons' => [
|
||||
'only_db' => 'Hanya DB',
|
||||
'only_files' => 'Hanya Berkas',
|
||||
'db_and_files' => 'DB & Berkas',
|
||||
],
|
||||
|
||||
'label' => 'Silakan pilih salah satu opsi',
|
||||
],
|
||||
|
||||
'navigation' => [
|
||||
'group' => 'Pengaturan',
|
||||
'label' => 'Cadangan',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
@@ -1,70 +0,0 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'components' => [
|
||||
'backup_destination_list' => [
|
||||
'table' => [
|
||||
'actions' => [
|
||||
'download' => 'Download',
|
||||
'delete' => 'Cancella',
|
||||
],
|
||||
|
||||
'fields' => [
|
||||
'path' => 'Percorso',
|
||||
'disk' => 'Disco',
|
||||
'date' => 'Data',
|
||||
'size' => 'Dimensione',
|
||||
],
|
||||
|
||||
'filters' => [
|
||||
'disk' => 'Disco',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'backup_destination_status_list' => [
|
||||
'table' => [
|
||||
'fields' => [
|
||||
'name' => 'Nome',
|
||||
'disk' => 'Disco',
|
||||
'healthy' => 'Salute',
|
||||
'amount' => 'Quantità',
|
||||
'newest' => 'Più recente',
|
||||
'used_storage' => 'Storage Utilizzato',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'pages' => [
|
||||
'backups' => [
|
||||
'actions' => [
|
||||
'create_backup' => 'Crea Backup',
|
||||
],
|
||||
|
||||
'heading' => 'Backup',
|
||||
|
||||
'messages' => [
|
||||
'backup_success' => 'Creazione di un nuovo backup in background.',
|
||||
'backup_delete_success' => 'Eliminazione di questo backup in background.',
|
||||
],
|
||||
|
||||
'modal' => [
|
||||
'buttons' => [
|
||||
'only_db' => 'Solo DB',
|
||||
'only_files' => 'Solo File',
|
||||
'db_and_files' => 'DB & File',
|
||||
],
|
||||
|
||||
'label' => "Scegli un'opzione",
|
||||
],
|
||||
|
||||
'navigation' => [
|
||||
'group' => 'Impostazioni',
|
||||
'label' => 'Backup',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
@@ -1,70 +0,0 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'components' => [
|
||||
'backup_destination_list' => [
|
||||
'table' => [
|
||||
'actions' => [
|
||||
'download' => '다운로드',
|
||||
'delete' => '삭제',
|
||||
],
|
||||
|
||||
'fields' => [
|
||||
'path' => '경로',
|
||||
'disk' => '디스크',
|
||||
'date' => '날짜',
|
||||
'size' => '크기',
|
||||
],
|
||||
|
||||
'filters' => [
|
||||
'disk' => '디스크',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'backup_destination_status_list' => [
|
||||
'table' => [
|
||||
'fields' => [
|
||||
'name' => '이름',
|
||||
'disk' => '디스크',
|
||||
'healthy' => '상태',
|
||||
'amount' => '개수',
|
||||
'newest' => '최신',
|
||||
'used_storage' => '사용된 저장소',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'pages' => [
|
||||
'backups' => [
|
||||
'actions' => [
|
||||
'create_backup' => '백업 생성',
|
||||
],
|
||||
|
||||
'heading' => '백업',
|
||||
|
||||
'messages' => [
|
||||
'backup_success' => '새 백업을 백그라운드에서 생성하는 중입니다.',
|
||||
'backup_delete_success' => '이 백업을 백그라운드에서 삭제하는 중입니다.',
|
||||
],
|
||||
|
||||
'modal' => [
|
||||
'buttons' => [
|
||||
'only_db' => '데이터베이스만',
|
||||
'only_files' => '파일만',
|
||||
'db_and_files' => '데이터베이스 & 파일',
|
||||
],
|
||||
|
||||
'label' => '옵션을 선택해 주세요',
|
||||
],
|
||||
|
||||
'navigation' => [
|
||||
'group' => '설정',
|
||||
'label' => '백업',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
@@ -1,70 +0,0 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'components' => [
|
||||
'backup_destination_list' => [
|
||||
'table' => [
|
||||
'actions' => [
|
||||
'download' => 'Download',
|
||||
'delete' => 'Verwijderen',
|
||||
],
|
||||
|
||||
'fields' => [
|
||||
'path' => 'Pad',
|
||||
'disk' => 'Disk',
|
||||
'date' => 'Datum',
|
||||
'size' => 'Grootte',
|
||||
],
|
||||
|
||||
'filters' => [
|
||||
'disk' => 'Disk',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'backup_destination_status_list' => [
|
||||
'table' => [
|
||||
'fields' => [
|
||||
'name' => 'Naam',
|
||||
'disk' => 'Disk',
|
||||
'healthy' => 'Gezond',
|
||||
'amount' => 'Aantal',
|
||||
'newest' => 'Laatste',
|
||||
'used_storage' => 'Gebruikte opslag',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'pages' => [
|
||||
'backups' => [
|
||||
'actions' => [
|
||||
'create_backup' => 'Backup maken',
|
||||
],
|
||||
|
||||
'heading' => 'Backups',
|
||||
|
||||
'messages' => [
|
||||
'backup_success' => 'Backup maken in de achtergrond.',
|
||||
'backup_delete_success' => 'Backup verwijderen in de achtergrond.',
|
||||
],
|
||||
|
||||
'modal' => [
|
||||
'buttons' => [
|
||||
'only_db' => 'Alleen DB',
|
||||
'only_files' => 'Alleen bestanden',
|
||||
'db_and_files' => 'DB en bestanden',
|
||||
],
|
||||
|
||||
'label' => 'Kies een optie',
|
||||
],
|
||||
|
||||
'navigation' => [
|
||||
'group' => 'Instellingen',
|
||||
'label' => 'Backups',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
@@ -1,70 +0,0 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'components' => [
|
||||
'backup_destination_list' => [
|
||||
'table' => [
|
||||
'actions' => [
|
||||
'download' => 'Download',
|
||||
'delete' => 'Eliminar',
|
||||
],
|
||||
|
||||
'fields' => [
|
||||
'path' => 'Caminho',
|
||||
'disk' => 'Disco',
|
||||
'date' => 'Data',
|
||||
'size' => 'Tamanho',
|
||||
],
|
||||
|
||||
'filters' => [
|
||||
'disk' => 'Disco',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'backup_destination_status_list' => [
|
||||
'table' => [
|
||||
'fields' => [
|
||||
'name' => 'Nome',
|
||||
'disk' => 'Disco',
|
||||
'healthy' => 'Estado',
|
||||
'amount' => 'Quantidade',
|
||||
'newest' => 'Recente',
|
||||
'used_storage' => 'Espaço Utilizado',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'pages' => [
|
||||
'backups' => [
|
||||
'actions' => [
|
||||
'create_backup' => 'Criar Cópia de Segurança',
|
||||
],
|
||||
|
||||
'heading' => 'Cópias de Segurança',
|
||||
|
||||
'messages' => [
|
||||
'backup_success' => 'A criar uma nova cópia de segurança em segundo plano.',
|
||||
'backup_delete_success' => 'A eliminar esta cópia de segurança em segundo plano.',
|
||||
],
|
||||
|
||||
'modal' => [
|
||||
'buttons' => [
|
||||
'only_db' => 'Apenas BD',
|
||||
'only_files' => 'Apenas Ficheiros',
|
||||
'db_and_files' => 'BD & Ficheiros',
|
||||
],
|
||||
|
||||
'label' => 'Por favor, seleccione uma opção',
|
||||
],
|
||||
|
||||
'navigation' => [
|
||||
'group' => 'Definições',
|
||||
'label' => 'Cópias de Segurança',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
@@ -1,69 +0,0 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'components' => [
|
||||
'backup_destination_list' => [
|
||||
'table' => [
|
||||
'actions' => [
|
||||
'download' => 'Download',
|
||||
'delete' => 'Excluir',
|
||||
],
|
||||
|
||||
'fields' => [
|
||||
'path' => 'Caminho',
|
||||
'disk' => 'Disco',
|
||||
'date' => 'Data',
|
||||
'size' => 'Tamanho',
|
||||
],
|
||||
|
||||
'filters' => [
|
||||
'disk' => 'Disco',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'backup_destination_status_list' => [
|
||||
'table' => [
|
||||
'fields' => [
|
||||
'name' => 'Nome',
|
||||
'disk' => 'Disco',
|
||||
'healthy' => 'Saúde',
|
||||
'amount' => 'Quant.',
|
||||
'newest' => 'Recente',
|
||||
'used_storage' => 'Espaço utilizado',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'pages' => [
|
||||
'backups' => [
|
||||
'actions' => [
|
||||
'create_backup' => 'Criar Backup',
|
||||
],
|
||||
|
||||
'heading' => 'Backups',
|
||||
|
||||
'messages' => [
|
||||
'backup_success' => 'Criando um novo em segundo plano.',
|
||||
],
|
||||
|
||||
'modal' => [
|
||||
'buttons' => [
|
||||
'only_db' => 'Apenas DB',
|
||||
'only_files' => 'Apenas arquivos',
|
||||
'db_and_files' => 'DB & Arquivos',
|
||||
],
|
||||
|
||||
'label' => 'Por favor, escolha uma opção',
|
||||
],
|
||||
|
||||
'navigation' => [
|
||||
'group' => 'Configurações',
|
||||
'label' => 'Backups',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
@@ -1,70 +0,0 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'components' => [
|
||||
'backup_destination_list' => [
|
||||
'table' => [
|
||||
'actions' => [
|
||||
'download' => 'Descarregar',
|
||||
'delete' => 'Eliminar',
|
||||
],
|
||||
|
||||
'fields' => [
|
||||
'path' => 'Caminho',
|
||||
'disk' => 'Disco',
|
||||
'date' => 'Data',
|
||||
'size' => 'Tamanho',
|
||||
],
|
||||
|
||||
'filters' => [
|
||||
'disk' => 'Disco',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'backup_destination_status_list' => [
|
||||
'table' => [
|
||||
'fields' => [
|
||||
'name' => 'Nome',
|
||||
'disk' => 'Disco',
|
||||
'healthy' => 'Estado',
|
||||
'amount' => 'Quantidade',
|
||||
'newest' => 'Recente',
|
||||
'used_storage' => 'Espaço Utilizado',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'pages' => [
|
||||
'backups' => [
|
||||
'actions' => [
|
||||
'create_backup' => 'Criar Cópia de Segurança',
|
||||
],
|
||||
|
||||
'heading' => 'Cópias de Segurança',
|
||||
|
||||
'messages' => [
|
||||
'backup_success' => 'A criar uma nova cópia de segurança em segundo plano.',
|
||||
'backup_delete_success' => 'A eliminar esta cópia de segurança em segundo plano.',
|
||||
],
|
||||
|
||||
'modal' => [
|
||||
'buttons' => [
|
||||
'only_db' => 'Apenas BD',
|
||||
'only_files' => 'Apenas Ficheiros',
|
||||
'db_and_files' => 'BD & Ficheiros',
|
||||
],
|
||||
|
||||
'label' => 'Por favor, seleccione uma opção',
|
||||
],
|
||||
|
||||
'navigation' => [
|
||||
'group' => 'Definições',
|
||||
'label' => 'Cópias de Segurança',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
@@ -1,70 +0,0 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'components' => [
|
||||
'backup_destination_list' => [
|
||||
'table' => [
|
||||
'actions' => [
|
||||
'download' => 'Скачать',
|
||||
'delete' => 'Удалить',
|
||||
],
|
||||
|
||||
'fields' => [
|
||||
'path' => 'Путь',
|
||||
'disk' => 'Диск',
|
||||
'date' => 'Дата',
|
||||
'size' => 'Размер',
|
||||
],
|
||||
|
||||
'filters' => [
|
||||
'disk' => 'Диск',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'backup_destination_status_list' => [
|
||||
'table' => [
|
||||
'fields' => [
|
||||
'name' => 'Имя',
|
||||
'disk' => 'Диск',
|
||||
'healthy' => 'Исправен',
|
||||
'amount' => 'Количество',
|
||||
'newest' => 'Последний',
|
||||
'used_storage' => 'Объём в хранилище',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'pages' => [
|
||||
'backups' => [
|
||||
'actions' => [
|
||||
'create_backup' => 'Создать резервную копию',
|
||||
],
|
||||
|
||||
'heading' => 'Резервные копии',
|
||||
|
||||
'messages' => [
|
||||
'backup_success' => 'Создание новой резервной копии в фоновом режиме.',
|
||||
'backup_delete_success' => 'Удаление этой резервной копии в фоновом режиме.',
|
||||
],
|
||||
|
||||
'modal' => [
|
||||
'buttons' => [
|
||||
'only_db' => 'Только база',
|
||||
'only_files' => 'Только файлы',
|
||||
'db_and_files' => 'База и файлы',
|
||||
],
|
||||
|
||||
'label' => 'Пожалуйста, выберите опцию',
|
||||
],
|
||||
|
||||
'navigation' => [
|
||||
'group' => 'Настройки',
|
||||
'label' => 'Резервные копии',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
@@ -1,69 +0,0 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'components' => [
|
||||
'backup_destination_list' => [
|
||||
'table' => [
|
||||
'actions' => [
|
||||
'download' => 'İndir',
|
||||
'delete' => 'Sil',
|
||||
],
|
||||
|
||||
'fields' => [
|
||||
'path' => 'Yol',
|
||||
'disk' => 'Disk',
|
||||
'date' => 'Tarih',
|
||||
'size' => 'Boyut',
|
||||
],
|
||||
|
||||
'filters' => [
|
||||
'disk' => 'Disk',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'backup_destination_status_list' => [
|
||||
'table' => [
|
||||
'fields' => [
|
||||
'name' => 'Ad',
|
||||
'disk' => 'Disk',
|
||||
'healthy' => 'Sağlık',
|
||||
'amount' => 'Adet',
|
||||
'newest' => 'Zaman',
|
||||
'used_storage' => 'Kullanılan Depolama',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'pages' => [
|
||||
'backups' => [
|
||||
'actions' => [
|
||||
'create_backup' => 'Yedek Oluştur',
|
||||
],
|
||||
|
||||
'heading' => 'Yedekler',
|
||||
|
||||
'messages' => [
|
||||
'backup_success' => 'Arka planda yeni bir yedek oluşturuluyor.',
|
||||
],
|
||||
|
||||
'modal' => [
|
||||
'buttons' => [
|
||||
'only_db' => 'Sadece Veri Tabanı',
|
||||
'only_files' => 'Sadece Dosyalar',
|
||||
'db_and_files' => 'Veri Tabanı & Dosyalar',
|
||||
],
|
||||
|
||||
'label' => 'Bir seçenek seçin',
|
||||
],
|
||||
|
||||
'navigation' => [
|
||||
'group' => 'Ayarlar',
|
||||
'label' => 'Yedekler',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
@@ -1,69 +0,0 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'components' => [
|
||||
'backup_destination_list' => [
|
||||
'table' => [
|
||||
'actions' => [
|
||||
'download' => 'Tải xuống',
|
||||
'delete' => 'Xóa',
|
||||
],
|
||||
|
||||
'fields' => [
|
||||
'path' => 'Đường dẫn',
|
||||
'disk' => 'Ổ đĩa',
|
||||
'date' => 'Ngày',
|
||||
'size' => 'Kích thước',
|
||||
],
|
||||
|
||||
'filters' => [
|
||||
'disk' => 'Ổ đĩa',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'backup_destination_status_list' => [
|
||||
'table' => [
|
||||
'fields' => [
|
||||
'name' => 'Tên',
|
||||
'disk' => 'Ổ đĩa',
|
||||
'healthy' => 'Sức khỏe',
|
||||
'amount' => 'Số lượng',
|
||||
'newest' => 'Mới nhất',
|
||||
'used_storage' => 'Bộ nhớ đã dùng',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'pages' => [
|
||||
'backups' => [
|
||||
'actions' => [
|
||||
'create_backup' => 'Tạo bản sao lưu',
|
||||
],
|
||||
|
||||
'heading' => 'Sao lưu',
|
||||
|
||||
'messages' => [
|
||||
'backup_success' => 'Đang chạy tạo bản sao lưu dưới nền.',
|
||||
],
|
||||
|
||||
'modal' => [
|
||||
'buttons' => [
|
||||
'only_db' => 'Chỉ DB',
|
||||
'only_files' => 'Chỉ Tệp tin',
|
||||
'db_and_files' => 'DB & Tệp tin',
|
||||
],
|
||||
|
||||
'label' => 'Vui lòng chọn một tùy chọn',
|
||||
],
|
||||
|
||||
'navigation' => [
|
||||
'group' => 'Cài đặt',
|
||||
'label' => 'Sao lưu',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
@@ -1,70 +0,0 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'components' => [
|
||||
'backup_destination_list' => [
|
||||
'table' => [
|
||||
'actions' => [
|
||||
'download' => '下载',
|
||||
'delete' => '删除',
|
||||
],
|
||||
|
||||
'fields' => [
|
||||
'path' => '路径',
|
||||
'disk' => '磁盘',
|
||||
'date' => '日期',
|
||||
'size' => '大小',
|
||||
],
|
||||
|
||||
'filters' => [
|
||||
'disk' => '磁盘',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'backup_destination_status_list' => [
|
||||
'table' => [
|
||||
'fields' => [
|
||||
'name' => '文件名',
|
||||
'disk' => '所属磁盘',
|
||||
'healthy' => '健康状况',
|
||||
'amount' => '大小',
|
||||
'newest' => '最新备份',
|
||||
'used_storage' => '占用空间',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'pages' => [
|
||||
'backups' => [
|
||||
'actions' => [
|
||||
'create_backup' => '创建备份',
|
||||
],
|
||||
|
||||
'heading' => '数据备份',
|
||||
|
||||
'messages' => [
|
||||
'backup_success' => '在后台创建新备份',
|
||||
'backup_delete_success' => '在后台删除此备份',
|
||||
],
|
||||
|
||||
'modal' => [
|
||||
'buttons' => [
|
||||
'only_db' => '仅备份数据库',
|
||||
'only_files' => '仅备份文件',
|
||||
'db_and_files' => '备份数据库和文件',
|
||||
],
|
||||
|
||||
'label' => '请选择一个选项',
|
||||
],
|
||||
|
||||
'navigation' => [
|
||||
'group' => '系统设置',
|
||||
'label' => '数据备份',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
@@ -1 +0,0 @@
|
||||
.fsb-flex{display:flex}.fsb-flex-col{flex-direction:column}.fsb-justify-between{justify-content:space-between}.fsb-mb-10{margin-bottom:2.5rem}.fsb-gap-x-2{column-gap:.5rem}.fsb-gap-y-8{row-gap:2rem}.fsb-w-full{width:100%}
|
||||
@@ -8,7 +8,6 @@ Artisan::command('inspire', function () {
|
||||
$this->comment(Inspiring::quote());
|
||||
})->purpose('Display an inspiring quote');
|
||||
|
||||
Schedule::command('horizon:snapshot')->everyFiveMinutes();
|
||||
Schedule::command('sanctum:prune-expired --hours=24')
|
||||
->daily()
|
||||
->withoutOverlapping()
|
||||
|
||||
@@ -18,33 +18,14 @@ it('allows only administrators through production tooling gates', function (): v
|
||||
'role' => UserRole::USER,
|
||||
]);
|
||||
|
||||
expect(Gate::forUser($admin)->allows('viewHorizon'))->toBeTrue()
|
||||
->and(Gate::forUser($admin)->allows('viewApiDocs'))->toBeTrue()
|
||||
->and(Gate::forUser($moderator)->allows('viewHorizon'))->toBeFalse()
|
||||
expect(Gate::forUser($admin)->allows('viewApiDocs'))->toBeTrue()
|
||||
->and(Gate::forUser($moderator)->allows('viewApiDocs'))->toBeFalse()
|
||||
->and(Gate::forUser($user)->allows('viewHorizon'))->toBeFalse()
|
||||
->and(Gate::forUser($user)->allows('viewApiDocs'))->toBeFalse()
|
||||
->and(Gate::allows('viewHorizon'))->toBeFalse()
|
||||
->and(Gate::allows('viewApiDocs'))->toBeFalse();
|
||||
});
|
||||
|
||||
it('protects the horizon dashboard outside local environments', function (): void {
|
||||
$admin = User::factory()->create([
|
||||
'role' => UserRole::ADMIN,
|
||||
]);
|
||||
$moderator = User::factory()->create([
|
||||
'role' => UserRole::MODERATOR,
|
||||
]);
|
||||
|
||||
$this->get('/horizon')->assertForbidden();
|
||||
|
||||
$this->actingAs($moderator)
|
||||
->get('/horizon')
|
||||
->assertForbidden();
|
||||
|
||||
$this->actingAs($admin)
|
||||
->get('/horizon')
|
||||
->assertSuccessful();
|
||||
it('does not expose a queue dashboard', function (): void {
|
||||
$this->get('/horizon')->assertNotFound();
|
||||
});
|
||||
|
||||
it('protects the scramble documentation outside local environments', function (): void {
|
||||
|
||||
Reference in New Issue
Block a user