55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
declare(strict_types=1);
 | 
						|
 | 
						|
namespace App\Services;
 | 
						|
 | 
						|
use App\ServiceResults\ServiceResultArray;
 | 
						|
use App\ServiceResults\ServiceResultError;
 | 
						|
 | 
						|
abstract class Service
 | 
						|
{
 | 
						|
    final protected function errValidate(string $message, array $errors = []): ServiceResultError
 | 
						|
    {
 | 
						|
        return $this->error(422, $message, $errors);
 | 
						|
    }
 | 
						|
 | 
						|
    final protected function errFobidden(string $message): ServiceResultError
 | 
						|
    {
 | 
						|
        return $this->error(403, $message);
 | 
						|
    }
 | 
						|
 | 
						|
    final protected function errNotFound(string $message): ServiceResultError
 | 
						|
    {
 | 
						|
        return $this->error(404, $message);
 | 
						|
    }
 | 
						|
 | 
						|
    final protected function errService(string $message): ServiceResultError
 | 
						|
    {
 | 
						|
        return $this->error(500, $message);
 | 
						|
    }
 | 
						|
 | 
						|
    final protected function notAcceptable(string $message): ServiceResultError
 | 
						|
    {
 | 
						|
        return $this->error(406, $message);
 | 
						|
    }
 | 
						|
 | 
						|
    final protected function ok(string $message = 'OK'): ServiceResultArray
 | 
						|
    {
 | 
						|
        return $this->result(['message' => $message]);
 | 
						|
    }
 | 
						|
 | 
						|
    final protected function result(array $data = []): ServiceResultArray
 | 
						|
    {
 | 
						|
        return new ServiceResultArray(data: $data);
 | 
						|
    }
 | 
						|
 | 
						|
    final protected function error(int $code, string $message, array $errors = []): ServiceResultError
 | 
						|
    {
 | 
						|
        return new ServiceResultError(
 | 
						|
            message: $message,
 | 
						|
            errors: $errors,
 | 
						|
            code: $code
 | 
						|
        );
 | 
						|
    }
 | 
						|
}
 |