Add delete method to WarrantyController. #250

This commit is contained in:
Korina Cordero 2019-08-16 03:01:25 +00:00
parent 2f8eab2236
commit cf89311e17
4 changed files with 30 additions and 1 deletions

View file

@ -80,6 +80,10 @@ class TestAPICommand extends Command
// plate warranty
$api->get('/capi/plates/' . $plate_num . '/warranties');
// warranty delete
$id = 86811;
$api->post('/capi/warranties/' . $id . '/delete');
// battery
$api->get('/capi/battery_brands');
$api->get('/capi/battery_sizes');

View file

@ -14,6 +14,8 @@ access_keys:
label: Claim
- id: warranty.cancel
label: Cancel
- id: warranty.delete
label: Delete
- id: batterybrand
label: Battery Brand Access
acls:

View file

@ -90,6 +90,12 @@ capi_warranty_cancel:
controller: App\Controller\CAPI\WarrantyController::cancel
methods: [GET]
# delete warranty
capi_warranty_delete:
path: /capi/warranties/{id}/delete
controller: App\Controller\CAPI\WarrantyController::delete
methods: [POST]
# customer vehicle api

View file

@ -339,6 +339,23 @@ class WarrantyController extends APIController
$em->flush();
return new APIResponse(true, 'Warranty cancelled successfully.');
}
public function delete(EntityManagerInterface $em, $id)
{
$this->denyAccessUnlessGranted('warranty.delete', null, 'No access.');
// find warranty
$warr = $em->getRepository(Warranty::class)->find($id);
if ($warr == null)
{
return new APIResponse(false, 'No warranty found with that id.', null, 404);
}
// delete the warranty
$em->remove($warr);
$em->flush();
return new APIResponse(true, 'Warranty deleted successfully.');
}
}