Initial Laravel API import
Some checks failed
continuous-integration/drone/push Build is failing

- Complete GGZ Ecademy Laravel backend application
- RESTful API for learning products, members, filters
- Authentication and authorization system
- Database migrations and seeders
- Custom CRUD generator commands
- Email notification system
- Integration with frontend applications
This commit is contained in:
Joris Slagter
2025-12-02 17:40:21 +01:00
parent 786b6b6a78
commit df155bb13d
341 changed files with 116385 additions and 2 deletions

View File

@@ -0,0 +1,35 @@
<?php
namespace App\Http\Requests\Learning;
use Illuminate\Foundation\Http\FormRequest;
class AccreditationStore extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
"id" => 'sometimes|numeric',
"learning_product_id" => 'required|numeric',
'credits' => 'required',
'date_start' => '',
'date_end' => '',
'filter_items' => '',
];
}
}

View File

@@ -0,0 +1,38 @@
<?php
namespace App\Http\Requests\Learning;
use Illuminate\Foundation\Http\FormRequest;
class CourseNotificationStore extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
"id" => 'sometimes|numeric',
"learning_product_id" => 'required|numeric',
'date' => 'required',
'sent' => '',
'time' => 'required',
'emails' => 'required',
'users' => 'required',
'subject' => 'required',
'message' => 'required',
];
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests\Learning;
use Illuminate\Foundation\Http\FormRequest;
class LearningProductId extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
"product_id" => 'required|numeric',
];
}
}

View File

@@ -0,0 +1,74 @@
<?php
namespace App\Http\Requests\Learning;
use Illuminate\Foundation\Http\FormRequest;
class LearningProductStore extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
"id" => 'sometimes|numeric',
"parent_id" => 'sometimes|numeric',
"title" => 'required|max:255',
'description' => 'max:255',
'video' => 'max:255',
'code' => 'required|max:255',
'seo_title' => 'required|max:255',
'meta_description' => 'max:255',
'url' => 'max:255',
'published' => '',
'lead_time' => '',
'short_description' => '',
'learning_goals' => '',
'review' => '',
'certification' => '',
'extra_information' => '',
'target_audience' => '',
'quality_standards' => '',
'in_the_picture' => '',
'in_the_picture_start' => 'required_if:in_the_picture,1',
'in_the_picture_end' => 'required_if:in_the_picture,1',
'owner' => '',
'partner' => '',
'supplier' => '',
'contract_agreements' => '',
'tile' => 'sometimes|mimes:jpeg,jpg,png|max:2048',
'cover' => 'sometimes|mimes:jpeg,jpg,png|max:2048',
'prognosis_members' => '',
'prognosis_attendees' => '',
'sharepoint_link' => 'max:500',
'support_link' => 'max:500',
'support_tickets_link' => 'max:500',
'for_members' => '',
'third_party_training' => '',
'voor_opleiders' => '',
'filtersGrouped' => '',
'synonymsSelected' => '',
];
}
public function messages()
{
return [
'title.required' => 'De titel is verplicht.',
'code.required' => 'De productcode is verplicht',
'seo_title.required' => 'De SEO title is verplicht',
];
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests\Learning;
use Illuminate\Foundation\Http\FormRequest;
class SynonymStore extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
"title" => 'required',
];
}
}

View File

@@ -0,0 +1,39 @@
<?php
namespace App\Http\Requests\Learning;
use Illuminate\Foundation\Http\FormRequest;
class VersionStore extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.Nc
*
* @return array
*/
public function rules()
{
return [
"id" => 'sometimes|numeric',
"learning_product_id" => 'required|numeric',
'filter_items' => '',
'version_number' => 'required',
'release_start' => 'required',
'release_end' => '',
'release_planning_date' => '',
'release_planning_description' => '',
'technical_information' => '',
'checklists_selected' => '',
];
}
}