diff --git a/app/Config/Filters.php b/app/Config/Filters.php index 7752f4c..fb757f0 100644 --- a/app/Config/Filters.php +++ b/app/Config/Filters.php @@ -74,7 +74,7 @@ class Filters extends BaseFilters */ public array $globals = [ 'before' => [ - 'cors', + // 'cors', 'auth' => [ 'except' => [ 'auth/*', 'lqms/*', 'key/*', 'api/*' ]] diff --git a/app/Config/Routes.php b/app/Config/Routes.php index e25dfc8..4d33d21 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -256,10 +256,9 @@ $routes->group('', ['filter' => 'cors'], function($routes) { }); // REST API -$routes->get('/api/provinces', 'Api\ZonesApi::getProvinces'); -$routes->get('/api/cities', 'Api\ZonesApi::getCities'); -// $routes->get('/api/zones', 'Api::ZonesApi/'); -// $routes->get('/api/getProductList', 'Api::getProductList'); +$routes->get('/api/zones', 'Api\ZonesApi::getAll'); +// $routes->get('/api/provinces', 'Api\ZonesApi::getProvinces'); +// $routes->get('/api/cities', 'Api\ZonesApi::getCities'); $routes->get('/api/getProductAlias', 'Api::getProductAlias'); $routes->get('/api/getProductSites', 'Api::getProductSites'); diff --git a/app/Controllers/Api/ZonesApi.php b/app/Controllers/Api/ZonesApi.php index 297fd62..a71eb1f 100644 --- a/app/Controllers/Api/ZonesApi.php +++ b/app/Controllers/Api/ZonesApi.php @@ -14,27 +14,34 @@ class ZonesApi extends BaseController { $this->model = new ZonesModel(); } - public function getProvinces() { - // $filters = [ - // 'zoneid' => $this->request->getVar('zoneid') ?? null, - // 'zonename' => $this->request->getVar('zonename') ?? null - // ]; + public function getAll() { + $rows = $this->model->getAll(); - $rows = $this->model->getAllProvinces(); - if (empty($rows)) { return $this->respond([ 'status' => 'success', 'message' => "data not found", 'data' => [] ], 200); } - return $this->respond([ 'status' => 'success', 'message'=> "Data fetched successfully", 'data' => $rows ], 200); + return $this->respond([ 'status' => 'success', 'message'=> "Data fetched successfully", 'data' => $rows ], 200); } - public function getCities() { + // public function getProvinces() { + // // $filters = [ + // // 'zoneid' => $this->request->getVar('zoneid') ?? null, + // // 'zonename' => $this->request->getVar('zonename') ?? null + // // ]; - $filter = [ - 'zoneid' => $this->request->getVar('zoneid') ?? null - ]; - - $rows = $this->model->getAllCities($filter); + // $rows = $this->model->getAllProvinces(); - if (empty($rows)) { return $this->respond([ 'status' => 'success', 'message' => "data not found", 'data' => [] ], 200); } - return $this->respond([ 'status' => 'success', 'message'=> "Data fetched successfully", 'data' => $rows ], 200); - } + // if (empty($rows)) { return $this->respond([ 'status' => 'success', 'message' => "data not found", 'data' => [] ], 200); } + // return $this->respond([ 'status' => 'success', 'message'=> "Data fetched successfully", 'data' => $rows ], 200); + // } + + // public function getCities() { + + // $filter = [ + // 'zoneid' => $this->request->getVar('zoneid') ?? null + // ]; + + // $rows = $this->model->getAllCities($filter); + + // if (empty($rows)) { return $this->respond([ 'status' => 'success', 'message' => "data not found", 'data' => [] ], 200); } + // return $this->respond([ 'status' => 'success', 'message'=> "Data fetched successfully", 'data' => $rows ], 200); + // } } \ No newline at end of file diff --git a/app/Filters/Cors.php b/app/Filters/Cors.php index 6ed0c7b..7104441 100644 --- a/app/Filters/Cors.php +++ b/app/Filters/Cors.php @@ -6,46 +6,48 @@ use CodeIgniter\Filters\FilterInterface; class Cors implements FilterInterface { - protected $allowedOrigins = [ - 'http://localhost:5173', - 'https://clqms01.services-summit.my.id', - ]; + // CORS BARU + // protected $allowedOrigins = [ + // 'http://localhost:5173', + // 'https://clqms01.services-summit.my.id', + // ]; public function before(RequestInterface $request, $arguments = null) { - // header('Access-Control-Allow-Origin: *'); - // header('Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE'); - // header('Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With, X-CSRF-TOKEN'); - + // CORS LAMA + header('Access-Control-Allow-Origin: *'); + header('Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE'); + header('Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With, X-CSRF-TOKEN'); // Handle preflight requests // if ($request->getMethod() === 'options') { // header('HTTP/1.1 200 OK'); // exit(); // } + // CORS BARU // log_message('debug', 'Cors Filter Triggered First'); - $origin = $_SERVER['HTTP_ORIGIN'] ?? ''; - $response = service('response'); + // $origin = $_SERVER['HTTP_ORIGIN'] ?? ''; + // $response = service('response'); - if (in_array($origin, $this->allowedOrigins)) { - $response->setHeader('Access-Control-Allow-Origin', $origin); - $response->setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS'); - $response->setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization, X-Requested-With, Accept, Origin, Cache-Control, Pragma, X-CSRF-TOKEN'); - // $response->setHeader('Access-Control-Allow-Headers', '*'); - $response->setHeader('Access-Control-Allow-Credentials', 'true'); - } + // if (in_array($origin, $this->allowedOrigins)) { + // $response->setHeader('Access-Control-Allow-Origin', $origin); + // $response->setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS'); + // $response->setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization, X-Requested-With, Accept, Origin, Cache-Control, Pragma, X-CSRF-TOKEN'); + // // $response->setHeader('Access-Control-Allow-Headers', '*'); + // $response->setHeader('Access-Control-Allow-Credentials', 'true'); + // } // Tangani preflight OPTIONS dengan return response - if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') { - // log_message('debug', 'Cors Filter Triggered OK'); - return $response->setStatusCode(200)->setBody('OK'); - } + // if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') { + // // log_message('debug', 'Cors Filter Triggered OK'); + // return $response->setStatusCode(200)->setBody('OK'); + // } // log_message('debug', 'Cors Filter Triggered Second'); } public function after(RequestInterface $request, ResponseInterface $response, $arguments = null) { // No actions required after the request - return $response; + // return $response; } } diff --git a/app/Models/ZonesModel.php b/app/Models/ZonesModel.php index 773460f..6caf13b 100644 --- a/app/Models/ZonesModel.php +++ b/app/Models/ZonesModel.php @@ -8,27 +8,31 @@ class ZonesModel extends Model { protected $primaryKey = 'zoneid'; protected $allowedFields = [ 'zonecode', 'zoneclass', 'parentzoneid', 'zonename' ]; - public function getAllProvinces() { - $this->select('zoneid, zonename')->where('parentzoneid IS NULL', null, false); - - // if (!empty($filters['zoneid'])) { - // $this->where('zoneid', $filters['zoneid']); - // } - // if (!empty($filters['zonename'])) { - // $this->like('zonename', $filters['zonename'], 'both'); - // } - + public function getAll() { return $this->findAll(); } - public function getAllCities($filter = []) { - $rows = $this->select('zoneid, zonename')->where('parentzoneid IS NOT NULL', null, false); + // public function getAllProvinces() { + // $this->select('zoneid, zonename')->where('parentzoneid IS NULL', null, false); - if (!empty($filter['zoneid'])) { - $this->where('parentzoneid', $filter['zoneid']); - } + // // if (!empty($filters['zoneid'])) { + // // $this->where('zoneid', $filters['zoneid']); + // // } + // // if (!empty($filters['zonename'])) { + // // $this->like('zonename', $filters['zonename'], 'both'); + // // } - return $this->findAll(); - } + // return $this->findAll(); + // } + + // public function getAllCities($filter = []) { + // $rows = $this->select('zoneid, zonename')->where('parentzoneid IS NOT NULL', null, false); + + // if (!empty($filter['zoneid'])) { + // $this->where('parentzoneid', $filter['zoneid']); + // } + + // return $this->findAll(); + // } } \ No newline at end of file