94 lines
3.1 KiB
PHP
94 lines
3.1 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace App\Enums\Legacy;
|
||
|
|
|
||
|
|
use Kwaadpepper\Enum\BaseEnumRoutable;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* This describes an API error.
|
||
|
|
*
|
||
|
|
* @method static self modelNotFound()
|
||
|
|
* The request model was not found (typically the customer)
|
||
|
|
*
|
||
|
|
* @method static self validationFailed()
|
||
|
|
* This means some data could not be validated,
|
||
|
|
* you may have to look into message to get the details
|
||
|
|
*
|
||
|
|
* @method static self apiAuthFailed()
|
||
|
|
* The authentification to the api failed. You may have to
|
||
|
|
* check into config or .env file for your service credentials
|
||
|
|
*
|
||
|
|
* @method static self authFailed()
|
||
|
|
* The authentification for this customer failed because of wrong credentials
|
||
|
|
*
|
||
|
|
* @method static self methodNotAllowed()
|
||
|
|
* This http method is not allowed
|
||
|
|
*
|
||
|
|
* @method static self wrongTimeStamp()
|
||
|
|
* The timestamp given is wrong. This would happen in case if
|
||
|
|
* a replay attack scenario. Timestamps are provided in headers
|
||
|
|
* and in the http body
|
||
|
|
*
|
||
|
|
* @method static self missingParameter()
|
||
|
|
* The request is missing some parameters
|
||
|
|
*
|
||
|
|
* @method static self throttleRequestsException()
|
||
|
|
* Too many requests have been attempted. The is a throttle security.
|
||
|
|
* Normally you should not trigger this.
|
||
|
|
* If this happens fill a ticket on https://supportweb.ldc.fr
|
||
|
|
* with some technical details
|
||
|
|
*
|
||
|
|
* @method static self authorizationException()
|
||
|
|
* You are maybe trying to access data that is out of your range.
|
||
|
|
* This should not happen normally, it is here to allow you to handle this case.
|
||
|
|
* If this happens fill a ticket on https://supportweb.ldc.fr
|
||
|
|
* with some technical details
|
||
|
|
*
|
||
|
|
* @package DAMclient
|
||
|
|
* @subpackage enums
|
||
|
|
*
|
||
|
|
* TODO: pass this as php8 enum, when support of 7 will be dropped.
|
||
|
|
*/
|
||
|
|
class ApiError extends BaseEnumRoutable
|
||
|
|
{
|
||
|
|
/**
|
||
|
|
* Valeurs des possibilités de cet énumération (value)
|
||
|
|
*
|
||
|
|
* @return array
|
||
|
|
*/
|
||
|
|
public static function values(): array
|
||
|
|
{
|
||
|
|
return [
|
||
|
|
'modelNotFound' => 101,
|
||
|
|
'validationFailed' => 102,
|
||
|
|
'authFailed' => 117,
|
||
|
|
'apiAuthFailed' => 119,
|
||
|
|
'methodNotAllowed' => 150,
|
||
|
|
'wrongTimeStamp' => 151,
|
||
|
|
'missingParameter' => 400,
|
||
|
|
'authorizationException' => 403,
|
||
|
|
'throttleRequestsException' => 429
|
||
|
|
];
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Libellés des possibilités de cet énumération (label)
|
||
|
|
*
|
||
|
|
* @return array
|
||
|
|
*/
|
||
|
|
public static function labels(): array
|
||
|
|
{
|
||
|
|
return [
|
||
|
|
'modelNotFound' => '%s introuvable.',
|
||
|
|
'validationFailed' => 'Impossible de valider les données',
|
||
|
|
'authFailed' => 'Echec de l\'authentification du compte',
|
||
|
|
'apiAuthFailed' => 'Echec de l\'authentification client à l\'Api DAM',
|
||
|
|
'methodNotAllowed' => 'This method is not allowed for this request',
|
||
|
|
'wrongTimeStamp' => 'Your request is malformed, please check timestamp header and parameter',
|
||
|
|
'missingParameter' => 'The request is missing some parameters',
|
||
|
|
'authorizationException' => 'You are not autorized to access this',
|
||
|
|
'throttleRequestsException' => 'Throttle: too many request have been attempted, please retry later'
|
||
|
|
];
|
||
|
|
}
|
||
|
|
}
|