Initial commit
This commit is contained in:
312
app/Http/Controllers/LogbookKeysController.php
Executable file
312
app/Http/Controllers/LogbookKeysController.php
Executable file
@ -0,0 +1,312 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Validator;
|
||||
use App\Responses;
|
||||
use App\Helper;
|
||||
use App\Models\LogbookTypes;
|
||||
use App\Models\LogbookKeys;
|
||||
use App\Models\DataTypes;
|
||||
|
||||
class LogbookKeysController extends Controller
|
||||
{
|
||||
/**
|
||||
* View
|
||||
*/
|
||||
|
||||
public function view_lgb_keys(Request $req)
|
||||
{
|
||||
$data = [
|
||||
'types' => LogbookTypes::listLgbTypes(['is_active' => LogbookTypes::IS_ACTIVE]),
|
||||
'dtypes' => DataTypes::listDataTypes(['is_active' => DataTypes::IS_ACTIVE]),
|
||||
];
|
||||
|
||||
return view('menu_v1.logbook_keys', $data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* API
|
||||
*/
|
||||
|
||||
public function api_list_lgb_keys(Request $req)
|
||||
{
|
||||
try {
|
||||
$now = time();
|
||||
$input = [
|
||||
'cptid' => $req->cptid,
|
||||
'is_active' => $req->is_active,
|
||||
];
|
||||
$rulesInput = [
|
||||
'cptid' => 'nullable|numeric',
|
||||
'is_active' => 'nullable|numeric',
|
||||
];
|
||||
|
||||
// validasi input
|
||||
$isValidInput = Validator::make($input, $rulesInput);
|
||||
if (!$isValidInput->passes()) {
|
||||
$apiResp = Responses::bad_input($isValidInput->messages()->first());
|
||||
return new Response($apiResp, $apiResp['meta']['code']);
|
||||
}
|
||||
$filter = [];
|
||||
if ($input['cptid'] != null && $input['cptid'] != 0) {
|
||||
$filter['cptid'] = $input['cptid'];
|
||||
}
|
||||
if ($input['is_active'] != null && $input['is_active'] != 0) {
|
||||
$filter['is_active'] = $input['is_active'];
|
||||
}
|
||||
|
||||
$list = LogbookKeys::listLgbKeys($filter);
|
||||
foreach ($list as $key => $row) {
|
||||
$list[$key]->DT_RowIndex = $key + 1;
|
||||
$list[$key]->action = '-';
|
||||
}
|
||||
|
||||
$apiResp = Responses::success('success list lgb_keys');
|
||||
$apiResp['count'] = count($list);
|
||||
$apiResp['data'] = $list;
|
||||
return (new Response($apiResp, $apiResp['meta']['code']));
|
||||
} catch (\Exception $e) {
|
||||
$apiResp = Responses::error($e->getMessage());
|
||||
return (new Response($apiResp, $apiResp['meta']['code']));
|
||||
}
|
||||
}
|
||||
|
||||
public function api_show_lgb_key(Request $req, $lgb_key_id)
|
||||
{
|
||||
try {
|
||||
$now = time();
|
||||
|
||||
$input = [
|
||||
'lgb_key_id' => $lgb_key_id,
|
||||
];
|
||||
$rulesInput = [
|
||||
'lgb_key_id' => 'required|integer|not_in:0',
|
||||
];
|
||||
|
||||
// validasi input
|
||||
$isValidInput = Validator::make($input, $rulesInput);
|
||||
if (!$isValidInput->passes()) {
|
||||
$apiResp = Responses::bad_input($isValidInput->messages()->first());
|
||||
return new Response($apiResp, $apiResp['meta']['code']);
|
||||
}
|
||||
|
||||
$lgb_key = LogbookKeys::showLgbKey(['lgb_key_id' => $lgb_key_id]);
|
||||
if (count($lgb_key) < 1) {
|
||||
$apiResp = Responses::not_found('logbook master not found');
|
||||
return (new Response($apiResp, $apiResp['meta']['code']));
|
||||
}
|
||||
|
||||
$apiResp = Responses::success('success get detail logbook master');
|
||||
$apiResp['data'] = $lgb_key[0];
|
||||
return (new Response($apiResp, $apiResp['meta']['code']));
|
||||
} catch (\Exception $e) {
|
||||
$apiResp = Responses::error($e->getMessage());
|
||||
return (new Response($apiResp, $apiResp['meta']['code']));
|
||||
}
|
||||
}
|
||||
|
||||
public function api_add_lgb_key(Request $req)
|
||||
{
|
||||
try {
|
||||
$now = time();
|
||||
|
||||
$input = [
|
||||
'name' => $req->add_name,
|
||||
'type' => $req->add_type,
|
||||
'keys' => $req->add_keys,
|
||||
'units' => $req->add_units,
|
||||
'dtypes' => $req->add_dtypes,
|
||||
'status' => $req->status,
|
||||
];
|
||||
$rulesInput = [
|
||||
'name' => 'required|string|max:255',
|
||||
'type' => 'required|numeric|min:0',
|
||||
'keys' => 'required|array',
|
||||
'units' => 'required|array',
|
||||
'dtypes' => 'required|array',
|
||||
'status' => 'required|numeric|min:0',
|
||||
];
|
||||
|
||||
// validasi input
|
||||
$isValidInput = Validator::make($input, $rulesInput);
|
||||
if (!$isValidInput->passes()) {
|
||||
$apiResp = Responses::bad_input($isValidInput->messages()->first());
|
||||
return new Response($apiResp, $apiResp['meta']['code']);
|
||||
}
|
||||
|
||||
DB::beginTransaction();
|
||||
|
||||
$insLgbKey = [
|
||||
'name' => $input['name'],
|
||||
'type' => $input['type'],
|
||||
'keys' => json_encode($input['keys']),
|
||||
'units' => json_encode($input['units']),
|
||||
'dtypes' => json_encode($input['dtypes']),
|
||||
'is_active' => $input['status'],
|
||||
'crt' => $now,
|
||||
'crt_by' => $req->auth->uid,
|
||||
'updt' => $now,
|
||||
'updt_by' => $req->auth->uid,
|
||||
];
|
||||
$lgb_key_id = LogbookKeys::addLgbKey($insLgbKey);
|
||||
|
||||
$apiResp = Responses::created('success add new logbook master');
|
||||
|
||||
DB::commit();
|
||||
return (new Response($apiResp, $apiResp['meta']['code']));
|
||||
} catch (\Exception $e) {
|
||||
DB::rollBack();
|
||||
$apiResp = Responses::error($e->getMessage());
|
||||
return (new Response($apiResp, $apiResp['meta']['code']));
|
||||
}
|
||||
}
|
||||
|
||||
public function api_edit_lgb_key(Request $req, $lgb_key_id)
|
||||
{
|
||||
try {
|
||||
$now = time();
|
||||
|
||||
$input = [
|
||||
'lgb_key_id' => $lgb_key_id,
|
||||
'name' => $req->updt_name,
|
||||
'type' => $req->updt_type,
|
||||
'keys' => $req->updt_keys,
|
||||
'units' => $req->updt_units,
|
||||
'dtypes' => $req->updt_dtypes,
|
||||
'status' => $req->status,
|
||||
];
|
||||
$rulesInput = [
|
||||
'lgb_key_id' => 'required|integer|not_in:0',
|
||||
'name' => 'required|string|max:255',
|
||||
'type' => 'required|numeric|min:0',
|
||||
'keys' => 'required|array',
|
||||
'units' => 'required|array',
|
||||
'dtypes' => 'required|array',
|
||||
'status' => 'required|numeric|min:0',
|
||||
];
|
||||
|
||||
// validasi input
|
||||
$isValidInput = Validator::make($input, $rulesInput);
|
||||
if (!$isValidInput->passes()) {
|
||||
$apiResp = Responses::bad_input($isValidInput->messages()->first());
|
||||
return new Response($apiResp, $apiResp['meta']['code']);
|
||||
}
|
||||
|
||||
$lgb_key = LogbookKeys::showLgbKey(['lgb_key_id' => $lgb_key_id]);
|
||||
if (count($lgb_key) < 1) {
|
||||
$apiResp = Responses::not_found('logbook master not found');
|
||||
return (new Response($apiResp, $apiResp['meta']['code']));
|
||||
}
|
||||
|
||||
DB::beginTransaction();
|
||||
|
||||
$updtPocket = [
|
||||
'name' => $input['name'],
|
||||
'type' => $input['type'],
|
||||
'keys' => json_encode($input['keys']),
|
||||
'units' => json_encode($input['units']),
|
||||
'dtypes' => json_encode($input['dtypes']),
|
||||
'is_active' => $input['status'],
|
||||
'updt' => $now,
|
||||
'updt_by' => $req->auth->uid,
|
||||
];
|
||||
LogbookKeys::updateLgbKey($input['lgb_key_id'], $updtPocket);
|
||||
|
||||
$apiResp = Responses::created('success update logbook master');
|
||||
|
||||
DB::commit();
|
||||
return (new Response($apiResp, $apiResp['meta']['code']));
|
||||
} catch (\Exception $e) {
|
||||
DB::rollBack();
|
||||
$apiResp = Responses::error($e->getMessage());
|
||||
return (new Response($apiResp, $apiResp['meta']['code']));
|
||||
}
|
||||
}
|
||||
|
||||
public function api_del_lgb_key(Request $req, $lgb_key_id)
|
||||
{
|
||||
try {
|
||||
$now = time();
|
||||
|
||||
$input = [
|
||||
'lgb_key_id' => $lgb_key_id,
|
||||
];
|
||||
$rulesInput = [
|
||||
'lgb_key_id' => 'required|integer|not_in:0',
|
||||
];
|
||||
|
||||
// validasi input
|
||||
$isValidInput = Validator::make($input, $rulesInput);
|
||||
if (!$isValidInput->passes()) {
|
||||
$apiResp = Responses::bad_input($isValidInput->messages()->first());
|
||||
return new Response($apiResp, $apiResp['meta']['code']);
|
||||
}
|
||||
|
||||
$lgb_key = LogbookKeys::showLgbKey(['lgb_key_id' => $lgb_key_id]);
|
||||
if (count($lgb_key) < 1) {
|
||||
$apiResp = Responses::not_found('logbook master not found');
|
||||
return (new Response($apiResp, $apiResp['meta']['code']));
|
||||
}
|
||||
|
||||
DB::beginTransaction();
|
||||
|
||||
LogbookKeys::updateLgbKey($lgb_key_id, [
|
||||
'dlt' => $now,
|
||||
'dlt_by' => $req->auth->uid,
|
||||
]);
|
||||
|
||||
DB::commit();
|
||||
|
||||
$apiResp = Responses::success('success delete logbook master');
|
||||
return (new Response($apiResp, $apiResp['meta']['code']));
|
||||
} catch (\Exception $e) {
|
||||
DB::rollBack();
|
||||
$apiResp = Responses::error($e->getMessage());
|
||||
return (new Response($apiResp, $apiResp['meta']['code']));
|
||||
}
|
||||
}
|
||||
|
||||
public function api_selection_lgb_keys(Request $req)
|
||||
{
|
||||
try {
|
||||
$now = time();
|
||||
$input = [
|
||||
'is_active' => $req->is_active,
|
||||
];
|
||||
$rulesInput = [
|
||||
'is_active' => 'nullable|numeric',
|
||||
];
|
||||
|
||||
// validasi input
|
||||
$isValidInput = Validator::make($input, $rulesInput);
|
||||
if (!$isValidInput->passes()) {
|
||||
$apiResp = Responses::bad_input($isValidInput->messages()->first());
|
||||
return new Response($apiResp, $apiResp['meta']['code']);
|
||||
}
|
||||
$filter = [];
|
||||
if ($input['is_active'] != null && $input['is_active'] != 0) {
|
||||
$filter['is_active'] = $input['is_active'];
|
||||
}
|
||||
|
||||
$list = LogbookKeys::listLgbKeys($filter);
|
||||
foreach ($list as $key => $row) {
|
||||
$list[$key]->DT_RowIndex = $key + 1;
|
||||
$list[$key]->action = '-';
|
||||
}
|
||||
|
||||
$apiResp = Responses::success('success list logbook master');
|
||||
$apiResp['count'] = count($list);
|
||||
$apiResp['data'] = $list;
|
||||
return (new Response($apiResp, $apiResp['meta']['code']));
|
||||
} catch (\Exception $e) {
|
||||
$apiResp = Responses::error($e->getMessage());
|
||||
return (new Response($apiResp, $apiResp['meta']['code']));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user