mirror of
https://github.com/HolgerHatGarKeineNode/einundzwanzig-app.git
synced 2026-03-14 14:23:18 +00:00
🔥 Remove Laravel Sail, Docker, and related setup, migrate to simplified local development environment
- **Removed:** `docker-compose.yml`, Sail-specific Dockerfiles, and related scripts for PHP 8.3 setup. - **Updated:** Documentation to reflect a shift from Docker to a direct PHP-based local development workflow. - **Removed:** `laravel/sail` dependency from `composer.lock`. - **Implemented:** `#[Locked]` Livewire attribute across components for read-only properties. - **Added:** Feature tests to ensure locked properties cannot be tampered with.
This commit is contained in:
@@ -6,6 +6,7 @@ use App\Models\Course;
|
||||
use App\Models\CourseEvent;
|
||||
use App\Models\Venue;
|
||||
use App\Traits\SeoTrait;
|
||||
use Livewire\Attributes\Locked;
|
||||
use Livewire\Attributes\Validate;
|
||||
use Livewire\Component;
|
||||
|
||||
@@ -17,6 +18,7 @@ class extends Component {
|
||||
public Course $course;
|
||||
public ?CourseEvent $event = null;
|
||||
|
||||
#[Locked]
|
||||
public $country = 'de';
|
||||
|
||||
public string $fromDate = '';
|
||||
|
||||
@@ -5,6 +5,7 @@ use App\Models\Course;
|
||||
use App\Models\Lecturer;
|
||||
use App\Traits\SeoTrait;
|
||||
use Illuminate\Validation\Rule;
|
||||
use Livewire\Attributes\Locked;
|
||||
use Livewire\Attributes\Validate;
|
||||
use Livewire\Component;
|
||||
use Livewire\WithFileUploads;
|
||||
@@ -25,9 +26,14 @@ class extends Component {
|
||||
public ?int $lecturer_id = null;
|
||||
public ?string $description = null;
|
||||
|
||||
// System fields (read-only)
|
||||
// System fields (read-only) - locked to prevent client-side tampering
|
||||
#[Locked]
|
||||
public ?int $created_by = null;
|
||||
|
||||
#[Locked]
|
||||
public ?string $created_at = null;
|
||||
|
||||
#[Locked]
|
||||
public ?string $updated_at = null;
|
||||
|
||||
public function mount(): void
|
||||
|
||||
@@ -4,6 +4,7 @@ use App\Attributes\SeoDataAttribute;
|
||||
use App\Models\Lecturer;
|
||||
use App\Traits\SeoTrait;
|
||||
use Illuminate\Validation\Rule;
|
||||
use Livewire\Attributes\Locked;
|
||||
use Livewire\Attributes\Validate;
|
||||
use Livewire\Component;
|
||||
use Livewire\WithFileUploads;
|
||||
@@ -34,9 +35,14 @@ class extends Component {
|
||||
public ?string $node_id = null;
|
||||
public ?string $paynym = null;
|
||||
|
||||
// System fields (read-only)
|
||||
// System fields (read-only) - locked to prevent client-side tampering
|
||||
#[Locked]
|
||||
public ?int $created_by = null;
|
||||
|
||||
#[Locked]
|
||||
public ?string $created_at = null;
|
||||
|
||||
#[Locked]
|
||||
public ?string $updated_at = null;
|
||||
|
||||
public function mount(): void
|
||||
|
||||
@@ -5,6 +5,7 @@ use App\Enums\RecurrenceType;
|
||||
use App\Models\Meetup;
|
||||
use App\Models\MeetupEvent;
|
||||
use App\Traits\SeoTrait;
|
||||
use Livewire\Attributes\Locked;
|
||||
use Livewire\Attributes\Validate;
|
||||
use Livewire\Component;
|
||||
|
||||
@@ -16,6 +17,7 @@ class extends Component {
|
||||
public Meetup $meetup;
|
||||
public ?MeetupEvent $event = null;
|
||||
|
||||
#[Locked]
|
||||
public $country = 'de';
|
||||
|
||||
public string $startDate = '';
|
||||
|
||||
@@ -6,6 +6,7 @@ use App\Models\Country;
|
||||
use App\Models\Meetup;
|
||||
use App\Traits\SeoTrait;
|
||||
use Illuminate\Validation\Rule;
|
||||
use Livewire\Attributes\Locked;
|
||||
use Livewire\Attributes\Validate;
|
||||
use Livewire\Component;
|
||||
use Livewire\WithFileUploads;
|
||||
@@ -42,9 +43,14 @@ class extends Component {
|
||||
public ?string $github_data = null;
|
||||
public bool $visible_on_map = false;
|
||||
|
||||
// System fields (read-only)
|
||||
// System fields (read-only) - locked to prevent client-side tampering
|
||||
#[Locked]
|
||||
public ?int $created_by = null;
|
||||
|
||||
#[Locked]
|
||||
public ?string $created_at = null;
|
||||
|
||||
#[Locked]
|
||||
public ?string $updated_at = null;
|
||||
|
||||
// New City Modal
|
||||
|
||||
@@ -4,6 +4,7 @@ use App\Attributes\SeoDataAttribute;
|
||||
use App\Enums\SelfHostedServiceType;
|
||||
use App\Livewire\Forms\ServiceForm;
|
||||
use App\Traits\SeoTrait;
|
||||
use Livewire\Attributes\Locked;
|
||||
use Livewire\Attributes\Validate;
|
||||
use Livewire\Component;
|
||||
use Livewire\WithFileUploads;
|
||||
@@ -13,7 +14,9 @@ new
|
||||
class extends Component {
|
||||
use SeoTrait;
|
||||
|
||||
#[Locked]
|
||||
public string $country = 'de';
|
||||
|
||||
public ServiceForm $form;
|
||||
|
||||
public function mount(): void
|
||||
|
||||
Reference in New Issue
Block a user