ticker work proses

This commit is contained in:
Wian Drs
2026-06-22 13:34:49 +07:00
parent 844b8a0ff0
commit b52e67c428
22 changed files with 1193 additions and 16 deletions
@@ -0,0 +1,29 @@
<?php
namespace App\Http\Requests\Ticket;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class ApproveTicketRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'notes' => 'nullable|string|max:1000'
];
}
}
@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests\Ticket;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class AssignTicketRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'technicians' => 'required|array|min:1',
'leader_id' => 'required|integer',
];
}
}
@@ -0,0 +1,29 @@
<?php
namespace App\Http\Requests\Ticket;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class CancelTicketRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'reason' => 'required|string|max:2000'
];
}
}
@@ -0,0 +1,29 @@
<?php
namespace App\Http\Requests\Ticket;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class CloseTicketRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'notes' => 'nullable|string|max:2000'
];
}
}
@@ -0,0 +1,37 @@
<?php
namespace App\Http\Requests\Ticket;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class EscalateTicketRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'reason' => 'required|string|max:2000',
'level' => 'nullable|in:L1,L2,L3,NOC'
];
}
public function messages(): array
{
return [
'reason.required' => 'Alasan eskalasi wajib diisi'
];
}
}
@@ -0,0 +1,29 @@
<?php
namespace App\Http\Requests\Ticket;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class PendingTicketRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'reason' => 'required|string|max:1000'
];
}
}
@@ -0,0 +1,40 @@
<?php
namespace App\Http\Requests\Ticket;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class ReassignTicketRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'technicians' => 'required|array|min:1',
'technicians.*' => 'integer',
'leader_id' => 'required|integer'
];
}
public function messages(): array
{
return [
'technicians.required' => 'Daftar teknisi wajib diisi',
'technicians.array' => 'Format teknisi harus array',
'leader_id.required' => 'Leader teknisi wajib dipilih'
];
}
}
@@ -0,0 +1,29 @@
<?php
namespace App\Http\Requests\Ticket;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class RejectTicketRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'reason' => 'required|string|max:1000'
];
}
}
@@ -0,0 +1,29 @@
<?php
namespace App\Http\Requests\Ticket;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class ResolveTicketRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'notes' => 'required|string|max:2000'
];
}
}
@@ -0,0 +1,31 @@
<?php
namespace App\Http\Requests\Ticket;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class StartTicketRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'latitude' => 'nullable|numeric',
'longitude' => 'nullable|numeric',
'notes' => 'nullable|string|max:1000'
];
}
}