Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions commitlint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export default { extends: ["@commitlint/config-conventional"] };
6 changes: 3 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@
},
"require-dev": {
"laravel/pint": "^1.13",
"orchestra/testbench": "^8.11",
"pestphp/pest": "^2.19",
"pestphp/pest-plugin-laravel": "^2.2"
"orchestra/testbench": "^9.0",
"pestphp/pest": "^3.0",
"pestphp/pest-plugin-laravel": "^3.0"
},
"autoload": {
"psr-4": {
Expand Down
3,301 changes: 1,477 additions & 1,824 deletions composer.lock

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "statamic-backup",
"version": "1.0.0",
"type": "module",
"description": "Backup is an extensible and powerful backup tool for statamic sites, it enables you to create, manage and schedule backups of your site with ease in the control panel.",
"workspaces": [
"client",
Expand Down
7 changes: 3 additions & 4 deletions src/Backuper.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
use Itiden\Backup\DataTransferObjects\BackupDto;
use Itiden\Backup\Events\BackupCreated;
use Itiden\Backup\Events\BackupFailed;
use Itiden\Backup\Exceptions\BackupFailedException;

final class Backuper
{
Expand All @@ -23,7 +22,7 @@ public function __construct(
/**
* Create a new backup.
*
* @throws BackupFailedException
* @throws Exceptions\BackupFailed
*/
public function backup(): BackupDto
{
Expand Down Expand Up @@ -61,15 +60,15 @@ public function backup(): BackupDto

event(new BackupCreated($backup));

unlink($temp_zip_path);
@unlink($temp_zip_path);

$this->enforceMaxBackups();

return $backup;
} catch (Exception $e) {
report($e);

$exception = new BackupFailedException();
$exception = new Exceptions\BackupFailed();

event(new BackupFailed($exception));

Expand Down
2 changes: 1 addition & 1 deletion src/Console/Commands/BackupCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
/**
* Backup site
*/
class BackupCommand extends Command
final class BackupCommand extends Command
{
protected $signature = 'statamic:backup';

Expand Down
2 changes: 1 addition & 1 deletion src/Console/Commands/ClearFilesCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
/**
* Clear the backup temp directory
*/
class ClearFilesCommand extends Command
final class ClearFilesCommand extends Command
{
protected $signature = 'statamic:backup:temp-clear';

Expand Down
2 changes: 1 addition & 1 deletion src/DataTransferObjects/ChunkyTestDto.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use Illuminate\Http\Request;

readonly class ChunkyTestDto
final readonly class ChunkyTestDto
{
public function __construct(
public string $path,
Expand Down
2 changes: 1 addition & 1 deletion src/DataTransferObjects/ChunkyUploadDto.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
use Illuminate\Http\Request;
use Illuminate\Http\UploadedFile;

readonly class ChunkyUploadDto
final readonly class ChunkyUploadDto
{
public function __construct(
public string $path,
Expand Down
2 changes: 1 addition & 1 deletion src/Events/BackupCreated.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use Itiden\Backup\DataTransferObjects\BackupDto;

class BackupCreated
final readonly class BackupCreated
{
public function __construct(public BackupDto $backup)
{
Expand Down
6 changes: 3 additions & 3 deletions src/Events/BackupFailed.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@

namespace Itiden\Backup\Events;

use Itiden\Backup\Exceptions\BackupFailedException;
use Itiden\Backup\Exceptions;

class BackupFailed
final readonly class BackupFailed
{
public function __construct(public BackupFailedException $exception)
public function __construct(public Exceptions\BackupFailed $exception)
{
}
}
2 changes: 1 addition & 1 deletion src/Events/BackupRestored.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use Itiden\Backup\DataTransferObjects\BackupDto;

class BackupRestored
final readonly class BackupRestored
{
public function __construct(
public BackupDto $backup
Expand Down
6 changes: 3 additions & 3 deletions src/Events/RestoreFailed.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@

namespace Itiden\Backup\Events;

use Itiden\Backup\Exceptions\RestoreFailedException;
use Itiden\Backup\Exceptions;

class RestoreFailed
final readonly class RestoreFailed
{
public function __construct(public RestoreFailedException $exception)
public function __construct(public Exceptions\RestoreFailed $exception)
{
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
use Carbon\Carbon;
use Exception;

class BackupFailedException extends Exception
final class BackupFailed extends Exception
{
public function __construct()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
use Itiden\Backup\DataTransferObjects\BackupDto;
use Throwable;

class RestoreFailedException extends Exception
final class RestoreFailed extends Exception
{
public function __construct(
public BackupDto $backup,
Expand Down
4 changes: 2 additions & 2 deletions src/Facades/Backuper.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
*
* @see \Itiden\Backup\Backuper
*/
class Backuper extends Facade
final class Backuper extends Facade
{
protected static function getFacadeAccessor()
public static function getFacadeAccessor()
{
return BackuperService::class;
}
Expand Down
4 changes: 2 additions & 2 deletions src/Facades/Restorer.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
*
* @see \Itiden\Backup\Restorer
*/
class Restorer extends Facade
final class Restorer extends Facade
{
protected static function getFacadeAccessor()
public static function getFacadeAccessor()
{
return RestorerService::class;
}
Expand Down
3 changes: 1 addition & 2 deletions src/Http/Controllers/Api/BackupController.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,10 @@
namespace Itiden\Backup\Http\Controllers\Api;

use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
use Illuminate\Routing\Controller;
use Itiden\Backup\Contracts\Repositories\BackupRepository;
use Itiden\Backup\Http\Resources\BackupResource;

class BackupController extends Controller
final readonly class BackupController
{
public function __invoke(BackupRepository $repo): AnonymousResourceCollection
{
Expand Down
3 changes: 1 addition & 2 deletions src/Http/Controllers/Api/DestroyBackupController.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@

use Illuminate\Http\JsonResponse;
use Illuminate\Http\RedirectResponse;
use Illuminate\Routing\Controller;
use Itiden\Backup\Contracts\Repositories\BackupRepository;

class DestroyBackupController extends Controller
final readonly class DestroyBackupController
{
public function __invoke(string $timestamp, BackupRepository $repo): JsonResponse|RedirectResponse
{
Expand Down
3 changes: 1 addition & 2 deletions src/Http/Controllers/Api/RestoreController.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,9 @@
namespace Itiden\Backup\Http\Controllers\Api;

use Illuminate\Http\JsonResponse;
use Illuminate\Routing\Controller;
use Itiden\Backup\Facades\Restorer;

class RestoreController extends Controller
final readonly class RestoreController
{
public function __invoke(string $timestamp): JsonResponse
{
Expand Down
3 changes: 1 addition & 2 deletions src/Http/Controllers/Api/RestoreFromPathController.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,12 @@
namespace Itiden\Backup\Http\Controllers\Api;

use Illuminate\Http\JsonResponse;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\File;
use Itiden\Backup\DataTransferObjects\BackupDto;
use Itiden\Backup\Facades\Restorer;
use Itiden\Backup\Http\Requests\RestoreFromPathRequest;

class RestoreFromPathController extends Controller
final readonly class RestoreFromPathController
{
public function __invoke(RestoreFromPathRequest $request): JsonResponse
{
Expand Down
3 changes: 1 addition & 2 deletions src/Http/Controllers/Api/StoreBackupController.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,9 @@
namespace Itiden\Backup\Http\Controllers\Api;

use Illuminate\Http\JsonResponse;
use Illuminate\Routing\Controller;
use Itiden\Backup\Facades\Backuper;

class StoreBackupController extends Controller
final readonly class StoreBackupController
{
public function __invoke(): JsonResponse
{
Expand Down
8 changes: 1 addition & 7 deletions src/Http/Controllers/DownloadBackupController.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,12 @@

namespace Itiden\Backup\Http\Controllers;

use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\Storage;
use Itiden\Backup\Contracts\Repositories\BackupRepository;
use Symfony\Component\HttpFoundation\StreamedResponse;

class DownloadBackupController extends Controller
final readonly class DownloadBackupController
{
use AuthorizesRequests;
use ValidatesRequests;

/**
* Handle the incoming request.
*/
Expand Down
3 changes: 1 addition & 2 deletions src/Http/Controllers/UploadController.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,12 @@

use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Itiden\Backup\DataTransferObjects\ChunkyTestDto;
use Itiden\Backup\DataTransferObjects\ChunkyUploadDto;
use Itiden\Backup\Http\Requests\ChunkyUploadRequest;
use Itiden\Backup\Support\Facades\Chunky;

class UploadController extends Controller
final readonly class UploadController
{
public function __invoke(ChunkyUploadRequest $request): JsonResponse
{
Expand Down
2 changes: 1 addition & 1 deletion src/Http/Requests/ChunkyUploadRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use Illuminate\Foundation\Http\FormRequest;

class ChunkyUploadRequest extends FormRequest
final class ChunkyUploadRequest extends FormRequest
{
public function rules()
{
Expand Down
2 changes: 1 addition & 1 deletion src/Http/Requests/RestoreFromPathRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use Illuminate\Foundation\Http\FormRequest;

class RestoreFromPathRequest extends FormRequest
final class RestoreFromPathRequest extends FormRequest
{
public function rules()
{
Expand Down
2 changes: 1 addition & 1 deletion src/Http/Resources/BackupResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
/**
* @mixin \Itiden\Backup\DataTransferObjects\BackupDto
*/
class BackupResource extends JsonResource
final class BackupResource extends JsonResource
{
public function toArray($request)
{
Expand Down
2 changes: 1 addition & 1 deletion src/Pipes/Assets.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
use Statamic\Assets\AssetContainer as Container;
use Statamic\Facades\AssetContainer;

class Assets extends BackupPipe
final class Assets extends BackupPipe
{
public static function getKey(): string
{
Expand Down
2 changes: 1 addition & 1 deletion src/Pipes/Content.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
use Itiden\Backup\Abstracts\BackupPipe;
use Itiden\Backup\Support\Zipper;

class Content extends BackupPipe
final class Content extends BackupPipe
{
public static function getKey(): string
{
Expand Down
2 changes: 1 addition & 1 deletion src/Pipes/Users.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
use Itiden\Backup\Support\Zipper;
use Statamic\Facades\Stache;

class Users extends BackupPipe
final class Users extends BackupPipe
{
public static function getKey(): string
{
Expand Down
5 changes: 2 additions & 3 deletions src/Restorer.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
use Itiden\Backup\DataTransferObjects\BackupDto;
use Itiden\Backup\Events\BackupRestored;
use Itiden\Backup\Events\RestoreFailed;
use Itiden\Backup\Exceptions\RestoreFailedException;
use Itiden\Backup\Support\Zipper;
use RuntimeException;

Expand Down Expand Up @@ -43,7 +42,7 @@ public function restoreFromTimestamp(string $timestamp): void
/**
* Restore to the given backup.
*
* @throws RestoreFailedException
* @throws RestoreFailed
*/
public function restore(BackupDto $backup): void
{
Expand Down Expand Up @@ -83,7 +82,7 @@ public function restore(BackupDto $backup): void
} catch (Exception $e) {
report($e);

$exception = new RestoreFailedException($backup, previous: $e);
$exception = new Exceptions\RestoreFailed($backup, previous: $e);

event(new RestoreFailed($exception));

Expand Down
4 changes: 2 additions & 2 deletions src/ServiceProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
use Statamic\Facades\Permission;
use Statamic\Providers\AddonServiceProvider;

class ServiceProvider extends AddonServiceProvider
final class ServiceProvider extends AddonServiceProvider
{
protected $viewNamespace = 'itiden-backup';

Expand Down Expand Up @@ -58,7 +58,7 @@ public function bootAddon()
]);
}

protected function schedule(Schedule $schedule)
public function schedule(Schedule $schedule)
{
if (!config('backup.schedule')) {
return;
Expand Down
4 changes: 2 additions & 2 deletions src/Support/Facades/Chunky.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@
*
* @see \Itiden\Backup\Support\Chunky
*/
class Chunky extends Facade
final class Chunky extends Facade
{
protected static function getFacadeAccessor(): string
public static function getFacadeAccessor(): string
{
return ChunkySupport::class;
}
Expand Down
Loading
Loading