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\LegalOpinionHighlight;
|
|
use App\Traits\BaseApiResponse;
|
|
use Illuminate\Http\Request;
|
|
|
|
class LegalOpinionHighlightController extends Controller
|
|
{
|
|
use BaseApiResponse;
|
|
|
|
public function create(Request $request)
|
|
{
|
|
$validated = $request->validate([
|
|
'opinion_id' => 'required',
|
|
'start_index' => 'required|integer',
|
|
'end_index' => 'required|integer',
|
|
'selected_text' => 'nullable|string',
|
|
'color_code' => 'nullable|string',
|
|
]);
|
|
|
|
LegalOpinionHighlight::create([
|
|
'user_id' => auth()->id(),
|
|
'legal_opinion_id' => $validated['opinion_id'],
|
|
'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 = LegalOpinionHighlight::where('user_id', auth()->id())->findOrFail($id);
|
|
$highlight->update($validated);
|
|
|
|
return $this->success([], 'بروزرسانی', 'هایلایت با موفقیت بروزرسانی شد');
|
|
}
|
|
|
|
public function destroy($id)
|
|
{
|
|
$highlight = LegalOpinionHighlight::where('user_id', auth()->id())->findOrFail($id);
|
|
$highlight->delete();
|
|
|
|
return $this->success([], 'حذف', 'هایلایت با موفقیت حذف شد');
|
|
}
|
|
}
|