403Webshell
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/bitnami/apache/htdocs/app/app/Http/Services/FeedbackService.php
<?php

namespace App\Http\Services;

use App\Models\Feedback;
use App\Http\Services\EmailService;
use Queriplex;
use Illuminate\Validation\ValidationException;
use Auth;

class FeedbackService{

    public function __construct(
		EmailService $emailService
	)
	{
		$this->emailService = $emailService;
	}

    public function feedbackList(Array $request)
    {
        $feedbacks = Feedback::query();

        // // filter
        $feedbacks = Queriplex::make($feedbacks)
            ->withFilters($request, [
                'id' => 'id',
                'type_id' => 'type_id',
                'activity' => function($query, $value){
                    return $query->whereActivity($value);
                },
            ])->apply();

        // sort
        if( isset($request['sortBy']) ){

            $order_mode = (!isset($request['sortDesc']) || $request['sortDesc'] == true)  ? 'DESC' : 'ASC';
            
            switch ($request['sortBy']) {
                case 'created_at':
                    $feedbacks->orderBy('id', $order_mode);
                    break;
            }
        }

        $result = $feedbacks->paginate($request['itemsPerPage'] ?? null);

        $result->load('user:id,full_name');
        
        return $result;
    }

    public function feedbackCreate(Array $request, $user)
    {
        $feedback = new Feedback;

        $feedback->type_id = $request['type_id'];
        $feedback->content = $request['content'];
        $feedback->user_id = $request['user_id'];
        $feedback->save();

		$this->emailService->send_feedback_alert($user, Feedback::TYPES[$feedback->type_id], $feedback->content);

        return $feedback;
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit