Bozhidar Slaveykov преди 1 година
родител
ревизия
60002d99d3
променени са 35 файла, в които са добавени 906 реда и са изтрити 2 реда
  1. 64 0
      web/app/Filament/Resources/BackupResource.php
  2. 12 0
      web/app/Filament/Resources/BackupResource/Pages/CreateBackup.php
  3. 19 0
      web/app/Filament/Resources/BackupResource/Pages/EditBackup.php
  4. 19 0
      web/app/Filament/Resources/BackupResource/Pages/ListBackups.php
  5. 64 0
      web/app/Filament/Resources/CronJobResource.php
  6. 12 0
      web/app/Filament/Resources/CronJobResource/Pages/CreateCronJob.php
  7. 19 0
      web/app/Filament/Resources/CronJobResource/Pages/EditCronJob.php
  8. 19 0
      web/app/Filament/Resources/CronJobResource/Pages/ListCronJobs.php
  9. 64 0
      web/app/Filament/Resources/DomainResource.php
  10. 12 0
      web/app/Filament/Resources/DomainResource/Pages/CreateDomain.php
  11. 19 0
      web/app/Filament/Resources/DomainResource/Pages/EditDomain.php
  12. 19 0
      web/app/Filament/Resources/DomainResource/Pages/ListDomains.php
  13. 64 0
      web/app/Filament/Resources/HostingAccountResource.php
  14. 12 0
      web/app/Filament/Resources/HostingAccountResource/Pages/CreateHostingAccount.php
  15. 19 0
      web/app/Filament/Resources/HostingAccountResource/Pages/EditHostingAccount.php
  16. 19 0
      web/app/Filament/Resources/HostingAccountResource/Pages/ListHostingAccounts.php
  17. 64 0
      web/app/Filament/Resources/HostingDatabaseResource.php
  18. 12 0
      web/app/Filament/Resources/HostingDatabaseResource/Pages/CreateHostingDatabase.php
  19. 19 0
      web/app/Filament/Resources/HostingDatabaseResource/Pages/EditHostingDatabase.php
  20. 19 0
      web/app/Filament/Resources/HostingDatabaseResource/Pages/ListHostingDatabases.php
  21. 11 0
      web/app/Models/Backup.php
  22. 11 0
      web/app/Models/CronJob.php
  23. 11 0
      web/app/Models/Domain.php
  24. 11 0
      web/app/Models/HostingAccount.php
  25. 11 0
      web/app/Models/HostingDatabase.php
  26. 11 0
      web/app/Models/HostingDatabaseUser.php
  27. 11 0
      web/app/Models/HostingPackage.php
  28. 10 2
      web/config/database.php
  29. 29 0
      web/database/migrations/2023_11_23_214342_create_domains_table.php
  30. 32 0
      web/database/migrations/2023_11_23_214504_create_hosting_accounts_table.php
  31. 52 0
      web/database/migrations/2023_11_23_214532_create_hosting_packages_table.php
  32. 36 0
      web/database/migrations/2023_11_23_214613_create_hosting_databases_table.php
  33. 30 0
      web/database/migrations/2023_11_23_214618_create_hosting_database_users_table.php
  34. 35 0
      web/database/migrations/2023_11_23_214641_create_cron_jobs_table.php
  35. 35 0
      web/database/migrations/2023_11_23_214651_create_backups_table.php

+ 64 - 0
web/app/Filament/Resources/BackupResource.php

@@ -0,0 +1,64 @@
+<?php
+
+namespace App\Filament\Resources;
+
+use App\Filament\Resources\BackupResource\Pages;
+use App\Filament\Resources\BackupResource\RelationManagers;
+use App\Models\Backup;
+use Filament\Forms;
+use Filament\Forms\Form;
+use Filament\Resources\Resource;
+use Filament\Tables;
+use Filament\Tables\Table;
+use Illuminate\Database\Eloquent\Builder;
+use Illuminate\Database\Eloquent\SoftDeletingScope;
+
+class BackupResource extends Resource
+{
+    protected static ?string $model = Backup::class;
+
+    protected static ?string $navigationIcon = 'heroicon-o-rectangle-stack';
+
+    public static function form(Form $form): Form
+    {
+        return $form
+            ->schema([
+                //
+            ]);
+    }
+
+    public static function table(Table $table): Table
+    {
+        return $table
+            ->columns([
+                //
+            ])
+            ->filters([
+                //
+            ])
+            ->actions([
+                Tables\Actions\EditAction::make(),
+            ])
+            ->bulkActions([
+                Tables\Actions\BulkActionGroup::make([
+                    Tables\Actions\DeleteBulkAction::make(),
+                ]),
+            ]);
+    }
+
+    public static function getRelations(): array
+    {
+        return [
+            //
+        ];
+    }
+
+    public static function getPages(): array
+    {
+        return [
+            'index' => Pages\ListBackups::route('/'),
+            'create' => Pages\CreateBackup::route('/create'),
+            'edit' => Pages\EditBackup::route('/{record}/edit'),
+        ];
+    }
+}

+ 12 - 0
web/app/Filament/Resources/BackupResource/Pages/CreateBackup.php

@@ -0,0 +1,12 @@
+<?php
+
+namespace App\Filament\Resources\BackupResource\Pages;
+
+use App\Filament\Resources\BackupResource;
+use Filament\Actions;
+use Filament\Resources\Pages\CreateRecord;
+
+class CreateBackup extends CreateRecord
+{
+    protected static string $resource = BackupResource::class;
+}

+ 19 - 0
web/app/Filament/Resources/BackupResource/Pages/EditBackup.php

@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Filament\Resources\BackupResource\Pages;
+
+use App\Filament\Resources\BackupResource;
+use Filament\Actions;
+use Filament\Resources\Pages\EditRecord;
+
+class EditBackup extends EditRecord
+{
+    protected static string $resource = BackupResource::class;
+
+    protected function getHeaderActions(): array
+    {
+        return [
+            Actions\DeleteAction::make(),
+        ];
+    }
+}

+ 19 - 0
web/app/Filament/Resources/BackupResource/Pages/ListBackups.php

@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Filament\Resources\BackupResource\Pages;
+
+use App\Filament\Resources\BackupResource;
+use Filament\Actions;
+use Filament\Resources\Pages\ListRecords;
+
+class ListBackups extends ListRecords
+{
+    protected static string $resource = BackupResource::class;
+
+    protected function getHeaderActions(): array
+    {
+        return [
+            Actions\CreateAction::make(),
+        ];
+    }
+}

+ 64 - 0
web/app/Filament/Resources/CronJobResource.php

@@ -0,0 +1,64 @@
+<?php
+
+namespace App\Filament\Resources;
+
+use App\Filament\Resources\CronJobResource\Pages;
+use App\Filament\Resources\CronJobResource\RelationManagers;
+use App\Models\CronJob;
+use Filament\Forms;
+use Filament\Forms\Form;
+use Filament\Resources\Resource;
+use Filament\Tables;
+use Filament\Tables\Table;
+use Illuminate\Database\Eloquent\Builder;
+use Illuminate\Database\Eloquent\SoftDeletingScope;
+
+class CronJobResource extends Resource
+{
+    protected static ?string $model = CronJob::class;
+
+    protected static ?string $navigationIcon = 'heroicon-o-rectangle-stack';
+
+    public static function form(Form $form): Form
+    {
+        return $form
+            ->schema([
+                //
+            ]);
+    }
+
+    public static function table(Table $table): Table
+    {
+        return $table
+            ->columns([
+                //
+            ])
+            ->filters([
+                //
+            ])
+            ->actions([
+                Tables\Actions\EditAction::make(),
+            ])
+            ->bulkActions([
+                Tables\Actions\BulkActionGroup::make([
+                    Tables\Actions\DeleteBulkAction::make(),
+                ]),
+            ]);
+    }
+
+    public static function getRelations(): array
+    {
+        return [
+            //
+        ];
+    }
+
+    public static function getPages(): array
+    {
+        return [
+            'index' => Pages\ListCronJobs::route('/'),
+            'create' => Pages\CreateCronJob::route('/create'),
+            'edit' => Pages\EditCronJob::route('/{record}/edit'),
+        ];
+    }
+}

+ 12 - 0
web/app/Filament/Resources/CronJobResource/Pages/CreateCronJob.php

@@ -0,0 +1,12 @@
+<?php
+
+namespace App\Filament\Resources\CronJobResource\Pages;
+
+use App\Filament\Resources\CronJobResource;
+use Filament\Actions;
+use Filament\Resources\Pages\CreateRecord;
+
+class CreateCronJob extends CreateRecord
+{
+    protected static string $resource = CronJobResource::class;
+}

+ 19 - 0
web/app/Filament/Resources/CronJobResource/Pages/EditCronJob.php

@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Filament\Resources\CronJobResource\Pages;
+
+use App\Filament\Resources\CronJobResource;
+use Filament\Actions;
+use Filament\Resources\Pages\EditRecord;
+
+class EditCronJob extends EditRecord
+{
+    protected static string $resource = CronJobResource::class;
+
+    protected function getHeaderActions(): array
+    {
+        return [
+            Actions\DeleteAction::make(),
+        ];
+    }
+}

+ 19 - 0
web/app/Filament/Resources/CronJobResource/Pages/ListCronJobs.php

@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Filament\Resources\CronJobResource\Pages;
+
+use App\Filament\Resources\CronJobResource;
+use Filament\Actions;
+use Filament\Resources\Pages\ListRecords;
+
+class ListCronJobs extends ListRecords
+{
+    protected static string $resource = CronJobResource::class;
+
+    protected function getHeaderActions(): array
+    {
+        return [
+            Actions\CreateAction::make(),
+        ];
+    }
+}

+ 64 - 0
web/app/Filament/Resources/DomainResource.php

@@ -0,0 +1,64 @@
+<?php
+
+namespace App\Filament\Resources;
+
+use App\Filament\Resources\DomainResource\Pages;
+use App\Filament\Resources\DomainResource\RelationManagers;
+use App\Models\Domain;
+use Filament\Forms;
+use Filament\Forms\Form;
+use Filament\Resources\Resource;
+use Filament\Tables;
+use Filament\Tables\Table;
+use Illuminate\Database\Eloquent\Builder;
+use Illuminate\Database\Eloquent\SoftDeletingScope;
+
+class DomainResource extends Resource
+{
+    protected static ?string $model = Domain::class;
+
+    protected static ?string $navigationIcon = 'heroicon-o-rectangle-stack';
+
+    public static function form(Form $form): Form
+    {
+        return $form
+            ->schema([
+                //
+            ]);
+    }
+
+    public static function table(Table $table): Table
+    {
+        return $table
+            ->columns([
+                //
+            ])
+            ->filters([
+                //
+            ])
+            ->actions([
+                Tables\Actions\EditAction::make(),
+            ])
+            ->bulkActions([
+                Tables\Actions\BulkActionGroup::make([
+                    Tables\Actions\DeleteBulkAction::make(),
+                ]),
+            ]);
+    }
+
+    public static function getRelations(): array
+    {
+        return [
+            //
+        ];
+    }
+
+    public static function getPages(): array
+    {
+        return [
+            'index' => Pages\ListDomains::route('/'),
+            'create' => Pages\CreateDomain::route('/create'),
+            'edit' => Pages\EditDomain::route('/{record}/edit'),
+        ];
+    }
+}

+ 12 - 0
web/app/Filament/Resources/DomainResource/Pages/CreateDomain.php

@@ -0,0 +1,12 @@
+<?php
+
+namespace App\Filament\Resources\DomainResource\Pages;
+
+use App\Filament\Resources\DomainResource;
+use Filament\Actions;
+use Filament\Resources\Pages\CreateRecord;
+
+class CreateDomain extends CreateRecord
+{
+    protected static string $resource = DomainResource::class;
+}

+ 19 - 0
web/app/Filament/Resources/DomainResource/Pages/EditDomain.php

@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Filament\Resources\DomainResource\Pages;
+
+use App\Filament\Resources\DomainResource;
+use Filament\Actions;
+use Filament\Resources\Pages\EditRecord;
+
+class EditDomain extends EditRecord
+{
+    protected static string $resource = DomainResource::class;
+
+    protected function getHeaderActions(): array
+    {
+        return [
+            Actions\DeleteAction::make(),
+        ];
+    }
+}

+ 19 - 0
web/app/Filament/Resources/DomainResource/Pages/ListDomains.php

@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Filament\Resources\DomainResource\Pages;
+
+use App\Filament\Resources\DomainResource;
+use Filament\Actions;
+use Filament\Resources\Pages\ListRecords;
+
+class ListDomains extends ListRecords
+{
+    protected static string $resource = DomainResource::class;
+
+    protected function getHeaderActions(): array
+    {
+        return [
+            Actions\CreateAction::make(),
+        ];
+    }
+}

+ 64 - 0
web/app/Filament/Resources/HostingAccountResource.php

@@ -0,0 +1,64 @@
+<?php
+
+namespace App\Filament\Resources;
+
+use App\Filament\Resources\HostingAccountResource\Pages;
+use App\Filament\Resources\HostingAccountResource\RelationManagers;
+use App\Models\HostingAccount;
+use Filament\Forms;
+use Filament\Forms\Form;
+use Filament\Resources\Resource;
+use Filament\Tables;
+use Filament\Tables\Table;
+use Illuminate\Database\Eloquent\Builder;
+use Illuminate\Database\Eloquent\SoftDeletingScope;
+
+class HostingAccountResource extends Resource
+{
+    protected static ?string $model = HostingAccount::class;
+
+    protected static ?string $navigationIcon = 'heroicon-o-rectangle-stack';
+
+    public static function form(Form $form): Form
+    {
+        return $form
+            ->schema([
+                //
+            ]);
+    }
+
+    public static function table(Table $table): Table
+    {
+        return $table
+            ->columns([
+                //
+            ])
+            ->filters([
+                //
+            ])
+            ->actions([
+                Tables\Actions\EditAction::make(),
+            ])
+            ->bulkActions([
+                Tables\Actions\BulkActionGroup::make([
+                    Tables\Actions\DeleteBulkAction::make(),
+                ]),
+            ]);
+    }
+
+    public static function getRelations(): array
+    {
+        return [
+            //
+        ];
+    }
+
+    public static function getPages(): array
+    {
+        return [
+            'index' => Pages\ListHostingAccounts::route('/'),
+            'create' => Pages\CreateHostingAccount::route('/create'),
+            'edit' => Pages\EditHostingAccount::route('/{record}/edit'),
+        ];
+    }
+}

+ 12 - 0
web/app/Filament/Resources/HostingAccountResource/Pages/CreateHostingAccount.php

@@ -0,0 +1,12 @@
+<?php
+
+namespace App\Filament\Resources\HostingAccountResource\Pages;
+
+use App\Filament\Resources\HostingAccountResource;
+use Filament\Actions;
+use Filament\Resources\Pages\CreateRecord;
+
+class CreateHostingAccount extends CreateRecord
+{
+    protected static string $resource = HostingAccountResource::class;
+}

+ 19 - 0
web/app/Filament/Resources/HostingAccountResource/Pages/EditHostingAccount.php

@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Filament\Resources\HostingAccountResource\Pages;
+
+use App\Filament\Resources\HostingAccountResource;
+use Filament\Actions;
+use Filament\Resources\Pages\EditRecord;
+
+class EditHostingAccount extends EditRecord
+{
+    protected static string $resource = HostingAccountResource::class;
+
+    protected function getHeaderActions(): array
+    {
+        return [
+            Actions\DeleteAction::make(),
+        ];
+    }
+}

+ 19 - 0
web/app/Filament/Resources/HostingAccountResource/Pages/ListHostingAccounts.php

@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Filament\Resources\HostingAccountResource\Pages;
+
+use App\Filament\Resources\HostingAccountResource;
+use Filament\Actions;
+use Filament\Resources\Pages\ListRecords;
+
+class ListHostingAccounts extends ListRecords
+{
+    protected static string $resource = HostingAccountResource::class;
+
+    protected function getHeaderActions(): array
+    {
+        return [
+            Actions\CreateAction::make(),
+        ];
+    }
+}

+ 64 - 0
web/app/Filament/Resources/HostingDatabaseResource.php

@@ -0,0 +1,64 @@
+<?php
+
+namespace App\Filament\Resources;
+
+use App\Filament\Resources\HostingDatabaseResource\Pages;
+use App\Filament\Resources\HostingDatabaseResource\RelationManagers;
+use App\Models\HostingDatabase;
+use Filament\Forms;
+use Filament\Forms\Form;
+use Filament\Resources\Resource;
+use Filament\Tables;
+use Filament\Tables\Table;
+use Illuminate\Database\Eloquent\Builder;
+use Illuminate\Database\Eloquent\SoftDeletingScope;
+
+class HostingDatabaseResource extends Resource
+{
+    protected static ?string $model = HostingDatabase::class;
+
+    protected static ?string $navigationIcon = 'heroicon-o-rectangle-stack';
+
+    public static function form(Form $form): Form
+    {
+        return $form
+            ->schema([
+                //
+            ]);
+    }
+
+    public static function table(Table $table): Table
+    {
+        return $table
+            ->columns([
+                //
+            ])
+            ->filters([
+                //
+            ])
+            ->actions([
+                Tables\Actions\EditAction::make(),
+            ])
+            ->bulkActions([
+                Tables\Actions\BulkActionGroup::make([
+                    Tables\Actions\DeleteBulkAction::make(),
+                ]),
+            ]);
+    }
+
+    public static function getRelations(): array
+    {
+        return [
+            //
+        ];
+    }
+
+    public static function getPages(): array
+    {
+        return [
+            'index' => Pages\ListHostingDatabases::route('/'),
+            'create' => Pages\CreateHostingDatabase::route('/create'),
+            'edit' => Pages\EditHostingDatabase::route('/{record}/edit'),
+        ];
+    }
+}

+ 12 - 0
web/app/Filament/Resources/HostingDatabaseResource/Pages/CreateHostingDatabase.php

@@ -0,0 +1,12 @@
+<?php
+
+namespace App\Filament\Resources\HostingDatabaseResource\Pages;
+
+use App\Filament\Resources\HostingDatabaseResource;
+use Filament\Actions;
+use Filament\Resources\Pages\CreateRecord;
+
+class CreateHostingDatabase extends CreateRecord
+{
+    protected static string $resource = HostingDatabaseResource::class;
+}

+ 19 - 0
web/app/Filament/Resources/HostingDatabaseResource/Pages/EditHostingDatabase.php

@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Filament\Resources\HostingDatabaseResource\Pages;
+
+use App\Filament\Resources\HostingDatabaseResource;
+use Filament\Actions;
+use Filament\Resources\Pages\EditRecord;
+
+class EditHostingDatabase extends EditRecord
+{
+    protected static string $resource = HostingDatabaseResource::class;
+
+    protected function getHeaderActions(): array
+    {
+        return [
+            Actions\DeleteAction::make(),
+        ];
+    }
+}

+ 19 - 0
web/app/Filament/Resources/HostingDatabaseResource/Pages/ListHostingDatabases.php

@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Filament\Resources\HostingDatabaseResource\Pages;
+
+use App\Filament\Resources\HostingDatabaseResource;
+use Filament\Actions;
+use Filament\Resources\Pages\ListRecords;
+
+class ListHostingDatabases extends ListRecords
+{
+    protected static string $resource = HostingDatabaseResource::class;
+
+    protected function getHeaderActions(): array
+    {
+        return [
+            Actions\CreateAction::make(),
+        ];
+    }
+}

+ 11 - 0
web/app/Models/Backup.php

@@ -0,0 +1,11 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Factories\HasFactory;
+use Illuminate\Database\Eloquent\Model;
+
+class Backup extends Model
+{
+    use HasFactory;
+}

+ 11 - 0
web/app/Models/CronJob.php

@@ -0,0 +1,11 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Factories\HasFactory;
+use Illuminate\Database\Eloquent\Model;
+
+class CronJob extends Model
+{
+    use HasFactory;
+}

+ 11 - 0
web/app/Models/Domain.php

@@ -0,0 +1,11 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Factories\HasFactory;
+use Illuminate\Database\Eloquent\Model;
+
+class Domain extends Model
+{
+    use HasFactory;
+}

+ 11 - 0
web/app/Models/HostingAccount.php

@@ -0,0 +1,11 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Factories\HasFactory;
+use Illuminate\Database\Eloquent\Model;
+
+class HostingAccount extends Model
+{
+    use HasFactory;
+}

+ 11 - 0
web/app/Models/HostingDatabase.php

@@ -0,0 +1,11 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Factories\HasFactory;
+use Illuminate\Database\Eloquent\Model;
+
+class HostingDatabase extends Model
+{
+    use HasFactory;
+}

+ 11 - 0
web/app/Models/HostingDatabaseUser.php

@@ -0,0 +1,11 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Factories\HasFactory;
+use Illuminate\Database\Eloquent\Model;
+
+class HostingDatabaseUser extends Model
+{
+    use HasFactory;
+}

+ 11 - 0
web/app/Models/HostingPackage.php

@@ -0,0 +1,11 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Factories\HasFactory;
+use Illuminate\Database\Eloquent\Model;
+
+class HostingPackage extends Model
+{
+    use HasFactory;
+}

+ 10 - 2
web/config/database.php

@@ -38,10 +38,18 @@ return [
         'sqlite' => [
             'driver' => 'sqlite',
             'url' => env('DATABASE_URL'),
-            'database' => env('DB_DATABASE', database_path('database.sqlite')),
+            'database' => database_path('database.sqlite'),
             'prefix' => '',
-            'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
+            'foreign_key_constraints' =>false,
         ],
+//
+//        'sqlite' => [
+//            'driver' => 'sqlite',
+//            'url' => env('DATABASE_URL'),
+//            'database' => env('DB_DATABASE', database_path('database.sqlite')),
+//            'prefix' => '',
+//            'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
+//        ],
 
         'mysql' => [
             'driver' => 'mysql',

+ 29 - 0
web/database/migrations/2023_11_23_214342_create_domains_table.php

@@ -0,0 +1,29 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     */
+    public function up(): void
+    {
+        Schema::create('domains', function (Blueprint $table) {
+            $table->id();
+            $table->string('domain');
+            $table->string('ip');
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     */
+    public function down(): void
+    {
+        Schema::dropIfExists('domains');
+    }
+};

+ 32 - 0
web/database/migrations/2023_11_23_214504_create_hosting_accounts_table.php

@@ -0,0 +1,32 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     */
+    public function up(): void
+    {
+        Schema::create('hosting_accounts', function (Blueprint $table) {
+            $table->id();
+            $table->string('domain');
+            $table->string('ip');
+            $table->string('username');
+            $table->string('password');
+            $table->string('package_id')->nullable();
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     */
+    public function down(): void
+    {
+        Schema::dropIfExists('hosting_accounts');
+    }
+};

+ 52 - 0
web/database/migrations/2023_11_23_214532_create_hosting_packages_table.php

@@ -0,0 +1,52 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     */
+    public function up(): void
+    {
+        Schema::create('hosting_packages', function (Blueprint $table) {
+            $table->id();
+            $table->string('name');
+            $table->string('disk_space');
+            $table->string('bandwidth');
+            $table->string('addon_domains');
+            $table->string('parked_domains');
+            $table->string('sub_domains');
+            $table->string('ftp_accounts');
+            $table->string('mysql_databases');
+            $table->string('email_accounts');
+            $table->string('email_lists');
+            $table->string('max_quota_per_email');
+            $table->string('max_email_per_hour');
+            $table->string('max_defer_fail_percentage');
+            $table->string('max_email_per_day');
+            $table->string('max_recipients_per_message');
+            $table->string('max_email_per_minute');
+            $table->string('max_attachments_per_message');
+            $table->string('max_parked_domains');
+            $table->string('max_addon_domains');
+            $table->string('max_sub_domains');
+            $table->string('max_ftp_accounts');
+            $table->string('max_mysql_databases');
+            $table->string('max_email_accounts');
+            $table->string('max_email_lists');
+            $table->string('max_email_quota');
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     */
+    public function down(): void
+    {
+        Schema::dropIfExists('hosting_packages');
+    }
+};

+ 36 - 0
web/database/migrations/2023_11_23_214613_create_hosting_databases_table.php

@@ -0,0 +1,36 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     */
+    public function up(): void
+    {
+        Schema::create('hosting_databases', function (Blueprint $table) {
+            $table->id();
+            $table->string('hosting_account_id');
+            $table->string('hosting_database_user_id');
+            $table->string('name');
+            $table->string('size');
+            $table->string('max_size');
+            $table->string('max_user_connections');
+            $table->string('max_connections');
+            $table->string('max_queries_per_hour');
+            $table->string('max_updates_per_hour');
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     */
+    public function down(): void
+    {
+        Schema::dropIfExists('hosting_databases');
+    }
+};

+ 30 - 0
web/database/migrations/2023_11_23_214618_create_hosting_database_users_table.php

@@ -0,0 +1,30 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     */
+    public function up(): void
+    {
+        Schema::create('hosting_database_users', function (Blueprint $table) {
+            $table->id();
+            $table->string('hosting_account_id');
+            $table->string('username');
+            $table->string('password');
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     */
+    public function down(): void
+    {
+        Schema::dropIfExists('hosting_database_users');
+    }
+};

+ 35 - 0
web/database/migrations/2023_11_23_214641_create_cron_jobs_table.php

@@ -0,0 +1,35 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     */
+    public function up(): void
+    {
+        Schema::create('cron_jobs', function (Blueprint $table) {
+            $table->id();
+            $table->string('hosting_account_id')->nullable();
+            $table->string('command');
+            $table->string('frequency');
+            $table->string('minute');
+            $table->string('hour');
+            $table->string('day_of_month');
+            $table->string('month');
+            $table->string('day_of_week');
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     */
+    public function down(): void
+    {
+        Schema::dropIfExists('cron_jobs');
+    }
+};

+ 35 - 0
web/database/migrations/2023_11_23_214651_create_backups_table.php

@@ -0,0 +1,35 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     */
+    public function up(): void
+    {
+        Schema::create('backups', function (Blueprint $table) {
+            $table->id();
+            $table->string('hosting_account_id');
+            $table->string('name');
+            $table->string('size');
+            $table->string('max_size');
+            $table->string('max_user_connections');
+            $table->string('max_connections');
+            $table->string('max_queries_per_hour');
+            $table->string('max_updates_per_hour');
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     */
+    public function down(): void
+    {
+        Schema::dropIfExists('backups');
+    }
+};