Migration complete

This commit is contained in:
2026-06-23 19:24:38 +02:00
parent 279160c1cb
commit 64b26ef059
126 changed files with 8121 additions and 221 deletions

View File

@@ -73,7 +73,7 @@ class StoreEntryRequest extends FormRequest
if( section_must_be( ['romhacks', 'lua-scripts'], $section ) ){
$rules['modifications'] = 'array|required|min:1';
$rules['modifications.*'] = 'integer|exists:modifications,id';
} else if( section_must_be( 'utilities', $section ) ){
} else if( section_must_be( ['utilities','documents'], $section ) ){
$rules['categories'] = 'array|required|min:1';
$rules['categories.*'] = 'integer|exists:categories,id';
}
@@ -85,7 +85,7 @@ class StoreEntryRequest extends FormRequest
$rules['version'] = 'required|string|max:50';
$rules['release-date'] = 'required|date';
if( section_must_not_be( 'utilities', $section ) ){
if( section_must_not_be( ['utilities', 'documents'], $section ) ){
$rules['status'] = 'required|integer|exists:statuses,id';
} else {
$rules['level'] = 'required|integer|exists:levels,id';
@@ -159,6 +159,7 @@ class StoreEntryRequest extends FormRequest
$rules['owner_user_id'] = [ 'required', 'integer', new XfUserExists ];
$rules['comments_thread_id'] = 'nullable|integer';
$rules['featured'] = 'nullable|boolean';
$rules['refresh_created_at'] = 'nullable|boolean';
}
return $rules;
@@ -167,16 +168,31 @@ class StoreEntryRequest extends FormRequest
public function messages(): array
{
return [
'entry_title.required' => 'Please provide an entry title.',
'slug.unique' => 'An entry with this title already exists. Please choose another title.',
'file_ids.required' => 'Please upload at least one file.',
'file_ids.min' => 'Please upload at least one file.',
'hashes.required' => 'Please add at least one hash.',
'hashes.min' => 'Please add at least one hash.',
'gallery.required' => 'Please add at least one screenshot.',
'gallery.min' => 'Please add at least one screenshot.',
'new-game-platform.required_without' => 'Please choose a platform for the new game.',
'new-game-genre.required_without' => 'Please choose a genre for the new game.',
'files_uuid.required' => 'Please upload at least a file.',
'files_state.required' => 'A file may be corrupted, please reupload it.',
'files_state.*.in' => 'A file state doesn\'t have a standard value.',
'entry_title.required' => 'Please enter a title.',
'modifications.required' => 'Please select at least one modification.',
'categories.required' => 'Please select at least one category.',
'system.required' => 'Please select at least one system.',
'version.required' => 'Please enter a version number.',
'release-date.required' => 'Please enter a valid release date.',
'status.required' => 'Please select a status.',
'level.required' => 'Please select an experience level.',
'description.required' => 'Please enter a description.',
'game_selection_mode.required' => 'Please select a game selection mode.',
'platform_only_id.required' => 'Please select a platform.',
'game_id.required' => 'Please select a game.',
'new-game-title.required' => 'Please enter a game title.',
'new-game-platform.required' => 'Please select a game platform.',
'new-game-genre.required' => 'Please select a game genre.',
'hashes.required' => 'Please send at least one hash.',
'languages.required' => 'Please select at least one language.',
'main-image.required' => 'Please upload a main image.',
'gallery.required' => 'Please upload at least one image for the gallery.',
'authors.required' => 'Please select at least one author.',
'new-authors.required' => 'Please select at least one author.',
'submit-state.required' => 'Please select a submit state.',
];
}
}

View File

@@ -0,0 +1,41 @@
<?php
namespace App\Http\Requests;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class StoreReviewRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
$review = $this->route('review');
if( $review )
return $this->user()->can('update', $review);
return $this->user()->can('create', '\App\Models\EntryReview');
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
$isEdit = (bool) $this->route('review');
$rules = [];
$rules['rating'] = 'required|numeric|min:1|max:5';
$rules['title'] = 'required|string|max:255';
$rules['description'] = 'required|string';
return $rules;
}
}