<?php

namespace Config;

// Create a new instance of our RouteCollection class.
$routes = Services::routes();

/*
 * --------------------------------------------------------------------
 * Router Setup
 * --------------------------------------------------------------------
 */
$routes->setDefaultNamespace('App\Controllers');
$routes->setDefaultController('Home');
$routes->setDefaultMethod('index');
$routes->setTranslateURIDashes(false);
$routes->set404Override();
// The Auto Routing (Legacy) is very dangerous. It is easy to create vulnerable apps
// where controller filters or CSRF protection are bypassed.
// If you don't want to define all routes, please use the Auto Routing (Improved).
// Set `$autoRoutesImproved` to true in `app/Config/Feature.php` and set the following to true.
// $routes->setAutoRoute(false);

/*
 * --------------------------------------------------------------------
 * Route Definitions
 * --------------------------------------------------------------------
 */

// We get a performance increase by specifying the default
// route since we don't have to scan directories.
$routes->get('/', 'Home::index');
$routes->get('home', 'Home::index');
$routes->get('login', 'Login::index');
$routes->get('create_user', 'Login::create_user');
$routes->get('create_admin', 'Login::create_admin');
$routes->post('authentication', 'Login::vlogin');
$routes->get('logout', 'Login::logout');

//Route Agen SuperAdmin
// $routes->get('admin_list_agen', 'Agen::list_agen');
// $routes->post('get_list_agen', 'Agen::get_list_agen');
// $routes->get('add_agen', 'Agen::add_agen');
// $routes->post('insert_agen', 'Agen::insert_agen');
// $routes->get('view_agen/(:num)', 'Agen::view_agen/$1');
// $routes->post('update_agen_pokok/(:num)', 'Agen::update_agen_pokok/$1');
// $routes->post('update_agen_lokasi/(:num)', 'Agen::update_agen_lokasi/$1');
// $routes->post('agen_upload/(:any)/(:num)', 'Agen::upload/$1/$2');
// $routes->post('agen_delete_upload/(:any)/(:num)', 'Agen::delete_upload/$1/$2');
// $routes->post('select_agen', 'Agen::select_agen');

//Route Pangkalan SuperAdmin
// $routes->get('all_pangkalan', 'Pangkalan::all_pangkalan');
// $routes->post('get_all_pangkalan', 'Pangkalan::get_all_pangkalan');
// $routes->post('get_pangkalan_aktif', 'Pangkalan::get_pangkalan_aktif');
// $routes->get('pangkalan_pengajuan_baru', 'Pangkalan::pengajuan_baru');
// $routes->post('insert_pangkalan', 'Pangkalan::insert_pangkalan');
// $routes->get('view_pangkalan/(:num)', 'Pangkalan::view_pangkalan/$1');
// $routes->post('update_pangkalan_pokok/(:num)', 'Pangkalan::update_pokok/$1');
// $routes->post('update_pangkalan_pemilik/(:num)', 'Pangkalan::update_pemilik/$1');
// $routes->post('update_pangkalan_lokasi/(:num)', 'Pangkalan::update_lokasi/$1');
// $routes->post('pangkalan_upload/(:any)/(:num)', 'Pangkalan::upload/$1/$2');
// $routes->post('pangkalan_delete_upload/(:any)/(:num)', 'Pangkalan::delete_upload/$1/$2');
// $routes->post('pangkalan_pengajuan', 'Pangkalan::kirim_pengajuan');
// $routes->post('pangkalan_approve', 'Pangkalan::kirim_approve');
// $routes->post('pangkalan_revision', 'Pangkalan::kirim_revision');
// $routes->post('pangkalan_reject', 'Pangkalan::kirim_reject');
// $routes->post('pangkalan_komentar', 'Pangkalan::kirim_komentar');

//Route Statistik Admin
$routes->get('stat_distribusi_kabupaten', 'Statistik::distribusi_kabupaten');

//Route Users Admin
$routes->get('users_admin', 'Useradmin::list');
$routes->post('get_users_admin_list', 'Useradmin::get_list');
$routes->get('users_admin_add', 'Useradmin::add');
$routes->post('users_admin_insert', 'Useradmin::insert');
$routes->get('users_admin_view/(:num)', 'Useradmin::view/$1');
$routes->post('users_admin_update', 'Useradmin::update');
$routes->post('users_admin_delete', 'Useradmin::delete');

//Route Pangkalan Admin
$routes->get('admin_list_agen', 'Agenadmin::list_agen');
$routes->post('get_admin_list_agen', 'Agenadmin::get_list');
$routes->get('admin_view_agen/(:num)', 'Agenadmin::view_agen/$1');
$routes->post('admin_update_login_agen', 'Agenadmin::update_login');
$routes->get('admin_pangkalan_aktif', 'Pangkalanadmin::list_aktif');
$routes->post('get_admin_pangkalan_aktif', 'Pangkalanadmin::get_aktif');
$routes->get('admin_view_pangkalan/(:num)', 'Pangkalanadmin::view/$1');
$routes->post('admin_get_komentar_pengajuan_pangkalan/(:num)', 'Pangkalanadmin::get_komentar/$1');
$routes->get('admin_pangkalan_pengajuan', 'Pangkalanadmin::list_pengajuan');
$routes->post('get_admin_pangkalan_pengajuan', 'Pangkalanadmin::get_list_pengajuan');
$routes->get('admin_view_pangkalan_add/(:num)', 'Pangkalanadmin::view_add/$1');
$routes->post('admin_pangkalan_komentar_add', 'Pangkalanadmin::add_komentar');
$routes->post('admin_pengajuan_pangkalan_approve', 'Pangkalanadmin::approve');
$routes->post('admin_pengajuan_pangkalan_revision', 'Pangkalanadmin::revision');
$routes->post('admin_pengajuan_pangkalan_reject', 'Pangkalanadmin::reject');

//Route Pangkalan Perubahan Admin
$routes->get('admin_perubahan_pangkalan', 'Pangkalanperubahanadmin::list_approve');
$routes->post('get_admin_perubahan_pangkalan_aktif', 'Pangkalanperubahanadmin::get_aktif');
$routes->get('admin_view_pengajuan_perubahan_pangkalan/(:num)', 'Pangkalanperubahanadmin::view/$1');
$routes->post('admin_get_komentar_pengajuan_perubahan_pangkalan/(:num)', 'Pangkalanperubahanadmin::get_komentar/$1');

$routes->get('admin_pengajuan_perubahan_pangkalan', 'Pangkalanperubahanadmin::list_pengajuan');
$routes->post('get_admin_pengajuan_perubahan_pangkalan', 'Pangkalanperubahanadmin::get_pengajuan');
$routes->get('admin_view_pengajuan_perubahan_pangkalan_add/(:num)', 'Pangkalanperubahanadmin::view_add/$1');
$routes->post('admin_perubahan_pangkalan_komentar_add', 'Pangkalanperubahanadmin::add_komentar');
$routes->post('admin_pengajuan_perubahan_pangkalan_approve', 'Pangkalanperubahanadmin::approve');
$routes->post('admin_pengajuan_perubahan_pangkalan_revision', 'Pangkalanperubahanadmin::revision');
$routes->post('admin_pengajuan_perubahan_pangkalan_reject', 'Pangkalanperubahanadmin::reject');

//Route Pangkalan Agen
$routes->get('agen_view', 'Agenagen::view_agen');
$routes->post('get_agen_pangkalan_aktif', 'Pangkalanagen::get_aktif');
$routes->get('agen_pangkalan_aktif', 'Pangkalanagen::list_aktif');
$routes->get('agen_view_pangkalan/(:num)', 'Pangkalanagen::view/$1');
$routes->get('agen_pangkalan_pengajuan', 'Pangkalanagen::list_pengajuan');
$routes->post('get_agen_pangkalan_pengajuan', 'Pangkalanagen::get_list_pengajuan');
$routes->get('agen_pangkalan_pengajuan_add', 'Pangkalanagen::add');
$routes->post('agen_insert_pangkalan', 'Pangkalanagen::insert');
$routes->get('agen_view_pangkalan_add/(:num)', 'Pangkalanagen::view_add/$1');
$routes->post('agen_get_komentar_pengajuan_pangkalan/(:num)', 'Pangkalanagen::get_komentar/$1');
$routes->post('agen_update_pangkalan_pokok/(:num)', 'Pangkalanagen::update_pokok/$1');
$routes->post('agen_update_pangkalan_pemilik/(:num)', 'Pangkalanagen::update_pemilik/$1');
$routes->post('agen_update_pangkalan_lokasi/(:num)', 'Pangkalanagen::update_lokasi/$1');
$routes->post('agen_pangkalan_upload/(:any)/(:num)', 'Pangkalanagen::upload/$1/$2');
$routes->post('agen_pangkalan_delete_upload/(:any)/(:num)', 'Pangkalanagen::delete_upload/$1/$2');
$routes->post('agen_kirim_pengajuan_pangkalan', 'Pangkalanagen::kirim_pengajuan');
$routes->post('agen_hapus_pengajuan_pangkalan', 'Pangkalanagen::hapus_pengajuan');

//Route Perubahan Pangkalan Agen
$routes->get('agen_perubahan_pangkalan', 'Pangkalanperubahanagen::list_approve');
$routes->post('get_agen_perubahan_pangkalan_aktif', 'Pangkalanperubahanagen::get_aktif');
$routes->get('agen_view_perubahan_pangkalan/(:num)', 'Pangkalanperubahanagen::view/$1');
$routes->get('agen_pengajuan_perubahan_pangkalan', 'Pangkalanperubahanagen::list_pengajuan');
$routes->post('get_agen_perubahan_pangkalan_draft', 'Pangkalanperubahanagen::get_pengajuan');
$routes->get('agen_pengajuan_perubahan_pangkalan_add', 'Pangkalanperubahanagen::add');
$routes->post('get_agen_perubahan_pangkalan_available', 'Pangkalanperubahanagen::get_available');
$routes->post('agen_insert_perubahan_pangkalan', 'Pangkalanperubahanagen::insert');
$routes->get('agen_view_pengajuan_perubahan_pangkalan_add/(:num)', 'Pangkalanperubahanagen::view_add/$1');
$routes->post('agen_get_komentar_pengajuan_perubahan_pangkalan/(:num)', 'Pangkalanperubahanagen::get_komentar/$1');
$routes->post('agen_update_perubahan_pangkalan_pokok/(:num)', 'Pangkalanperubahanagen::update_pokok/$1');
$routes->post('agen_update_perubahan_pangkalan_pemilik/(:num)', 'Pangkalanperubahanagen::update_pemilik/$1');
$routes->post('agen_update_perubahan_pangkalan_lokasi/(:num)', 'Pangkalanperubahanagen::update_lokasi/$1');
$routes->post('agen_perubahan_pangkalan_upload/(:any)/(:num)', 'Pangkalanperubahanagen::upload/$1/$2');
$routes->post('agen_perubahan_pangkalan_delete_upload/(:any)/(:num)', 'Pangkalanperubahanagen::delete_upload/$1/$2');
$routes->post('agen_kirim_pengajuan_perubahan_pangkalan', 'Pangkalanperubahanagen::kirim_pengajuan');
$routes->post('agen_hapus_pengajuan_perubahan_pangkalan', 'Pangkalanperubahanagen::hapus_pengajuan');

//Route Notifikasi Admin
$routes->get('admin_notifikasi_pengajuan', 'Notifikasiadmin::list_pengajuan');
$routes->post('get_admin_notifikasi_pengajuan', 'Notifikasiadmin::get_list_pengajuan');
$routes->post('get_admin_notifikasi_perubahan', 'Notifikasiadmin::get_list_perubahan');
$routes->post('admin_notif_pengajuan_dilihat', 'Notifikasiadmin::tandai_pengajuan');
$routes->post('admin_notif_perubahan_dilihat', 'Notifikasiadmin::tandai_perubahan');

//Route Notifikasi Agen
$routes->get('agen_notifikasi_pengajuan', 'Notifikasiagen::list_pengajuan');
$routes->post('get_agen_notifikasi_pengajuan', 'Notifikasiagen::get_list_pengajuan');
$routes->post('get_agen_notifikasi_perubahan', 'Notifikasiagen::get_list_perubahan');
$routes->post('agen_notif_pengajuan_dilihat', 'Notifikasiagen::tandai_pengajuan');
$routes->post('agen_notif_perubahan_dilihat', 'Notifikasiagen::tandai_perubahan');

//Route Pengguna Admin
$routes->get('admin_pengguna', 'Pengguna::view_admin');
$routes->post('admin_pengguna_update', 'Pengguna::update_admin');

//Route Pengguna Agen
$routes->get('agen_pengguna', 'Pengguna::view_agen');
$routes->post('agen_pengguna_update', 'Pengguna::update_agen');

$routes->post('select_tipe_pangkalan', 'Tipepangkalan::select_tipe');

$routes->post('select_provinsi', 'Geoapi::select_provinsi');
$routes->post('select_kabupaten', 'Geoapi::select_kabupaten');
$routes->post('select_kecamatan', 'Geoapi::select_kecamatan');
$routes->post('select_kelurahan', 'Geoapi::select_kelurahan');
service('auth')->routes($routes);

/*
 * --------------------------------------------------------------------
 * Additional Routing
 * --------------------------------------------------------------------
 *
 * There will often be times that you need additional routing and you
 * need it to be able to override any defaults in this file. Environment
 * based routes is one such time. require() additional route files here
 * to make that happen.
 *
 * You will have access to the $routes object within that file without
 * needing to reload it.
 */
if (is_file(APPPATH . 'Config/' . ENVIRONMENT . '/Routes.php')) {
    require APPPATH . 'Config/' . ENVIRONMENT . '/Routes.php';
}
