1. Go to this page and download the library: Download powersystem/cakeapigateway library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
powersystem / cakeapigateway example snippets
throw new UnprocessableEntityException([
'message' => 'Error de validación!',
'errors' => $entity->getErrors()
])
$errors = [
'email' => [
'_empty' => 'This field cannot be left empty',
'email' => 'This field must be a valid email address'
]
];
pr($this->formatErrors($errors));
//resultado:
[
'email' => [
[
'code' => 'Empty',
'message' => 'This field cannot be left empty'
],
[
'code' => 'Email',
'message' => 'This field must be a valid email address'
],
]
]
//dentro de la Table
$entity = $this->get($id);
$mapped_entity = $this->getFlattenedEntity(['id' => $id]);
public function setPaymentNotification($flattened_data, $api_user_id)
{
//obtiene un error map custom1
$error_map = $this->getFlattenedFieldsMap('errors');
//llama al método setFlattenedEntity
return $this->setFlattenedEntity(function() use ($flattened_data, $api_user_id){
/* encierra el proceso en una transacción para poder guardar en varias tablas y
si alguna falla, revertir todos los cambios.
*/
return $this->getConnection()->transactional(
function ($connection) use ($flattened_data, $api_user_id){
//mapeamos con set
$fields_map = $this->getFlattenedFieldsMap('set');
$data = $this->mapFlattenedFields($flattened_data, $fields_map,
function($field, $payment_notification){
return Hash::get($payment_notification, $field);
});
//creamos entidad
$payment_notification = $this->newEntity($data, [
'associated' => ['FunctionalUnits']
]);
/* acá también se podrían guardar datos en otras tablas,
por ejemplo tablas asociadas a esta entidad.
*/
//setteamos algunos campos manualmente
$payment_notification->api_user_id = $api_user_id;
/* finalmente usamos saveOrFail en todas nuestras operaciones para que
el catch ataje las excepciones si el guardado falla.
*/
return $this->saveOrFail($payment_notification, [
'associated' => ['FunctionalUnits']
]);
});
}, $error_map);
}
'ApiGatewaySDK' => [
/*
Esto es para que las peticiones requieren el api_id que agrega APIGateway a las requests.
Al setearlo como requerido, las peticiones que no vengan a través de APIGateway no serán aceptadas.
*/
'api_id' => 'rlrr9c1dk8',
'
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.