59 lines
1.9 KiB
PHP
59 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\api;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\BylawHighlight;
|
|
use App\Traits\BaseApiResponse;
|
|
use Illuminate\Http\Request;
|
|
|
|
class BylawHighlightController extends Controller
|
|
{
|
|
use BaseApiResponse;
|
|
|
|
public function create(Request $request)
|
|
{
|
|
$validated = $request->validate([
|
|
'bylaw_id' => 'required', // Clean request parameter
|
|
'start_index' => 'required|integer',
|
|
'end_index' => 'required|integer',
|
|
'selected_text' => 'nullable|string',
|
|
'color_code' => 'nullable|string',
|
|
]);
|
|
|
|
BylawHighlight::create([
|
|
'user_id' => auth()->id(),
|
|
'bylaw_document_id' => $validated['bylaw_id'], // Mapped to DB column
|
|
'start_index' => $validated['start_index'],
|
|
'end_index' => $validated['end_index'],
|
|
'selected_text' => $validated['selected_text'],
|
|
'color_code' => $validated['color_code'],
|
|
]);
|
|
|
|
return $this->success([], 'موفق', 'هایلایت با موفقیت اضافه شد');
|
|
}
|
|
|
|
public function update($id, Request $request)
|
|
{
|
|
$validated = $request->validate([
|
|
'start_index' => 'required|integer',
|
|
'end_index' => 'required|integer',
|
|
'selected_text' => 'nullable|string',
|
|
'color_code' => 'nullable|string',
|
|
]);
|
|
|
|
$highlight = BylawHighlight::where('user_id', auth()->id())->findOrFail($id);
|
|
$highlight->update($validated);
|
|
|
|
return $this->success([], 'بروزرسانی', 'هایلایت با موفقیت بروزرسانی شد');
|
|
}
|
|
|
|
public function destroy($id)
|
|
{
|
|
$highlight = BylawHighlight::where('user_id', auth()->id())->findOrFail($id);
|
|
$highlight->delete();
|
|
|
|
return $this->success([], 'حذف', 'هایلایت با موفقیت حذف شد');
|
|
}
|
|
}
|