Add versionCheck API call. #392

This commit is contained in:
Korina Cordero 2020-04-30 05:38:41 +00:00
parent 4d7455a058
commit b3b46bca7b
5 changed files with 55 additions and 0 deletions

View file

@ -71,3 +71,6 @@ API_LOGGING=set_to_true_or_false
CUST_DISTANCE_LIMIT=set_to_number
MAPTILER_API_KEY=map_tiler_api_key
# API version
API_VERSION=insert_api_version_here

View file

@ -12,6 +12,7 @@ parameters:
app_access_key: 'access_keys'
cvu_brand_id: "%env(CVU_BRAND_ID)%"
country_code: "%env(COUNTRY_CODE)%"
api_version: "%env(API_VERSION)%"
services:
# default configuration for services in *this* file

View file

@ -159,3 +159,8 @@ api_new_jo_request:
path: /api/new_job_order
controller: App\Controller\APIController::newRequestJobOrder
methods: [POST]
api_version_check:
path: /api/version_check
controller: App\Controller\APIController::versionCheck
methods: [GET]

View file

@ -12,6 +12,7 @@ parameters:
app_access_key: 'access_keys'
cvu_brand_id: "%env(CVU_BRAND_ID)%"
country_code: "%env(COUNTRY_CODE)%"
api_version: "%env(API_VERSION)%"
services:
# default configuration for services in *this* file

View file

@ -2642,6 +2642,51 @@ class APIController extends Controller implements LoggedController
return $res->getReturnResponse();
}
public function versionCheck(Request $req)
{
$res = new APIResult();
$required_params = [
'version',
];
$missing = $this->checkMissingParameters($req, $required_params);
if (count($missing) > 0)
{
$params = implode(', ', $missing);
$res->setError(true)
->setErrorMessage('Missing parameter(s): ' . $params);
return $res->getReturnResponse();
}
$need_update = false;
$api_version = $this->getParameter('api_version');
$app_version = $req->query->get('version');
$api_v = explode('.', $api_version);
$app_v = explode('.', $app_version);
if ($api_v[0] < $app_v[0])
{
$res->setError(true)
->setErrorMessage('Invalid application version: ' . $app_version);
return $res->getReturnResponse();
}
if ($api_v[0] > $app_v[0])
$need_update = true;
$data = [
'need_update' => $need_update,
];
$res->setData($data);
return $res->getReturnResponse();
}
protected function findCustomerByNumber($number)
{
$em = $this->getDoctrine()->getManager();