Add CAPI call to add a new battery. #201
This commit is contained in:
parent
62f97a00a4
commit
620a750465
3 changed files with 85 additions and 0 deletions
|
|
@ -75,6 +75,17 @@ class TestCommand extends Command
|
||||||
];
|
];
|
||||||
$api->post('/capi/warranties/' . $id . '/claim', $params);
|
$api->post('/capi/warranties/' . $id . '/claim', $params);
|
||||||
|
|
||||||
|
// add battery
|
||||||
|
$sku = 'WZMB31QT-CPP00-S';
|
||||||
|
$brand = '4';
|
||||||
|
$size = '1';
|
||||||
|
$params = [
|
||||||
|
'sku' => $sku,
|
||||||
|
'brand' => $brand,
|
||||||
|
'size' => $size,
|
||||||
|
];
|
||||||
|
$api->post('/capi/batteries', $params);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
// plate warranty
|
// plate warranty
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,12 @@ capi_battery_sizes:
|
||||||
controller: App\Controller\CAPI\BatteryController::getSizes
|
controller: App\Controller\CAPI\BatteryController::getSizes
|
||||||
methods: [GET]
|
methods: [GET]
|
||||||
|
|
||||||
|
# add battery
|
||||||
|
capi_battery_add:
|
||||||
|
path: /capi/batteries
|
||||||
|
controller: App\Controller\CAPI\BatteryController::addBattery
|
||||||
|
methods: [POST]
|
||||||
|
|
||||||
|
|
||||||
# vehicle api
|
# vehicle api
|
||||||
|
|
||||||
|
|
@ -75,4 +75,72 @@ class BatteryController extends APIController
|
||||||
|
|
||||||
return new APIResponse(true, 'Battery sizes loaded.', $data);
|
return new APIResponse(true, 'Battery sizes loaded.', $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function addBattery(Request $req, EntityManagerInterface $em)
|
||||||
|
{
|
||||||
|
// required parameters
|
||||||
|
$params = [
|
||||||
|
'sku',
|
||||||
|
'brand',
|
||||||
|
'size',
|
||||||
|
];
|
||||||
|
|
||||||
|
$msg = $this->checkRequiredParameters($req, $params);
|
||||||
|
error_log('msg - ' . $msg);
|
||||||
|
if ($msg)
|
||||||
|
return new APIResponse(false, $msg);
|
||||||
|
|
||||||
|
$sku = $req->request->get('sku');
|
||||||
|
$brand = $req->request->get('brand');
|
||||||
|
$size = $req->request->get('size');
|
||||||
|
|
||||||
|
// check if sku already exists
|
||||||
|
$batt = $em->getRepository(SAPBattery::class)->find($sku);
|
||||||
|
if ($batt != null)
|
||||||
|
return new APIResponse(false, 'Battery SKU already exists.');
|
||||||
|
|
||||||
|
// check if brand exists
|
||||||
|
$batt_brand = $em->getRepository(SAPBatteryBrand::class)->find($brand);
|
||||||
|
if ($batt_brand == null)
|
||||||
|
return new APIResponse(false, 'Invalid brand.');
|
||||||
|
|
||||||
|
// check if size exists
|
||||||
|
$batt_size = $em->getRepository(SAPBatterySize::class)->find($size);
|
||||||
|
if ($batt_size == null)
|
||||||
|
return new APIResponse(false, 'Invalid size.');
|
||||||
|
|
||||||
|
|
||||||
|
$new_batt = new SAPBattery();
|
||||||
|
$new_batt->setID($sku)
|
||||||
|
->setBrand($batt_brand)
|
||||||
|
->setSize($batt_size);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
$em->persist($new_batt);
|
||||||
|
$em->flush();
|
||||||
|
}
|
||||||
|
catch (UniqueConstraintViolationException $e)
|
||||||
|
{
|
||||||
|
return new APIResponse(false, 'Battery SKU already exists.');
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the new battery data
|
||||||
|
$data = [
|
||||||
|
'battery' => $this->generateBatteryData($new_batt),
|
||||||
|
];
|
||||||
|
|
||||||
|
return new APIResponse(true, 'Battery added.', $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function generateBatteryData(SAPBattery $batt)
|
||||||
|
{
|
||||||
|
$data = [
|
||||||
|
'sku' => $batt->getID(),
|
||||||
|
'brand' => $batt->getBrand()->getID(),
|
||||||
|
'size' => $batt->getSize()->getID(),
|
||||||
|
];
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue