Files
php_assessment_1/put_v1_api_image_edit.php
T

66 lines
1.4 KiB
PHP
Raw Normal View History

2025-02-04 23:06:08 +01:00
<?php
Flight::route('PUT /v1/api/image/edit/@id:[0-9]+', function($id)
{
$model = new ImagesModel();
$allow_fields = ['url', 'user_id', 'caption'];
$validation = new ValidationService();
$request = new Auth_common_function();
$validation->save_rules($model->get_all_edit_validation_rule());
$_POST = Flight::request()->data->getData();
$model_row = $model->get($id);
if (!$model_row)
{
echo json_encode([
'code' => 404,
'error' => false
]);
http_response_code(404);
exit;
}
if ($validation->validate($_POST))
{
$result = $model->edit([
'url' => $request->get_input_post('url'),
'user_id' => $request->get_input_post('user_id'),
'caption' => $request->get_input_post('caption'),
], $id);
if ($result)
{
echo json_encode([
'code' => 200,
'error' => false,
'id' => $id,
'message' => "Data has been updated"
]);
http_response_code(200);
exit;
}
else
{
echo json_encode([
'code' => 409,
'error' => false,
'id' => $id,
'message' => "Error!"
]);
http_response_code(409);
exit;
}
}
else
{
$message = $validation->get_errors();
$result['error'] = true;
$result['http_code'] = 403;
$result['message'] = $message;
echo json_encode($result);
http_response_code(403);
exit;
}
});