| Server IP : 34.87.99.72 / Your IP : 216.73.217.31 Web Server : Apache/2.4.46 (Unix) OpenSSL/1.1.1n System : Linux zlock-bitnami-lamp-prod-v2-vm 4.19.0-16-cloud-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 User : bitnami ( 1000) PHP Version : 7.4.18 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /opt/bitnami/apache/htdocs/app/app/Http/Services/ |
Upload File : |
<?php
namespace App\Http\Services;
use App\Models\Supportive;
use Queriplex;
use Illuminate\Validation\ValidationException;
class SupportiveService{
public function supportiveList(Array $request)
{
$supportives = Supportive::query();
// // filter
$supportives = Queriplex::make($supportives)
->withFilters($request, [
'id' => 'id',
'type_id' => 'type_id',
'activity' => function($query, $value){
return $query->whereActivity($value);
},
])->apply();
$result = $supportives->orderBy('seq','DESC')->get();
return $result;
}
public function supportiveCreate(Array $request)
{
$supportive = new Supportive;
$supportive->title = $request['title'];
$supportive->type_id = $request['type_id'];
$supportive->content = $request['content'];
$supportive->save();
return $supportive;
}
public function supportiveUpdateOrCreate(Array $request)
{
$supportive = Supportive::updateOrCreate([
'id' => $request['id'],
'type_id' => $request['type_id'],
],[
'title' => $request['title'] ?? Supportive::TYPES[$request['type_id']],
'content' => $request['content'],
'type_id' => $request['type_id'],
]);
return $supportive;
}
public function supportiveUpdate(Array $request)
{
$supportive = Supportive::where('id',$request['id'])
->withTrashed()
->firstOr( function(){
throw ValidationException::withMessages(
[ "id" => "The selected id is invalid." ]
);
});
$supportive->type_id = $request['type_id'];
$supportive->title = $request['title'] ?? $supportive->title;
$supportive->content = $request['content'];
$supportive->save();
return $supportive;
}
public function supportiveDelete(Array $request)
{
$supportive = Supportive::where('id',$request['id'])
->withTrashed()
->firstOr( function(){
throw ValidationException::withMessages(
[ "id" => "The selected id is invalid." ]
);
});
$supportive->restoreOrDelete();
return $supportive;
}
}