<?php
$applicationConfig = [
    'application' => [
        'publicDir' => realpath(dirname(__FILE__) . '/../../public')
    ],

    'hideStacktrace' => getEnv('HIDE_STACKTRACE') == 'TRUE',

    'database' => [
        'host' => getenv('DB_HOST'),
        'dbname' => getenv('DB_NAME'),
        'username' => getenv('DB_USERNAME'),
        'password' => getenv('DB_PASSWORD'),
        'schema' => getenv('DB_SCHEMA'),
        'port' => getenv('DB_PORT')
    ],

    'databaseElhkpnMart' => [
        'host' => getenv('DB_ELHKPN_MART_HOST'),
        'dbname' => getenv('DB_ELHKPN_MART_NAME'),
        'username' => getenv('DB_ELHKPN_MART_USERNAME'),
        'password' => getenv('DB_ELHKPN_MART_PASSWORD'),
        'port' => getenv('DB_ELHKPN_MART_PORT')
    ],


    'databaseNewStranas2024' => [
        'host' => getenv('DB_HOST_STRANAS_2024'),
        'dbname' => getenv('DB_NAME_STRANAS_2024'),
        'username' => getenv('DB_USERNAME_STRANAS_2024'),
        'password' => getenv('DB_PASSWORD_STRANAS_2024'),
        'schema' => getenv('DB_SCHEMA_STRANAS_2024'),
        'port' => getenv('DB_PORT_STRANAS_2024')
    ],

    'databaseNewStranas2025' => [
        'host' => getenv('DB_HOST_STRANAS_2025'),
        'dbname' => getenv('DB_NAME_STRANAS_2025'),
        'username' => getenv('DB_USERNAME_STRANAS_2025'),
        'password' => getenv('DB_PASSWORD_STRANAS_2025'),
        'schema' => getenv('DB_SCHEMA_STRANAS_2025'),
        'port' => getenv('DB_PORT_STRANAS_2025')
    ],



    'routes' => [
        [
            'prefix' => '/v5/wilayah',
            'controller' => 'WilayahController',
            'paths' => [
                ['verb' => 'get',  'path' => '/korsupgah', 'method' => 'korsupgah', 'name' => 'WilayahKorsupgah'],
                ['verb' => 'get',  'path' => '/elhkpn', 'method' => 'elhkpn', 'name' => 'WilayahElhkpn'],
                ['verb' => 'get',  'path' => '/gratifikasi', 'method' => 'gratifikasi', 'name' => 'WilayahGratifikasi'],
                ['verb' => 'get',  'path' => '/detail-by-code/{code}', 'method' => 'detailByCode', 'name' => 'detailWilayahByCode'],
            ]
        ],
        [
            'prefix' => '/v5/relasi_instansi_wilayah',
            'controller' => 'RelInstansiWilayahController',
            'paths' => [
                ['verb' => 'get',  'path' => '/', 'method' => 'index', 'name' => 'indexRelInstansiWilayah'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createRelInstansiWilayah'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateRelInstansiWilayah'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deleteRelInstansiWilayah'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreRelInstansiWilayah'],
                ['verb' => 'post', 'path' => '/upload', 'method' => 'upload', 'name' => 'uploadRelInstansiWilayah'],
                ['verb' => 'get', 'path' => '/export', 'method' => 'export', 'name' => 'exportRelInstansiWilayah'],
            ]
        ],
        [
            'prefix' => '/v5/instansi_tipe',
            'controller' => 'InstansiTipeController',
            'paths' => [
                ['verb' => 'get',  'path' => '/', 'method' => 'index', 'name' => 'instansiTipeList'],
                ['verb' => 'get',  'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailInstansiTipeList'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createInstansiTipe'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateInstansiTipe'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deleteInstansiTipe'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreInstansiTipe'],
            ]
        ],
        [
            'prefix' => '/v5/instansi-sub-tipe',
            'controller' => InstansiSubTipeController::class,
            'paths' => [
                ['verb' => 'get',  'path' => '/', 'method' => 'index'],
                ['verb' => 'get',  'path' => '/detail/{id}', 'method' => 'detail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore'],
                ['verb' => 'get', 'path' => '/tipe/{idTipe}', 'method' => 'listByTipe'],
            ]
        ],
        [
            'prefix' => '/v5/korsupgah/indikator',
            'controller' => 'KorsupgahIndikatorController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'korsupgahIndikator'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailKorsupgahIndikator'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateKorsupgahIndikator'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createKorsupgahIndikator'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deleteKorsupgahIndikator'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreKorsupgahIndikator']
            ]
        ],
        [
            'prefix' => '/v5/korsupgah/template',
            'controller' => 'KorsupgahTemplateController',
            'paths' => [

                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'korsupgahTemplate'],
                ['verb' => 'get', 'path' => '/list_with_area_intervensi', 'method' => 'listWithAreaIntervensi', 'name' => 'korsupgahTemplateListWithAreaIntervensi'],
                ['verb' => 'get', 'path' => '/list-for-instansi/{instansiId}', 'method' => 'listForInstansi'],
                ['verb' => 'get', 'path' => '/list-my', 'method' => 'listMy'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailKorsupgahTemplate'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateKorsupgahTemplate'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createKorsupgahTemplate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deleteKorsupgahTemplate'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreKorsupgahTemplate'],
                ['verb' => 'post', 'path' => '/add_question', 'method' => 'add_question', 'name' => 'addQuestionKorsupgahTemplate'],
                ['verb' => 'post', 'path' => '/add_questions', 'method' => 'add_questions', 'name' => 'addQuestionsKorsupgahTemplate'],
                ['verb' => 'post', 'path' => '/remove_question', 'method' => 'remove_question', 'name' => 'removeQuestionKorsupgahTemplate'],
                ['verb' => 'post', 'path' => '/set_questions', 'method' => 'set_questions', 'name' => 'setQuestionsKorsupgahTemplate'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailKorsupgahTemplate'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreKorsupgahTemplate'],
                ['verb' => 'get', 'path' => '/scores/{id}', 'method' => 'scores', 'name' => 'scoreKorsupgahTemplate'],
                ['verb' => 'get', 'path' => '/base-scores', 'method' => 'newBaseScores', 'name' => 'newBasescoreKorsupgahTemplate'],
                ['verb' => 'get', 'path' => '/scores_excel/{id}', 'method' => 'scoresAsExcel', 'name' => 'scoreAsExcelKorsupgahTemplate'],
                ['verb' => 'get', 'path' => '/dashboard-scores/{id}', 'method' => 'dashboardScores', 'name' => 'dashboardScoresKorsupgahTemplate'],
                ['verb' => 'get', 'path' => '/mcp-national-scores', 'method' => 'mcpNationalOverviewScores', 'name' => 'dashboardNationalScoresKorsupgahTemplate'],
                ['verb' => 'get', 'path' => '/scores_danadesa/{id}', 'method' => 'scoresWithDanaDesa', 'name' => 'scoreDanaDesaKorsupgahTemplate'],
                ['verb' => 'get', 'path' => '/area-national-scores', 'method' => 'areaInteversionNationalOverviewScore', 'name' => 'dashboardAreaNationalScoresKorsupgahTemplate'],
                ['verb' => 'get', 'path' => '/mcp-province-scores/{id_province}', 'method' => 'mcpProvinceOverviewScores', 'name' => 'dashboardProvinceScoresKorsupgahTemplate'],
                ['verb' => 'get', 'path' => '/area-province-scores/{id_province}', 'method' => 'AreaIntervensiProvinceOverviewScores', 'name' => 'dashboardAreaProvinceScoresKorsupgahTemplate'],
                ['verb' => 'get', 'path' => '/mcp-pemda-scores', 'method' => 'mcpPemdaOverviewScores', 'name' => 'dashboardPemdaScoresKorsupgahTemplate'],
                ['verb' => 'get', 'path' => '/area-pemda-scores', 'method' => 'AreaIntervensiPemdaOverviewScores', 'name' => 'dashboardAreaPemdaScoresKorsupgahTemplate'],
                ['verb' => 'post', 'path' => '/insert-mcp-penalty-score', 'method' => 'insertMcpPenaltyScore', 'name' => 'insertMcpPenaltyScore'],
                ['verb' => 'post', 'path' => '/insert-multiple-mcp-penalty-score', 'method' => 'insertMultipleMcpPenaltyScore', 'name' => 'insertMultipleMcpPenaltyScore'],
                ['verb' => 'get', 'path' => '/detail-mcp-penalty-score/{id}', 'method' => 'detailMcpPenaltyScore', 'name' => 'detailMcpPenaltyScore'],
                ['verb' => 'get', 'path' => '/mcp-penalty-score-list', 'method' => 'mcpPenaltyScoreList', 'name' => 'detailMcpPenaltyScore'],
                ['verb' => 'post', 'path' => '/delete-mcp-penalty-score/{id}', 'method' => 'deleteMcpPenaltyScore', 'name' => 'deleteMcpPenaltyScore'],
                ['verb' => 'post', 'path' => '/edit-mcp-penalty-score/{id}', 'method' => 'editMcpPenaltyScore', 'name' => 'editMcpPenaltyScore'],
                ['verb' => 'post', 'path' => '/upload-mcp-penalty-score', 'method' => 'uploadPenaltyScoreAttachments', 'name' => 'uploadPenaltyScoreAttachments'],

                ['verb' => 'get', 'path' => '/hierarchy', 'method' => 'getHierarchy'],
                ['verb' => 'post', 'path' => '/hierarchy', 'method' => 'postHierarchy'],
                ['verb' => 'post', 'path' => '/hierarchy/edit/{id}', 'method' => 'editHierarchy'],
                ['verb' => 'post', 'path' => '/hierarchy/delete/{id}', 'method' => 'deleteHierarchy'],
                ['verb' => 'post', 'path' => '/hierarchy/rearrange/{id}', 'method' => 'rearrangeHierarchyChildren'],
                ['verb' => 'get', 'path' => '/mcp-instansi-list/{year}', 'method' => 'mcpInstansiList'],
            ]
            //  AreaIntervensiPemdaOverviewScores
        ],
        [
            'prefix' => '/v5/korsupgah/survey',
            'controller' => 'KorsupgahSurveyController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'korsupgahSurvey'],
                ['verb' => 'get', 'path' => '/list_for_instansi', 'method' => 'listForInstansi', 'name' => 'korsupgahSurveyListForInstansi'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailKorsupgahSurvey'],
                ['verb' => 'get', 'path' => '/summary/{id}', 'method' => 'summary', 'name' => 'summaryKorsupgahSurvey'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateKorsupgahSurvey'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createKorsupgahSurvey'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deleteKorsupgahSurvey'],
                ['verb' => 'post', 'path' => '/force-delete/{id}', 'method' => 'forceDelete', 'name' => 'forceDeleteKorsupgahSurvey'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreKorsupgahSurvey'],
                ['verb' => 'get', 'path' => '/all_instansi_overview', 'method' => 'all_instansi_overview', 'name' => 'korsupgahSurveyAllInstansiOverview'],
                ['verb' => 'get', 'path' => '/instansi_overview', 'method' => 'instansi_overview', 'name' => 'korsupgahSurveyInstansiOverview'],
                ['verb' => 'get', 'path' => '/export-instansi-overview', 'method' => 'exportInstansiOverview', 'name' => 'korsupgahSurveyExportInstansiOverview'],
                ['verb' => 'get', 'path' => '/my', 'method' => 'my', 'name' => 'korsupgahSurveyListFor'],
                ['verb' => 'get', 'path' => '/my_detail/{id}', 'method' => 'myDetail', 'name' => 'korsupgahMyDetail'],
                ['verb' => 'post', 'path' => '/batch_create', 'method' => 'batch_create', 'name' => 'korsupgahSurveyBatchCreate'],
                ['verb' => 'post', 'path' => '/answer', 'method' => 'answer', 'name' => 'korsupgahSurveyAnswer'],
                ['verb' => 'post', 'path' => '/update_answer/{id}', 'method' => 'updateAnswer', 'name' => 'korsupgahSurveyUpdateAnswers'],
                ['verb' => 'post', 'path' => '/delete_answer/{id}', 'method' => 'deleteAnswer', 'name' => 'korsupgahSurveyDeleteAnswers'],
                ['verb' => 'post', 'path' => '/restore_answer/{id}', 'method' => 'restoreAnswer', 'name' => 'korsupgahSurveyRestoreAnswers'],
                ['verb' => 'get', 'path' => '/last-answers/{id}', 'method' => 'lastAnswersBySurvey', 'name' => 'korsupgahSurveyLastAnswersBySurvey'],
                ['verb' => 'get', 'path' => '/unverified-answers', 'method' => 'unverifiedAnswers', 'name' => 'korsupgahSurveyUnverifiedAnswers'],
                ['verb' => 'post', 'path' => '/verify/{id}', 'method' => 'verify', 'name' => 'korsupgahSurveyVerify'],
                ['verb' => 'post', 'path' => '/verify-without-answer/{id_question}/{id_survey}', 'method' => 'verifyWithoutAnswer', 'name' => 'korsupgahSurveyVerifyWithoutAnswer'],
                ['verb' => 'get', 'path' => '/attachment/{uuid}', 'method' => 'downloadAttachment', 'name' => 'korsupgahSurveyDownloadAttachment'],
                ['verb' => 'get', 'path' => '/my_pad', 'method' => 'myPad', 'name' => 'myPad'],
                ['verb' => 'get', 'path' => '/my_aset', 'method' => 'myAset', 'name' => 'myAset'],
                ['verb' => 'get', 'path' => '/can_verify', 'method' => 'canVerify', 'name' => 'korsupgahSurveyCanVerify'],
                ['verb' => 'get', 'path' => '/user-can-verify', 'method' => 'userCanVerify', 'name' => 'korsupgahSurveyUserCanVerify'],
                ['verb' => 'get', 'path' => '/excel_summary/{id}', 'method' => 'excelSummary', 'name' => 'korsupgahSurveyExcelSummary'],
                ['verb' => 'get', 'path' => '/report-indikator/{id}', 'method' => 'reportIndikator', 'name' => 'reportIndikatorKorsupgahTemplate'],
                ['verb' => 'get', 'path' => '/all_prev_ans_attc/{id_survey}/{id_sub_indikator}', 'method' => 'getAllPreviousAnswerAttachment', 'name' => 'korsupgahAnswergetAllPreviousAnswerAttachment'],
                ['verb' => 'get', 'path' => '/notifikasi', 'method' => 'listNotificationNeedVerification', 'name' => 'korsupgahSurveylistNotificationNeedVerification'],
                ['verb' => 'get', 'path' => '/attachment_inline/{uuid}', 'method' => 'downloadAttachmentInline', 'name' => 'korsupgahSurveyDownloadAttachmentInline'],
                ['verb' => 'get', 'path' => '/dashboard-verifikator', 'method' => 'dashboardVerifikator'],
                ['verb' => 'get', 'path' => '/download-verification-progress-per-directorate', 'method' => 'downloadVerificationProgressPerDirectorate'],
                ['verb' => 'get', 'path' => '/download-verification-payload-per-directorate', 'method' => 'downloadVerificationPayloadPerDirectorate'],
                ['verb' => 'get', 'path' => '/get-verification-progress-per-taskforce', 'method' => 'getVerificationProgressPerTaskForce'],
                ['verb' => 'get', 'path' => '/get-verification-payload-per-taskforce', 'method' => 'getVerificationPayloadPerTaskForce'],
                ['verb' => 'post', 'path' => '/upload-attachment', 'method' => 'uploadAttachment'],
                ['verb' => 'post', 'path' => '/upload-attachment-penalty-score', 'method' => 'uploadAttachmentPenaltyScore'],
                ['verb' => 'get', 'path' => '/list-area-intervensi-and-subs', 'method' => 'listAreaIntervensiAndSubs'],
                ['verb' => 'get', 'path' => '/list-indikator-and-subs', 'method' => 'listIndikatorAndSubs'],
                ['verb' => 'get', 'path' => '/list-subindikator', 'method' => 'listSubIndikator'],
                ['verb' => 'get', 'path' => '/list-answers', 'method' => 'listAnswers'],
                ['verb' => 'get', 'path' => '/single-answer', 'method' => 'singleAnswer'],
                ['verb' => 'get', 'path' => '/list-instansi', 'method' => 'listInstansi'],
                ['verb' => 'get', 'path' => '/list-template', 'method' => 'listTemplate'],
                ['verb' => 'get', 'path' => '/beta-id-survey', 'method' => 'betaIdSurvey'],
                ['verb' => 'get', 'path' => '/qa-overview', 'method' => 'qaOverview'],

                // Refactor neo-korsup
                ['verb' => 'get', 'path' => '/restructure-data/{instansi_id}', 'method' => 'restructureData'],
                ['verb' => 'get', 'path' => '/neo-list', 'method' => 'neoList'],
                ['verb' => 'get', 'path' => '/neo-list-indikator-question', 'method' => 'neoListIndikatorForm'],
                ['verb' => 'post', 'path' => '/neo-answer', 'method' => 'neoPostAnswer'],
                ['verb' => 'post', 'path' => '/neo-answer/update', 'method' => 'neoUpdateAnswer'],
                ['verb' => 'post', 'path' => '/neo-ratio-answer', 'method' => 'neoPostRatioAnswer'],
                ['verb' => 'post', 'path' => '/neo-answer/lock', 'method' => 'neoLockAnswer'],
                ['verb' => 'post', 'path' => '/neo-attachment-lock', 'method' => 'neoLockAttachment'],
                ['verb' => 'post', 'path' => '/neo-document-note', 'method' => 'postDocumentNote'],
                ['verb' => 'post', 'path' => '/neo-verify', 'method' => 'neoPostVerif'],
                ['verb' => 'post', 'path' => '/neo-upload-attachment', 'method' => 'neoAttachmentUpload'],
                ['verb' => 'get', 'path' => '/neo-attachment-inline/{uuid}', 'method' => 'neoAttachmentInlineDownload'],
            ]
        ],
        [
            'prefix' => '/v5/korsupgah/pengampu',
            'controller' => 'KorsupgahPengampuController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'korsupgahPengampuList'],
            ]
        ],
        [
            'prefix' => '/v5/korsupgah/periode',
            'controller' => 'KorsupgahPeriodeController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'listKorsupgahPeriode'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailKorsupgahPeriode'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createKorsupgahPeriode'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateKorsupgahPeriode'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deleteKorsupgahPeriode'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreKorsupgahPeriode']
            ]
        ],
        [
            'prefix' => '/v5/korsupgah/area_intervensi',
            'controller' => 'KorsupgahAreaIntervensiController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'listKorsupgahAreaIntervensi'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailKorsupgahAreaIntervensi'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createKorsupgahAreaIntervensi'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateKorsupgahAreaIntervensi'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deleteKorsupgahAreaIntervensi'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreKorsupgahAreaIntervensi'],
                ['verb' => 'get', 'path' => '/list-by-year/{year}', 'method' => 'listByYear']
            ]
        ],
        [
            'prefix' => '/v5/korsupgah/sub_indikator',
            'controller' => 'KorsupgahSubIndikatorController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'listKorsupgahSubIndikator'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailKorsupgahSubIndikator'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createKorsupgahSubIndikator'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateKorsupgahSubIndikator'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'remove', 'name' => 'removeKorsupgahSubIndikator'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreKorsupgahSubIndikator']
            ]
        ],
        [
            'prefix' => '/v5/korsupgah/area_fokus',
            'controller' => 'KorsupgahAreaFokusController',
            'paths' => [

                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'korsupgahAreaFokus'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailKorsupgahAreaFokus'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateKorsupgahAreaFokus'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createKorsupgahAreaFokus'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deleteKorsupgahAreaFokus'],
            ]
        ],
        [
            'prefix' => '/v5/korsupgah/penanggungjawab',
            'controller' => 'KorsupgahAreaFokusPenanggungJawabController',
            'paths' => [
                ['verb' => 'post', 'path' => '/set_area_fokus_for_jabatan/{idjabatan}', 'method' => 'setAreafokusForJabatan', 'name' => 'penanggungjawabsetAreafokusForJabatan'],
                ['verb' => 'post', 'path' => '/set_jabatan_for_area_fokus/{idareafokus}', 'method' => 'setJabatanForAreaFokus', 'name' => 'penanggungjawabsetJabatanForAreaFokus'],
                ['verb' => 'get', 'path' => '/list_jabatan/{idareafokus}', 'method' => 'listJabatan', 'name' => 'penanggungjawablistJabatan'],
                ['verb' => 'get', 'path' => '/list_area_fokus/{idjabatan}', 'method' => 'listAreaFokus', 'name' => 'penanggungjawablistAreaFokus'],
            ]
        ],
        [
            'prefix' => '/v5/korwil/bpkp_provinsi',
            'controller' => 'KorwilUserBpkpProvinsiController',
            'paths' => [
                ['verb' => 'post', 'path' => '/set_provinsi/{user_id}', 'method' => 'setProvinsi', 'name' => 'bpkpProvinsisetProvinsi'],
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'bpkpProvinsiList'],
                ['verb' => 'get', 'path' => '/list_user_bpkp', 'method' => 'listUserBpkp', 'name' => 'bpkpProvinsilistUserBpkp'],
                ['verb' => 'get', 'path' => '/detail_provinsi/{user_id}', 'method' => 'getDetailProvinsi', 'name' => 'bpkpProvinsigetDetailProvinsi'],
            ]
        ],
        [
            'prefix' => '/v5/korwil/teams',
            'controller' => 'KorwilTeamController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'listKorwilTeam'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailKorwilTeam'],
                ['verb' => 'get', 'path' => '/list-periode', 'method' => 'listPeriode', 'name' => 'listPeriode'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createKorwilTeam'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateKorwilTeam'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'removeKorwilTeam'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreKorwilTeam'],
                ['verb' => 'post', 'path' => '/sync_users', 'method' => 'syncUsers', 'name' => 'syncUsersKorwilTeam'],
                ['verb' => 'post', 'path' => '/sync_instansi', 'method' => 'syncInstansi', 'name' => 'syncInstansiKorwilTeam'],
                ['verb' => 'post', 'path' => '/update_membership_status', 'method' => 'updateMembershipStatus', 'name' => 'updateMembershipStatusKorwilTeam'],
                ['verb' => 'get', 'path' => '/copy/{id_periode_old}/{id_periode_new}', 'method' => 'copy', 'name' => 'copyKorwilTeam'],
            ]
        ],
        [
            'prefix' => '/v5/korwil/team_member_statuses',
            'controller' => 'KorwilTeamMemberStatusController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'listKorwilTeamMemberStatus'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailKorwilTeamMemberStatus'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createKorwilTeamMemberStatus'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateKorwilTeamMemberStatus'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'removeKorwilTeamMemberStatus'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreKorwilTeamMemberStatus'],
            ]
        ],
        [
            'prefix' => '/v5/korwil/anggaran_templates',
            'controller' => 'KorwilAnggaranTemplateController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'listKorwilAnggaranTemplate'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailKorwilAnggaranTemplate'],
                ['verb' => 'get', 'path' => '/detailSub/{id}', 'method' => 'detailSub', 'name' => 'detailSubKorwilAnggaranTemplate'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createKorwilAnggaranTemplate'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateKorwilAnggaranTemplate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deleteKorwilAnggaranTemplate'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreKorwilAnggaranTemplate'],
            ]
        ],
        [
            'prefix' => '/v5/korwil/anggaran',
            'controller' => 'KorwilAnggaranController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'listKorwilAnggaran'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailKorwilAnggaran'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createKorwilAnggaran'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateKorwilAnggaran'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deleteKorwilAnggaran'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreKorwilAnggaran'],
                ['verb' => 'post', 'path' => '/updateVerif/{id}', 'method' => 'updateVerif', 'name' => 'updateVerifKorwilAnggaran'],
                ['verb' => 'get', 'path' => '/report/{id}', 'method' => 'getReport', 'name' => 'getReportPenyelamatan'],
                ['verb' => 'get', 'path' => '/report_excel/{id}', 'method' => 'getReportAsExcel', 'name' => 'getReportAsExcelPenyelamatan'],
                ['verb' => 'get', 'path' => '/provinsi/{id}', 'method' => 'detailProv', 'name' => 'ProvinsiDetail'],
            ]
        ],
        [
            'prefix' => '/v5/KotaKabupaten',
            'controller' => KotaKabupatenController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'KotaKabupatenList'],
                ['verb' => 'get', 'path' => '/list-dagri', 'method' => 'listDagri', 'name' => 'KotaKabupatenListDagri'],
                ['verb' => 'get', 'path' => '/compare-dagri', 'method' => 'compareDagri', 'name' => 'KotaKabupatenCompareDagri'],
            ]
        ],
        [
            'prefix' => '/v5/role',
            'controller' => 'RoleController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'roleList'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'rolesUpdate'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'rolesDetail'],
                ['verb' => 'get', 'path' => '/scopes/{id}', 'method' => 'getListScopes', 'name' => 'roleScopes'],
                ['verb' => 'get', 'path' => '/scopes-all/{id}', 'method' => 'getAllScopes', 'name' => 'roleAllScopes'],
                ['verb' => 'get', 'path' => '/users/{id}', 'method' => 'getListUsers', 'name' => 'roleUsers'],
                ['verb' => 'get', 'path' => '/users-all/{id}', 'method' => 'getAllUsers', 'name' => 'roleAllUsers'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'rolesCreate'],
                ['verb' => 'post', 'path' => '/add_scopes', 'method' => 'addScopes', 'name' => 'rolesScopesAddScopes'],
                ['verb' => 'post', 'path' => '/remove_scopes', 'method' => 'removeScopes', 'name' => 'rolesScopesRemoveScopes'],
                ['verb' => 'post', 'path' => '/set_roles', 'method' => 'setRoles', 'name' => 'setRoles'],
                ['verb' => 'get', 'path' => '/korwil-klop', 'method' => 'getKorwilKlopRoles', 'name' => 'rolesKorwilKlopRoles'],
                ['verb' => 'post', 'path' => '/add-users/{id}', 'method' => 'addUsers', 'name' => 'rolesAddUsers'],
                ['verb' => 'post', 'path' => '/remove-user/{id}', 'method' => 'removeUser', 'name' => 'rolesRemoveUser'],
                ['verb' => 'get', 'path' => '/export-user/{id}', 'method' => 'exportUser', 'name' => 'rolesExportUser'],
                ['verb' => 'get', 'path' => '/list-for-pancek', 'method' => 'listForPancek', 'name' => 'rolesListForPancekManagement'],
            ]
        ],
        [
            'prefix' => '/v5/scopes',
            'controller' => 'ScopesController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'scopesList'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createScopes'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateScopes'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailScopes'],
                ['verb' => 'post', 'path' => '/remove/{id}', 'method' => 'remove', 'name' => 'removeScope'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreScopes'],
                ['verb' => 'post', 'path' => '/roles/{id}', 'method' => 'addRoles', 'name' => 'addRolesScopes'],
                ['verb' => 'post', 'path' => '/delete/roles/{id}', 'method' => 'deleteRoles', 'name' => 'deleteRolesScopes'],
                ['verb' => 'get', 'path' => '/roles/{id}', 'method' => 'getListRoles', 'name' => 'getListRolesScopes'],
                ['verb' => 'get', 'path' => '/list-jabatan-roles', 'method' => 'listKorwilJabatanRoles', 'name' => 'listKorwilJabatanRoles'],
                ['verb' => 'get', 'path' => '/list-team-roles', 'method' => 'listKorwilTeamRoles', 'name' => 'listKorwilTeamRoles'],
            ]
        ],
        [
            'prefix' => '/v5/provinsi',
            'controller' => ProvinsiController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'ProvinsiList'],
                ['verb' => 'get', 'path' => '/listAll', 'method' => 'listAll', 'name' => 'ProvinsiListAll'],
                ['verb' => 'get', 'path' => '/list-dagri', 'method' => 'listDagri', 'name' => 'ProvinsiListDagri'],
                ['verb' => 'get', 'path' => '/compare-dagri', 'method' => 'compareDagri', 'name' => 'ProvinsiCompareDagri'],
            ]
        ],
        [
            'prefix' => '/v5/produk',
            'controller' => 'ProdukController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'ProdukList'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'ProdukCreate'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'ProdukUpdate'],
            ]
        ],
        [

            'prefix' => '/v5/sekolah',
            'controller' => 'SekolahController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'sekolah_index'],
                ['verb' => 'get', 'path' => '/detail', 'method' => 'detail', 'name' => 'SekolahDetail'],
                ['verb' => 'get', 'path' => '/find-and-update/{npsn}', 'method' => 'findAndUpdate', 'name' => 'SekolahFindAndUpdate'],
                ['verb' => 'get', 'path' => '/search', 'method' => 'search', 'name' => 'sekolah_search'],
                ['verb' => 'get', 'path' => '/jenjang', 'method' => 'jenjang', 'name' => 'jenjang_sekolah'],
                ['verb' => 'get', 'path' => '/jenjang-all', 'method' => 'jenjangAll', 'name' => 'jenjang_pendidikan'],
                ['verb' => 'get', 'path' => '/jenjang-list', 'method' => 'jenjangList', 'name' => 'SekolahJenjangList'],
                ['verb' => 'post', 'path' => '/jenjang-update/{id}', 'method' => 'jenjangUpdate', 'name' => 'SekolahJenjangUpdate'],
                ['verb' => 'post', 'path' => '/jenjang-mass-update', 'method' => 'jenjangMassUpdate', 'name' => 'SekolahJenjangMassUpdate'],
                ['verb' => 'get', 'path' => '/fasilitas', 'method' => 'fasilitas', 'name' => 'fasilitas'],
                ['verb' => 'get', 'path' => '/anggaran_list_provinsi', 'method' => 'anggaran_list_provinsi', 'name' => 'anggaran_list_provinsi'],
                ['verb' => 'get', 'path' => '/anggaran_list_kota_kabupaten', 'method' => 'anggaran_list_kota_kabupaten', 'name' => 'anggaran_list_kota_kabupaten'],
                ['verb' => 'get', 'path' => '/anggaran_list_sekolah', 'method' => 'anggaran_list_sekolah', 'name' => 'anggaran_list_sekolah'],
                ['verb' => 'get', 'path' => '/anggaran', 'method' => 'anggaran', 'name' => 'anggaran'],
                ['verb' => 'get', 'path' => '/list_guru', 'method' => 'getListGuru', 'name' => 'getListGuru'],
                ['verb' => 'post', 'path' => '/import_excel_madrasah', 'method' => 'importExcelMadrasah', 'name' => 'importExcelMadrasah'],
                ['verb' => 'get', 'path' => '/list-provinsi', 'method' => 'listProvinsi', 'name' => 'sekolahListProvinsi'],
                ['verb' => 'get', 'path' => '/list-kota', 'method' => 'listKota', 'name' => 'sekolahListKota'],
                ['verb' => 'get', 'path' => '/kegiatan-pak', 'method' => 'kegiatanPAK', 'name' => 'sekolahKegiatanPAK'],
                ['verb' => 'get', 'path' => '/media-kegiatan-pak', 'method' => 'mediaKegiatanPAK', 'name' => 'sekolahMediaKegiatanPAK'],
                ['verb' => 'get', 'path' => '/kegiatan-pak/{method_id}', 'method' => 'kegiatanPAKByMethod', 'name' => 'sekolahKegiatanPAKByMethod'],
                ['verb' => 'get', 'path' => '/pak-dashboard', 'method' => 'pakDashboard', 'name' => 'sekolahPAKDashboard'],
                ['verb' => 'get', 'path' => '/pak-list-regulasi', 'method' => 'pakListRegulasi', 'name' => 'sekolahPAKListRegulasi'],
                ['verb' => 'get', 'path' => '/pak-last-isiansekolah', 'method' => 'pakLastIsianSekolah', 'name' => 'sekolahPAKLastIsianSekolah'],
                ['verb' => 'get', 'path' => '/pak-list-pemda', 'method' => 'pakListPemda', 'name' => 'sekolahPAKListPemda'],
                ['verb' => 'get', 'path' => '/list-with-detail-isian', 'method' => 'listWithDetailIsian', 'name' => 'sekolahListWithDetailIsian'],
                ['verb' => 'post', 'path' => '/like/{npsn}', 'method' => 'likeSekolah', 'name' => 'sekolahLikeSekolah'],
                ['verb' => 'post', 'path' => '/unlike/{npsn}', 'method' => 'unlikeSekolah', 'name' => 'sekolahUnlikeSekolah'],
                ['verb' => 'get', 'path' => '/list_sekolah_kegiatan_favorite', 'method' => 'listSekolahWithFavoritedKegiatan', 'name' => 'pakIsianSekolahunlistSekolahWithFavoritedKegiatan'],
                ['verb' => 'get', 'path' => '/get_total_kegiatan_favorite', 'method' => 'getTotalKegiatanFavorite', 'name' => 'pakIsianSekolahungetTotalKegiatanFavorite'],
                ['verb' => 'get', 'path' => '/tableau_pak/{tab}', 'method' => 'tableauPAKTab', 'name' => 'tableauPAKTabSekolah'],
                ['verb' => 'get', 'path' => '/count-by-jenjang', 'method' => 'countByJenjang'],
                ['verb' => 'get', 'path' => '/count-user-by-jenjang', 'method' => 'countUserByJenjang'],
                ['verb' => 'get', 'path' => '/laporan-sekolah', 'method' => 'laporanSekolah'],
                ['verb' => 'get', 'path' => '/count-laporan-by-metode', 'method' => 'countLaporanByMetode'],
                ['verb' => 'get', 'path' => '/map-regulasi', 'method' => 'mapRegulasi'],
                ['verb' => 'get', 'path' => '/map-akun-sekolah', 'method' => 'mapAkunSekolah'],
                ['verb' => 'get', 'path' => '/map-laporan-sekolah', 'method' => 'mapLaporanSekolah'],
                ['verb' => 'get', 'path' => '/tahun-ajaran', 'method' => 'listTahunAjaran'],
                ['verb' => 'get', 'path' => '/filter-search', 'method' => 'filterSearch'],
                ['verb' => 'get', 'path' => '/search-nama', 'method' => 'searchNama'],
            ]
        ],
        [
            'prefix' => '/v5/madrasah',
            'controller' => MadrasahController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/search', 'method' => 'search', 'name' => 'madrasahSearch'],
                ['verb' => 'get', 'path' => '/search-nama', 'method' => 'searchNama', 'name' => 'madrasahSearch'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'madrasahDetail'],
                ['verb' => 'get', 'path' => '/pip-token', 'method' => 'pipToken'],
                ['verb' => 'post', 'path' => '/pip-tracking', 'method' => 'pipTracking'],
                ['verb' => 'get', 'path' => '/distribusi-by-jenjang', 'method' => 'distribusiByJenjang'],
                ['verb' => 'get', 'path' => '/distribusi-wilayah', 'method' => 'distribusiWilayah'],
                ['verb' => 'get', 'path' => '/distribusi-nasional', 'method' => 'distribusiNasional'],
                ['verb' => 'get', 'path' => '/filter-search', 'method' => 'filterSearch'],
            ]
        ],
        [
            'prefix' => '/v5/version',
            'controller' => 'VersionController',
            'paths' => [
                ['verb' => 'get', 'path' => '/web', 'method' => 'web', 'name' => 'check_web_version'],
                ['verb' => 'get', 'path' => '/android', 'method' => 'android', 'name' => 'check_android_version'],
                ['verb' => 'get', 'path' => '/ios', 'method' => 'ios', 'name' => 'check_ios_version'],
            ]
        ],
        [
            'prefix' => '/v5/auth',
            'controller' => 'UserController',
            'paths' => [
                ['verb' => 'post', 'path' => '/login', 'method' => 'loginAction', 'name' => 'login'],
                ['verb' => 'post', 'path' => '/google_oauth', 'method' => 'googleOAuth', 'name' => 'googleOAuth'],
                ['verb' => 'post', 'path' => '/facebook_oauth', 'method' => 'facebookOAuth', 'name' => 'facebookOAuth'],
                ['verb' => 'post', 'path' => '/twitter_oauth', 'method' => 'twitterOAuth', 'name' => 'twitterOAuth'],
                ['verb' => 'post', 'path' => '/apple_oauth', 'method' => 'appleOAuth', 'name' => 'appleOAuth'],
                ['verb' => 'post', 'path' => '/kemdikbud-oauth', 'method' => 'kemdikbudOauth', 'name' => 'kemdikbudOauth'],
                ['verb' => 'post', 'path' => '/kemdikbud-oauth/change-email', 'method' => 'kemdikbudOauthChangeEmail', 'name' => 'kemdikbudOauthChangeEmail'],
                ['verb' => 'post', 'path' => '/', 'method' => 'loginAction', 'name' => 'login'],
                ['verb' => 'post', 'path' => '/register', 'method' => 'registerAction', 'name' => 'register'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createUser'],
                ['verb' => 'post', 'path' => '/refresh_token', 'method' => 'refresh_token', 'name' => 'refresh_token'],
                ['verb' => 'post', 'path' => '/reset_password', 'method' => 'requestResetPassword', 'name' => 'requestResetPassword'],
                ['verb' => 'post', 'path' => '/reset_email_password', 'method' => 'requestResetEmailPassword', 'name' => 'requestResetEmailPassword'],
                ['verb' => 'post', 'path' => '/change_password', 'method' => 'doResetPassword', 'name' => 'doResetPassword'],
                ['verb' => 'post', 'path' => '/deletion', 'method' => 'deletionAction', 'name' => 'deletionActionAuth'],
                ['verb' => 'post', 'path' => '/login-as-other', 'method' => 'loginAsOtherUser', 'name' => 'loginAsOtherUser'],
                ['verb' => 'post', 'path' => '/check-reset-password-token', 'method' => 'checkResetPasswordToken', 'name' => 'checkResetPasswordToken'],

            ]
        ],
        [
            'prefix' => '/v5/user',
            'controller' => UserController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/admin-list', 'method' => 'adminList', 'name' => 'adminUserList'],
                ['verb' => 'get', 'path' => '/export-admin-list', 'method' => 'exportAdminList'],
                ['verb' => 'post', 'path' => '/reset_admin_user', 'method' => 'resetEmailPasswordAdmin', 'name' => 'resetEmailPasswordAdmin'],
                ['verb' => 'get', 'path' => '/stranas_list', 'method' => 'stranasList', 'name' => 'stranasUserList'],
                ['verb' => 'post', 'path' => '/reset_stranas_user', 'method' => 'resetEmailPasswordStranas', 'name' => 'resetEmailPasswordStranas'],
                ['verb' => 'get', 'path' => '/korwil_list', 'method' => 'korwilList', 'name' => 'listUserKemdagri'],
                ['verb' => 'get', 'path' => '/kemdagri_list', 'method' => 'listUserKemdagri', 'name' => 'korwilUserList'],
                ['verb' => 'post', 'path' => '/reset_korwil_user', 'method' => 'resetEmailPasswordKorwil', 'name' => 'resetEmailPasswordKorwil'],
                ['verb' => 'post', 'path' => '/register_korwil_user', 'method' => 'registerKorwilUser', 'name' => 'registerKorwilUser'],
                ['verb' => 'post', 'path' => '/ban', 'method' => 'ban', 'name' => 'banUser'],
                ['verb' => 'post', 'path' => '/unban', 'method' => 'unban', 'name' => 'unbanUser'],
                ['verb' => 'post', 'path' => '/set-roles', 'method' => 'setRoles', 'name' => 'setRolesUser'],
                ['verb' => 'get', 'path' => '/propic/{uuid}', 'method' => 'profilePicture', 'name' => 'profilePicture'],
                ['verb' => 'get', 'path' => '/profile', 'method' => 'getProfile', 'name' => 'getProfile'],
                ['verb' => 'get', 'path' => '/instansi', 'method' => 'getInstansi', 'name' => 'getInstansi'],
                ['verb' => 'post', 'path' => '/ubah_profile', 'method' => 'ubahProfile', 'name' => 'ubahProfile'],
                ['verb' => 'get', 'path' => '/public-profile/{uuid}', 'method' => 'getPublicProfile', 'name' => 'getPublicProfile'],
                ['verb' => 'get', 'path' => '/public-profile-new/{uuid}', 'method' => 'getPublicProfileNew', 'name' => 'getPublicProfileNew'],
                ['verb' => 'post', 'path' => '/change_password', 'method' => 'changePassword', 'name' => 'changePassword'],
                ['verb' => 'post', 'path' => '/notification-read/{notifId}', 'method' => 'readNotification'],
                ['verb' => 'post', 'path' => '/notification-reads', 'method' => 'readNotifications'],
                ['verb' => 'get', 'path' => '/notifications', 'method' => 'notifications', 'name' => 'notifications'],
                ['verb' => 'get', 'path' => '/notifications/unread_count', 'method' => 'getNotificationUnreadCount', 'name' => 'getNotificationUnreadCount'],
                ['verb' => 'get', 'path' => '/uuid-by-username/{username}', 'method' => 'getUuid'],
                ['verb' => 'post', 'path' => '/admin-delete/{umId}', 'method' => 'adminDelete'],
                ['verb' => 'post', 'path' => '/admin-batch-delete', 'method' => 'adminBatchDelete'],
                ['verb' => 'get', 'path' => '/list-user-simple', 'method' => 'listUserSimple'],
                ['verb' => 'post', 'path' => '/req-change-email', 'method' => 'reqChangeEmail', 'name' => 'reqChangeEmail'],
                ['verb' => 'post', 'path' => '/verif-change-email', 'method' => 'verifChangeEmail', 'name' => 'verifChangeEmail'],
                ['verb' => 'post', 'path' => '/req-register-email', 'method' => 'reqRegisterEmail', 'name' => 'reqRegisterEmail'],
                ['verb' => 'post', 'path' => '/verif-register-email', 'method' => 'verifRegisterEmail', 'name' => 'verifRegisterEmail'],
                ['verb' => 'post', 'path' => '/admin-batch-updatepass', 'method' => 'adminBatchUpdatePassword'],
                ['verb' => 'get', 'path' => '/check-email', 'method' => 'checkEmail'],
                ['verb' => 'get', 'path' => '/kppbc_verifikator_list', 'method' => 'listUserVerifikatorKppbc'],
                ['verb' => 'get', 'path' => '/kppbc_assignor_list', 'method' => 'listUserAssignorKppbc'],
            ]
        ],
        [
            'prefix' => '/sekolah-bos',
            'controller' => 'SekolahBosController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'show', 'name' => 'sekolah_bos-list']
            ]
        ],
        [
            'prefix' => '/v5/kip',
            'controller' => 'KIPController',
            'paths' => [
                ['verb' => 'get', 'path' => '/summary_jenjang', 'method' => 'summary_jenjang', 'name' => 'summary_jenjang'],
                ['verb' => 'get', 'path' => '/summary_nasional', 'method' => 'summary_nasional', 'name' => 'summary_nasional'],
                ['verb' => 'get', 'path' => '/summary_provinsi', 'method' => 'summary_provinsi', 'name' => 'summary_provinsi'],
                ['verb' => 'get', 'path' => '/summary_kota_kabupaten', 'method' => 'summary_kota_kabupaten', 'name' => 'summary_kota_kabupaten'],
                ['verb' => 'get', 'path' => '/sekolah_detail', 'method' => 'sekolah_detail', 'name' => 'sekolah_detail'],
                ['verb' => 'get', 'path' => '/detail', 'method' => 'detail', 'name' => 'detail'],
                ['verb' => 'get', 'path' => '/detail_live', 'method' => 'detail_live', 'name' => 'KipDetailLive']
            ]
        ],
        [
            'prefix' => '/v5/kip2',
            'controller' => 'KIP2Controller',
            'paths' => [
                ['verb' => 'get', 'path' => '/get_profile_siswa', 'method' => 'getProfileSiswa', 'name' => 'Kip2GetProfileSiswa'],
                ['verb' => 'get', 'path' => '/get_rekap_aktivasi_rekening', 'method' => 'getRekapAktivasiRekening', 'name' => 'Kip2GetRekapAktivasiRekening'],
                ['verb' => 'get', 'path' => '/get_data_sekolah', 'method' => 'getDataSekolah', 'name' => 'Kip2GetRekapAktivasiRekening'],
                ['verb' => 'get', 'path' => '/get_alokasi', 'method' => 'getAlokasi', 'name' => 'Kip2getAlokasi'],
                ['verb' => 'get', 'path' => '/pip-siswa/{nisn}', 'method' => 'pipSiswa', 'name' => 'Kip2PipSiswa'],
                ['verb' => 'get', 'path' => '/get-rekap', 'method' => 'getRekap', 'name' => 'Kip2GetRekap'],
            ]
        ],
        [
            'prefix' => '/v5/PembaruanAkhir',
            'controller' => 'PembaruanAkhirController',
            'paths' => [
                ['verb' => 'get', 'path' => '/getLatestDate', 'method' => 'getLatestDate', 'name' => 'getLatestDate']
            ]
        ],
        [
            'prefix' => '/v5/bos',
            'controller' => 'BosController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list_provinsi', 'method' => 'list_provinsi', 'name' => 'list_provinsi'],
                ['verb' => 'get', 'path' => '/list_kota_kabupaten', 'method' => 'list_kota_kabupaten', 'name' => 'list_kota_kabupaten'],
                ['verb' => 'get', 'path' => '/list_kecamatan', 'method' => 'list_kecamatan', 'name' => 'list_kecamatan'],
                ['verb' => 'get', 'path' => '/summary_kecamatan', 'method' => 'summary_kecamatan', 'name' => 'summary_kecamatan'],
                ['verb' => 'get', 'path' => '/list_sekolah', 'method' => 'list_sekolah', 'name' => 'list_sekolah'],
                ['verb' => 'get', 'path' => '/detail', 'method' => 'detail', 'name' => 'detail'],
                ['verb' => 'get', 'path' => '/summary_nasional_per_jenjang', 'method' => 'summaryNasionalPerJenjang', 'name' => 'BosSummaryNasionalPerJenjang'],
                ['verb' => 'get', 'path' => '/summary_nasional_per_komponen', 'method' => 'summaryNasionalPerKomponen', 'name' => 'BosSummaryNasionalPerKomponen'],
                ['verb' => 'get', 'path' => '/years', 'method' => 'years', 'name' => 'bosYears'],
                ['verb' => 'get', 'path' => '/daftar-penerima', 'method' => 'daftarPenerima', 'name' => 'bosDaftarPenerima'],
                ['verb' => 'get', 'path' => '/laporan-komponen-nasional', 'method' => 'laporanKomponenNasional', 'name' => 'BosLaporanKomponenNasional'],
                ['verb' => 'get', 'path' => '/jenis-bos', 'method' => 'jenisBos', 'name' => 'bosJenisBos'],
            ]
        ],
        [
            'prefix' => '/v5/bos-madrasah',
            'controller' => BosMadrasahController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/tahun', 'method' => 'listTahun', 'name' => 'bosMadrasahListTahun'],
                ['verb' => 'get', 'path' => '/bantuan', 'method' => 'listBantuan', 'name' => 'bosMadrasahListBantuan'],
                ['verb' => 'get', 'path' => '/tahapan', 'method' => 'listTahapan', 'name' => 'bosMadrasahListTahapan'],
                ['verb' => 'get', 'path' => '/history-alokasi/{nsm}', 'method' => 'historyAlokasi', 'name' => 'bosMadrasahHistoryAlokasi'],
                ['verb' => 'get', 'path' => '/rekap-nasional', 'method' => 'rekapNasional', 'name' => 'bosMadrasahRekapNasional'],
                ['verb' => 'get', 'path' => '/rekap-per-jenjang/{tahun}', 'method' => 'rekapPerJenjang', 'name' => 'bosMadrasahRekapPerJenjang'],
                ['verb' => 'get', 'path' => '/rekap-per-provinsi/{tahun}', 'method' => 'rekapPerProvinsi', 'name' => 'bosMadrasahRekapPerProvinsi'],
                ['verb' => 'get', 'path' => '/rekap-per-kabupaten/{tahun}', 'method' => 'rekapPerKabupaten', 'name' => 'bosMadrasahRekapPerKabupaten'],
                ['verb' => 'get', 'path' => '/rekap-tahun-per-jenjang', 'method' => 'rekapTahunPerJenjang', 'name' => 'bosMadrasahRekapTahunPerJenjang'],
            ]
        ],
        [
            'prefix' => '/v5/takola',
            'controller' => 'TakolaSDController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'index'],
                ['verb' => 'get', 'path' => '/summary_provinsi', 'method' => 'summary_provinsi', 'name' => 'summary_provinsi'],
                ['verb' => 'get', 'path' => '/kota_kabupaten', 'method' => 'kota_kabupaten', 'name' => 'kota_kabupaten'],
                ['verb' => 'get', 'path' => '/detail_live', 'method' => 'detail_live', 'name' => 'detail_live'],
                ['verb' => 'get', 'path' => '/photos', 'method' => 'photos', 'name' => 'photos']
            ]
        ],
        [
            'prefix' => '/v5/PanduanPIP',
            'controller' => 'PanduanPIPController',
            'paths' => [
                ['verb' => 'get', 'path' => '/getMenuPanduanPip', 'method' => 'getMenuPanduanPip', 'name' => 'getMenuPanduanPip'],
                ['verb' => 'get', 'path' => '/getContentPanduanPip', 'method' => 'getContentPanduanPip', 'name' => 'getContentPanduanPip']
            ]
        ],
        [
            'prefix' => '/v5/fcm',
            'controller' => 'FcmController',
            'paths' => [
                ['verb' => 'post', 'path' => '/register/token', 'method' => 'registerDeviceToken', 'name' => 'registerDeviceToken'],
                ['verb' => 'post', 'path' => '/unregister/token', 'method' => 'unregisterDeviceToken', 'name' => 'unregisterDeviceToken']
            ]
        ],
        [
            'prefix' => '/v5/diskusi',
            'controller' => 'DiskusiController',
            'paths' => [
                ['verb' => 'get', 'path' => '/kategori_produk', 'method' => 'kategoriProduk', 'name' => 'kategoriProduk'],
                ['verb' => 'get', 'path' => '/sub_kategori_produk', 'method' => 'subKategoriProduk', 'name' => 'subKategoriProduk'],
                ['verb' => 'get', 'path' => '/produk_objek', 'method' => 'produkObjek', 'name' => 'produkObjek'],
                ['verb' => 'get', 'path' => '/all-produk-objek', 'method' => 'allProdukObjek', 'name' => 'allProdukObjek'],
                ['verb' => 'post', 'path' => '/submit', 'method' => 'submitDiskusi', 'name' => 'diskusiSubmit'],
                ['verb' => 'post', 'path' => '/submit_cerita', 'method' => 'submitCerita', 'name' => 'ceritaSubmit'],
                ['verb' => 'get', 'path' => '/mention', 'method' => 'diskusiMention', 'name' => 'diskusiMention'],
                ['verb' => 'get', 'path' => '/mention_komentar', 'method' => 'diskusiKomentarMention', 'name' => 'diskusiKomentarMention'],
                ['verb' => 'get', 'path' => '/hashtag', 'method' => 'diskusiHashtag', 'name' => 'diskusiHashtag'],
                ['verb' => 'get', 'path' => '/kumpulan', 'method' => 'kumpulanDiskusi', 'name' => 'kumpulanDiskusi'],
                ['verb' => 'get', 'path' => '/kumpulan-mascot-design', 'method' => 'kumpulanMascotDesign', 'name' => 'kumpulanMascotDesign'],
                ['verb' => 'get', 'path' => '/cerita_sukses', 'method' => 'ceritaSukses', 'name' => 'ceritaSukses'],
                ['verb' => 'get', 'path' => '/ku', 'method' => 'diskusiku', 'name' => 'diskusiku'],
                ['verb' => 'get', 'path' => '/konten/{uuid}', 'method' => 'kontenDiskusi', 'name' => 'kontenDiskusi'],
                ['verb' => 'post', 'path' => '/edit/{uuid}', 'method' => 'editDiskusi', 'name' => 'editDiskusi'],
                ['verb' => 'get', 'path' => '/hapus/{uuid}', 'method' => 'hapusDiskusi', 'name' => 'hapusDiskusi'],
                ['verb' => 'get', 'path' => '/cerita_hapus/{uuid}', 'method' => 'hapusCerita', 'name' => 'hapusCerita'],
                ['verb' => 'get', 'path' => '/detil/{uuid}', 'method' => 'detilDiskusiStandard', 'name' => 'detilDiskusiStandard'],
                ['verb' => 'get', 'path' => '/detil_full/{uuid}', 'method' => 'detilDiskusiFull', 'name' => 'detilDiskusiFull'],
                ['verb' => 'get', 'path' => '/detil_bansos/{uuid}', 'method' => 'detilDiskusiBansos', 'name' => 'detilDiskusiBansos'],
                ['verb' => 'post', 'path' => '/komentar/kirim', 'method' => 'kirimKomentar', 'name' => 'kirimKomentar'],
                ['verb' => 'post', 'path' => '/komentar/kirim_attachment', 'method' => 'kirimKomentarAttachment', 'name' => 'kirimKomentarAttachment'],
                ['verb' => 'post', 'path' => '/komentar/edit', 'method' => 'editKomentar', 'name' => 'editKomentar'],
                ['verb' => 'post', 'path' => '/komentar/hapus/{id}', 'method' => 'hapusKomentar', 'name' => 'hapusKomentar'],
                ['verb' => 'get', 'path' => '/komentar/list', 'method' => 'komentarDiskusi', 'name' => 'komentarDiskusi'],
                ['verb' => 'get', 'path' => '/komentar/list_by_user', 'method' => 'komentarByUser', 'name' => 'komentarByUser'],
                ['verb' => 'get', 'path' => '/komentar/replies/{id}', 'method' => 'komentarReplies', 'name' => 'komentarReplies'],
                ['verb' => 'get', 'path' => '/komentar/detail/{uuid}', 'method' => 'komentarDetail', 'name' => 'komentarDetail'],
                ['verb' => 'post', 'path' => '/like', 'method' => 'diskusiLike', 'name' => 'diskusiLike'],
                ['verb' => 'get', 'path' => '/likes/{uuid}', 'method' => 'likeList', 'name' => 'diskusiLikeList'],
                ['verb' => 'get', 'path' => '/list-for-admin', 'method' => 'listForAdmin', 'name' => 'adminDiskusiList'],
                ['verb' => 'get', 'path' => '/export-for-admin', 'method' => 'exportForAdmin', 'name' => 'adminDiskusiExport'],
                ['verb' => 'post', 'path' => '/lock', 'method' => 'lock', 'name' => 'lockDiskusi'],
                ['verb' => 'post', 'path' => '/unlock', 'method' => 'unlock', 'name' => 'unlockDiskusi'],
                ['verb' => 'get', 'path' => '/attachment/{uuid}', 'method' => 'downloadAttachment', 'name' => 'downloadAttachment'],
                ['verb' => 'get', 'path' => '/comment_attachment/{uuid}', 'method' => 'downloadCommentAttachment', 'name' => 'downloadCommentAttachment'],
                ['verb' => 'get', 'path' => '/comment_attachment/download/{uuid}', 'method' => 'downloadCommentAttachment', 'name' => 'downloadCommentAttachment'],
                ['verb' => 'get', 'path' => '/comment_attachment/view/{uuid}', 'method' => 'viewCommentAttachment', 'name' => 'viewCommentAttachment'],
                ['verb' => 'get', 'path' => '/by_user', 'method' => 'diskusiUser', 'name' => 'diskusiUser'],
                ['verb' => 'post', 'path' => '/add_share_counter', 'method' => 'diskusiShare', 'name' => 'diskusiShare'],
                ['verb' => 'post', 'path' => '/edit_cerita/{uuid}', 'method' => 'editCerita', 'name' => 'editCerita'],
                ['verb' => 'post', 'path' => '/moderasi/{uuid}', 'method' => 'editModerasiDiskusi', 'name' => 'editModerasiDiskusi'],
                ['verb' => 'get', 'path' => '/original_content', 'method' => 'originalContent', 'name' => 'originalContent'],
                ['verb' => 'get', 'path' => '/original_comment', 'method' => 'originalComment', 'name' => 'originalComment'],
                ['verb' => 'get', 'path' => '/list_by_user', 'method' => 'diskusiByUser', 'name' => 'diskusiByUser'],
                ['verb' => 'get', 'path' => '/hot', 'method' => 'hotDiskusi', 'name' => 'hotDiskusi'],
                ['verb' => 'post', 'path' => '/edit-diskusi-attachment/{uuid}', 'method' => 'editDiskusiAttachment', 'name' => 'editDiskusiAttachment'],
                ['verb' => 'post', 'path' => '/show-produk-diskusi/{id_index}', 'method' => 'showProdukDiskusi', 'name' => 'diskusiShowProdukDiskusi'],
                ['verb' => 'post', 'path' => '/hide-produk-diskusi/{id_index}', 'method' => 'hideProdukDiskusi', 'name' => 'diskusiHideProdukDiskusi'],
                ['verb' => 'get', 'path' => '/latest', 'method' => 'getLatest', 'name' => 'diskusiGetLatest'],
                ['verb' => 'get', 'path' => '/berita', 'method' => 'retreiveBerita', 'name' => 'diskusiRetreiveBerita'],
                ['verb' => 'get', 'path' => '/dashboard/public', 'method' => 'dashboardPublic', 'name' => 'dashboardPublic'],
                ['verb' => 'get', 'path' => '/dashboard/public/chart/by-name', 'method' => 'chartDashboardByName', 'name' => 'chartDashboardByName']
            ]
        ],
        [
            'prefix' => '/v5/log',
            'controller' => 'LogDummyController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'log', 'name' => 'logDummy']
            ]
        ],
        [
            'prefix' => '/v5/kesehatan/rs',
            'controller' => 'RumahSakitController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list_provinsi', 'method' => 'listProvinsi', 'name' => 'listProvinsi'],
                ['verb' => 'get', 'path' => '/search', 'method' => 'search', 'name' => 'search'],
                ['verb' => 'get', 'path' => '/profile/{npsrs}', 'method' => 'profile', 'name' => 'profile'],
                ['verb' => 'get', 'path' => '/live_profile/{npsrs}', 'method' => 'liveProfile', 'name' => 'RsLiveProfile'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'rumah-sakit-detail'],
                ['verb' => 'get', 'path' => '/ketersediaan/{npsrs}', 'method' => 'rsKetersediaanTempatTidur', 'name' => 'rsKetersediaanTempatTidur'],
                ['verb' => 'get', 'path' => '/tenaga-medis-nasional', 'method' => 'tenagaMedisNasional', 'name' => 'tenagaMedisNasionalKesehatan']
            ]
        ],
        [
            'prefix' => '/v5/kesehatan/rs2',
            'controller' => 'RumahSakit2Controller',
            'paths' => [
                ['verb' => 'get', 'path' => '/data_tempat_tidur/{koders}', 'method' => 'getDataTempatTidur', 'name' => 'getDataTempatTidur'],
            ]
        ],
        [
            'prefix' => '/v5/kesehatan/puskesmas',
            'controller' => 'PuskesmasController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list_provinsi', 'method' => 'listProvinsi', 'name' => 'listProvinsi'],
                ['verb' => 'get', 'path' => '/search', 'method' => 'search', 'name' => 'search'],
                ['verb' => 'get', 'path' => '/profile/{kode_puskesmas}', 'method' => 'profile', 'name' => 'profile'],
                ['verb' => 'get', 'path' => '/tahun_kapitasi', 'method' => 'tahunKapitasi', 'name' => 'tahunKapitasi'],
                ['verb' => 'get', 'path' => '/kapitasi', 'method' => 'danaKapitasi', 'name' => 'danaKapitasi'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'puskesmas-detail']
            ]
        ],
        [
            'prefix' => '/v5/desa',
            'controller' => 'DesaController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list_provinsi', 'method' => 'listProvinsi', 'name' => 'listProvinsi'],
                ['verb' => 'get', 'path' => '/list_provinsi_omspan', 'method' => 'listProvinsiOmspan', 'name' => 'listProvinsiOmspan'],
                ['verb' => 'get', 'path' => '/search', 'method' => 'search', 'name' => 'search'],
                ['verb' => 'get', 'path' => '/profile', 'method' => 'profile', 'name' => 'profile'],
                ['verb' => 'get', 'path' => '/detil_anggaran', 'method' => 'detilAnggaran', 'name' => 'detilAnggaran'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'desaDetail'],
                ['verb' => 'get', 'path' => '/detail_penduduk/{id}', 'method' => 'detailPenduduk', 'name' => 'desaDetailPenduduk'],
                ['verb' => 'get', 'path' => '/anggaran-nasional', 'method' => 'anggaranNasional', 'name' => 'anggaranNasionalDesa'],
                ['verb' => 'get', 'path' => '/idm-rumusan-desa', 'method' => 'idmRumusanDesa', 'name' => 'idmRumusanDesaDesa'],
                ['verb' => 'get', 'path' => '/idm-datatable-desa', 'method' => 'idmDatatableDesa', 'name' => 'idmDatatableDesaDesa'],
                ['verb' => 'get', 'path' => '/idm-datatable-kabupaten', 'method' => 'idmDatatableKabupaten', 'name' => 'idmDatatableKabupatenDesa'],
                ['verb' => 'get', 'path' => '/idm-export-kabupaten', 'method' => 'idmExportKabupaten', 'name' => 'idmExportKabupatenDesa'],
                ['verb' => 'get', 'path' => '/idm-datatable-provinsi', 'method' => 'idmDatatableProvinsi', 'name' => 'idmDatatableProvinsiDesa'],
                ['verb' => 'get', 'path' => '/idm-export-provinsi', 'method' => 'idmExportProvinsi', 'name' => 'idmExportProvinsiDesa'],
                ['verb' => 'get', 'path' => '/idm-list-provinsi', 'method' => 'idmListProvinsi', 'name' => 'idmListProvinsiDesa'],
                ['verb' => 'get', 'path' => '/idm-status', 'method' => 'idmStatus', 'name' => 'idmStatusDesa'],
                ['verb' => 'get', 'path' => '/bumdes-provinsi/{id}', 'method' => 'bumdesByProv', 'name' => 'bumdesByProvDesa'],
                ['verb' => 'get', 'path' => '/bumdes-count-provinsi/{id}', 'method' => 'bumdesCountProv', 'name' => 'bumdesCountProvDesa'],
                ['verb' => 'get', 'path' => '/bumdes-kabupaten/{id}', 'method' => 'bumdesByKab', 'name' => 'bumdesByKabDesa'],
                ['verb' => 'get', 'path' => '/bumdes-count-kabupaten/{id}', 'method' => 'bumdesCountKab', 'name' => 'bumdesCountKabDesa'],
                ['verb' => 'get', 'path' => '/bumdes-export-kabupaten/{id}', 'method' => 'bumdesExportByKab', 'name' => 'bumdesExportByKabDesa'],
                ['verb' => 'get', 'path' => '/bumdes-desa/{id}', 'method' => 'bumdesByDesa', 'name' => 'bumdesByDesaDesa'],
                ['verb' => 'get', 'path' => '/bumdes-count-desa/{id}', 'method' => 'bumdesCountDesa', 'name' => 'bumdesCountDesaDesa'],
                ['verb' => 'get', 'path' => '/stat-dana-desa', 'method' => 'statDanaDesa', 'name' => 'statDanaDesa'],
                ['verb' => 'get', 'path' => '/list-lokasi', 'method' => 'listLokasi'],
                ['verb' => 'get', 'path' => '/dashboard-dana-desa', 'method' => 'dashboardDanaDesa'],
                ['verb' => 'get', 'path' => '/export-pagu', 'method' => 'exportPaguDanaDesa'],
                ['verb' => 'get', 'path' => '/export-penyaluran', 'method' => 'exportPenyaluranDanaDesa'],
                ['verb' => 'get', 'path' => '/export-penyerapan', 'method' => 'exportPenyerapanDanaDesa'],
                ['verb' => 'get', 'path' => '/total-anggaran', 'method' => 'totalAnggaran'],
                ['verb' => 'get', 'path' => '/list-kabupaten', 'method' => 'listKabupaten'],
                ['verb' => 'get', 'path' => '/search-nama', 'method' => 'searchNama', 'name' => 'desaSearchNama'],
                ['verb' => 'get', 'path' => '/summary/{id}/{tahun}', 'method' => 'summary', 'name' => 'desaSummary'],
            ]
        ],
        [
            'prefix' => '/v5/desa/tani',
            'controller' => 'DesaTaniController',
            'paths' => [
                ['verb' => 'get', 'path' => '/alsitan_prapanen', 'method' => 'alsitanPrapanen', 'name' => 'desaTanialsitanPrapanen'],
                ['verb' => 'get', 'path' => '/alsitan_pascapanen', 'method' => 'alsitanPascapanen', 'name' => 'desaTanialsitanPascapanen'],
                ['verb' => 'get', 'path' => '/sebaran_alsitan_provinsi', 'method' => 'sebaranAlsitanPerProvinsi', 'name' => 'desaTanisebaranAlsitanPerProvinsi'],
                ['verb' => 'get', 'path' => '/jenis_alsitan_prapanen', 'method' => 'jenisAlsitanPrapanen', 'name' => 'desaTanisjenisAlsitanPrapanen'],
                ['verb' => 'get', 'path' => '/jenis_alsitan_pascapanen', 'method' => 'jenisAlsitanPascapanen', 'name' => 'desaTanijenisAlsitanPascapanen'],
                ['verb' => 'get', 'path' => '/holtikultura_penerima_bantuan', 'method' => 'holtikulturaPenerimaBantuan', 'name' => 'desaTaniholtikulturaPenerimaBantuan'],
                ['verb' => 'get', 'path' => '/holtikultura_detail_penerima_bantuan', 'method' => 'holtikulturaDetailPenerimaBantuan', 'name' => 'desaTaniholtikulturaKomuditasRodaTiga'],
                ['verb' => 'get', 'path' => '/holtikultura_penerima_provinsi', 'method' => 'holtikulturaPenerimaPascaProvinsiRodaTiga', 'name' => 'desaTaniholtikulturaPenerimaPascaProvinsiRodaTiga'],
                ['verb' => 'get', 'path' => '/holtikultura_penerima_manfaat', 'method' => 'holtikulturaPenerimaManfaat', 'name' => 'desaTaniholtikulturaPenerimaManfaat'],
                ['verb' => 'get', 'path' => '/holtikultura_detail_penerima_sarana/{tahun}', 'method' => 'holtikulturaDetailPenerimaSaranaPengelolahan', 'name' => 'desaTaniholtikulturaDetailPenerimaSaranaPengelolahan'],
                ['verb' => 'get', 'path' => '/alsitan_pascapanen_perkebunan', 'method' => 'alsitanPascapanenPerkebunan', 'name' => 'desaTanialsitanPascapanenPerkebunan'],
                ['verb' => 'get', 'path' => '/alsitan_pascapanen_tanaman_pangan', 'method' => 'alsitanPascapanenTanamanPangan', 'name' => 'desaTanialsitanPascapanenTanamanPangan'],
                ['verb' => 'get', 'path' => '/ternak_program_desa_sapi', 'method' => 'ternakProgramSeribuDesaSapi', 'name' => 'desaTaniternakProgramSeribuDesaSapi'],
                ['verb' => 'get', 'path' => '/detail_jaga_tani', 'method' => 'detailJagaTani', 'name' => 'desaTanidetailJagaTani'],
                ['verb' => 'get', 'path' => '/get', 'method' => 'get', 'name' => 'desaTaniGet'],
                ['verb' => 'post', 'path' => '/upload', 'method' => 'upload', 'name' => 'desaTaniUpload'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'desaTanidelete'],
                ['verb' => 'post', 'path' => '/delete_by_direktorat', 'method' => 'deleteByDirektorat', 'name' => 'desaTanideletedeleteByDirektorat'],
                ['verb' => 'post', 'path' => '/deleteAll', 'method' => 'deleteAll', 'name' => 'desaTanideleteAll'],
                ['verb' => 'get', 'path' => '/list_provinsi', 'method' => 'listProvinsi', 'name' => 'desaTanilistProvinsi'],
                ['verb' => 'get', 'path' => '/list_kabupaten', 'method' => 'listKabupaten', 'name' => 'desaTanilistKabupaten'],
                ['verb' => 'get', 'path' => '/list_tahun', 'method' => 'listTahun', 'name' => 'desaTanilistTahun'],
                ['verb' => 'get', 'path' => '/list_direktorat', 'method' => 'listDirektorat', 'name' => 'desaTanilistDirektorat'],
            ]
        ],
        [
            'prefix' => '/v5/notification_blast',
            'controller' => 'NotificationBlastController',
            'paths' => [
                ['verb' => 'post', 'path' => '/submit', 'method' => 'submitNotificationBlast', 'name' => 'submitNotificationBlast'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'getNotificationBlastDetail', 'name' => 'getNotificationBlastDetail'],
                ['verb' => 'post', 'path' => '/edit/{id}', 'method' => 'editNotificationBlast', 'name' => 'editNotificationBlast'],
                ['verb' => 'get', 'path' => '/delete/{id}', 'method' => 'deleteNotificationBlast', 'name' => 'deleteNotificationBlast'],
                ['verb' => 'get', 'path' => '/list', 'method' => 'listNotificationBlast', 'name' => 'listNotificationBlast']
            ]
        ],
        [
            'prefix' => '/v5/utility',
            'controller' => 'UtilityController',
            'paths' => [
                ['verb' => 'post', 'path' => '/notify_self', 'method' => 'notifySelf', 'name' => 'notifySelf'],
                ['verb' => 'post', 'path' => '/notify-multicast', 'method' => 'notifyMulticast', 'name' => 'notifyMulticast'],
                ['verb' => 'get', 'path' => '/adapt_username', 'method' => 'adaptUsername', 'name' => 'adaptUsername'],
                ['verb' => 'get', 'path' => '/adapt_jenjang_sekolah', 'method' => 'adaptJenjangSekolah', 'name' => 'adaptJenjangSekolah'],
                ['verb' => 'post', 'path' => '/import_korsupgah_user', 'method' => 'importKorsupgahUser', 'name' => 'utilityImportKorsupgahUser'],
                ['verb' => 'post', 'path' => '/import_stranas_user', 'method' => 'importStranasUser', 'name' => 'utilityImportStranasUser'],
                ['verb' => 'post', 'path' => '/import_user', 'method' => 'importUser', 'name' => 'utilityImportUser'],
                ['verb' => 'post', 'path' => '/import_korsupgah_klop', 'method' => 'importKorsupgahKlop', 'name' => 'utilityImportKorsupgahKlop'],
                ['verb' => 'post', 'path' => '/import_stranas_data', 'method' => 'importStranasData', 'name' => 'utilityImportStranasData'],
                ['verb' => 'post', 'path' => '/import-korsupgah-sub-indikator', 'method' => 'importKorsupgahSubIndikator', 'name' => 'utilityImportKorsupgahSubIndikator'],
                ['verb' => 'post', 'path' => '/test_mail', 'method' => 'testMail', 'name' => 'UtilityTestMail'],
                ['verb' => 'get', 'path' => '/test_omspan_peneyerapan_dana_desa/{kodeLokasi}', 'method' => 'testOmspanPenyerapanDanaDesa', 'name' => 'UtilityTestOmspanPenyerapanDanaDesa'],
                ['verb' => 'get', 'path' => '/test', 'method' => 'test', 'name' => 'UtilityTest'],
                ['verb' => 'get', 'path' => '/export_diskusi', 'method' => 'export_diskusi', 'name' => 'UtilityExportDiskusi'],
                ['verb' => 'get', 'path' => '/notify_queue', 'method' => 'notifyBlockingQueueBeanstalk', 'name' => 'notifyBlockingQueueBeanstalk'],
                ['verb' => 'get', 'path' => '/bpjs-signature', 'method' => 'bpjsSignature', 'name' => 'utilityBpjsSignature'],
                ['verb' => 'get', 'path' => '/bpjs-decrypt', 'method' => 'bpjsDecrypt', 'name' => 'utilityBpjsDecrypt'],
                ['verb' => 'get', 'path' => '/bpjs-stat-kapitasi', 'method' => 'bpjsStatKapitasi', 'name' => 'utilityBpjsStatKapitasi'],
                ['verb' => 'get', 'path' => '/export-administrasi-korsupgah', 'method' => 'exportAdministrasiKorsupgah', 'name' => 'utilityExportAdministrasiKorsupgah'],
                ['verb' => 'post', 'path' => '/import-administrasi-korsupgah', 'method' => 'importAdministrasiKorsupgah', 'name' => 'utilityImportAdministrasiKorsupgah'],
                ['verb' => 'post', 'path' => '/bulk-update-administrasi-korsupgah', 'method' => 'bulkUpdateAdministrasiKorsupgah', 'name' => 'utilityBulkUpdateAdministrasiKorsupgah'],
                ['verb' => 'get', 'path' => '/download-template-administrasi-korsupgah', 'method' => 'downloadTemplateAdministrasiKorsupgah', 'name' => 'utilityDownloadTemplateAdministrasiKorsupgah'],
                ['verb' => 'get', 'path' => '/get-transaksi-bakum', 'method' => 'getTransaksiBakum', 'name' => 'utilityGetTransaksiBakum'],
                ['verb' => 'get', 'path' => '/get-transaksi-bakum-p', 'method' => 'getTransaksiBakumP', 'name' => 'utilityGetTransaksiBakumP'],
                ['verb' => 'post', 'path' => '/test-transaksi-bakum', 'method' => 'testTransaksiBakum', 'name' => 'utilityTestTransaksiBakum'],
                ['verb' => 'post', 'path' => '/import-indikator-pancek', 'method' => 'importIndikatorPancek'],
                ['verb' => 'post', 'path' => '/read-excel-boptn', 'method' => 'readExcelBoptn'],
                ['verb' => 'post', 'path' => '/read-excel-bpptnbh', 'method' => 'readExcelBpptnbh'],
                ['verb' => 'get', 'path' => '/generate-sitemap', 'method' => 'generateSitemap'],
                ['verb' => 'get', 'path' => '/api-tracker', 'method' => 'apiTracker'],
                ['verb' => 'get', 'path' => '/korsupgah-file/{uuid}', 'method' => 'testKorsupgahFile'],
                ['verb' => 'post', 'path' => '/generate-map/{adm_type}', 'method' => 'generateRenamedAdmMapGeojson']
            ]
        ],
        [
            'prefix' => '/v5/lapor',
            'controller' => 'LaporController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'listReport'],
                ['verb' => 'get', 'path' => '/detail', 'method' => 'detail', 'name' => 'detailReport'],
                ['verb' => 'get', 'path' => '/kategori', 'method' => 'categoryList', 'name' => 'reportCategoryList'],
                ['verb' => 'post', 'path' => '/', 'method' => 'create', 'name' => 'createReport'],
                ['verb' => 'post', 'path' => '/follow_up', 'method' => 'followUp', 'name' => 'followUpReport'],
                ['verb' => 'post', 'path' => '/batch_follow_up', 'method' => 'batchFollowUp', 'name' => 'batchFollowUpReport'],
                ['verb' => 'get', 'path' => '/user_category_list', 'method' => 'userCategoryList', 'name' => 'userCategoryList']
            ]
        ],
        [
            'prefix' => '/v5/dashboard',
            'controller' => 'DashboardController',
            'paths' => [
                ['verb' => 'get', 'path' => '/report', 'method' => 'report', 'name' => 'dashboardReport'],
                ['verb' => 'get', 'path' => '/news-report', 'method' => 'newsReport'],
                ['verb' => 'get', 'path' => '/export-news-report', 'method' => 'exportNewsReport'],
                ['verb' => 'get', 'path' => '/keluhan-recap', 'method' => 'keluhanRecap'],
                ['verb' => 'get', 'path' => '/diskusi-recap', 'method' => 'diskusiRecap'],
                ['verb' => 'get', 'path' => '/mcp-recap', 'method' => 'mcpRecap'],

            ]
        ],
        [
            'prefix' => '/v5/korsupgah',
            'controller' => 'KorsupgahController',
            'paths' => [
                ['verb' => 'get', 'path' => '/map_geojson', 'method' => 'mapGeojson'],
                ['verb' => 'get', 'path' => '/summary_map', 'method' => 'summaryMap'],
                ['verb' => 'get', 'path' => '/summary_indikator', 'method' => 'summaryIndikator'],
                ['verb' => 'get', 'path' => '/capaian_area_intervensi', 'method' => 'capaianAreaIntervensi'],
                ['verb' => 'get', 'path' => '/capaian_indikator', 'method' => 'capaianIndikator'],
                ['verb' => 'get', 'path' => '/capaian_sub_indikator', 'method' => 'capaianSubIndikator'],
                ['verb' => 'get', 'path' => '/capaian_instansi_per_sub_indikator', 'method' => 'capaianInstansiPerSubIndikator'],
                ['verb' => 'get', 'path' => '/progress_per_sub_indikator_instansi', 'method' => 'progressPerSubIndikatorInstansi'],
                ['verb' => 'get', 'path' => '/capaian_instansi_per_indikator', 'method' => 'capaianInstansiPerIndikator'],
                ['verb' => 'get', 'path' => '/capaian_instansi_per_area_intervensi', 'method' => 'capaianInstansiPerAreaIntervensi'],
                ['verb' => 'get', 'path' => '/download_mcp_content', 'method' => 'downloadMcpContent'],
            ]
        ],
        [
            'prefix' => '/v5/korsupgah_report',
            'controller' => 'KorsupgahReportController',
            'paths' => [
                ['verb' => 'get', 'path' => '/r', 'method' => 'reports'],
                ['verb' => 'get', 'path' => '/r2', 'method' => 'reports2'],
                ['verb' => 'get', 'path' => '/mcsp-verifier-report/{year}', 'method' => 'mcspVerifierReport'],
                ['verb' => 'get', 'path' => '/mcsp-indikator-report/{year}', 'method' => 'mcspIndikatorReport'],
                ['verb' => 'get', 'path' => '/', 'method' => 'index'],
                ['verb' => 'get', 'path' => '/total', 'method' => 'total'],
                ['verb' => 'get', 'path' => '/area_intervensi', 'method' => 'area_intervensi'],
                ['verb' => 'get', 'path' => '/indikator', 'method' => 'indikator'],
                ['verb' => 'get', 'path' => '/sub_indikator', 'method' => 'sub_indikator'],
                ['verb' => 'get', 'path' => '/provinsi', 'method' => 'provinsi'],
                ['verb' => 'get', 'path' => '/kabupaten', 'method' => 'kabupaten'],
                ['verb' => 'get', 'path' => '/mcp_per_direktorat', 'method' => 'mcp_per_direktorat'],
                ['verb' => 'get', 'path' => '/indikator-recap-per-instansi-type/{year}', 'method' => 'indikatorRecap'],
                ['verb' => 'get', 'path' => '/mcp-payload-per-provinsi', 'method' => 'mcp_payload_per_provinsi'],
                ['verb' => 'get', 'path' => '/mcp-verifier-report/{year}', 'method' => 'mcspDownloadVerifierReport'],
                ['verb' => 'get', 'path' => '/mcp-filled-attachment-report/{year}', 'method' => 'mcspDownloadFilledAttachmentReport'],
                ['verb' => 'get', 'path' => '/mcp-filled-attachment-report-per-instansi/{year}/{instansiId}', 'method' => 'mcspDownloadFilledAttachmentReportPerInstansi'],
                ['verb' => 'get', 'path' => '/mcsp-unverified-docs-report/{year}', 'method' => 'mcspDownloadUnverifiedDocsReport'],
                ['verb' => 'get', 'path' => '/mcsp-qa-report/{year}', 'method' => 'mcspQaReport'],
                ['verb' => 'get', 'path' => '/mcsp-node-scores/{year}/{id}', 'method' => 'mcspNodeScoresReport'],
            ]
        ],
        [
            'prefix' => '/v5/jendela_daerah',
            'controller' => 'JendelaDaerahController',
            'paths' => [
                ['verb' => 'get', 'path' => '/provinsi', 'method' => 'provinsi'],
                ['verb' => 'get', 'path' => '/wilayah', 'method' => 'wilayah'],
                ['verb' => 'get', 'path' => '/kementerian', 'method' => 'kementerian'],
                ['verb' => 'get', 'path' => '/jejak_kasus', 'method' => 'jejakKasus'],
                ['verb' => 'get', 'path' => '/jejak_kasus_summary', 'method' => 'jejakKasusSummary'],
                ['verb' => 'post', 'path' => '/jejak_kasus_upload', 'method' => 'jejakKasusUpload'],
                ['verb' => 'get', 'path' => '/laporan_gratifikasi', 'method' => 'laporanGratifikasi'],
                ['verb' => 'get', 'path' => '/gratifikasi_upg', 'method' => 'gratifikasiUpg'],
                ['verb' => 'post', 'path' => '/gratifikasi_upg_upload', 'method' => 'gratifikasiUpgUpload'],
                ['verb' => 'get', 'path' => '/laporan_gratifikasi_new', 'method' => 'laporanGratifikasiNew'],
                ['verb' => 'get', 'path' => '/laporan_gratifikasi_nasional', 'method' => 'laporanGratifikasiNasional'],
                ['verb' => 'get', 'path' => '/laporan_gratifikasi_instansi', 'method' => 'laporanGratifikasiInstansi'],
                ['verb' => 'get', 'path' => '/dashboard/list-instansi', 'method' => 'listInstansi'],
                ['verb' => 'get', 'path' => '/dashboard/korwil/{id}', 'method' => 'dashboardKorwil'],
                ['verb' => 'get', 'path' => '/dashboard/elhkpn', 'method' => 'dashboardElhkpn'],
                ['verb' => 'get', 'path' => '/dashboard/gratifikasi', 'method' => 'dashboardGratifikasi'],
                ['verb' => 'get', 'path' => '/dashboard/spi', 'method' => 'dashboardSpi'],
                ['verb' => 'get', 'path' => '/dashboard/stranas', 'method' => 'dashboardStranas'],
                ['verb' => 'get', 'path' => '/dashboard/summary', 'method' => 'dashboardSummary'],
                ['verb' => 'get', 'path' => '/default-year', 'method' => 'defaultYear'],
            ]
        ],
        [
            'prefix' => '/v5/stranas/summary',
            'controller' => 'StranasSummaryController',
            'paths' => [
                ['verb' => 'get', 'path' => '/drill', 'method' => 'drill', 'name' => 'StranasSummaryDrill'],
                ['verb' => 'get', 'path' => '/drill2', 'method' => 'drill2', 'name' => 'StranasSummaryDrill2'],
                ['verb' => 'get', 'path' => '/drill_capaian_instansi', 'method' => 'drillCapaianInstansi', 'name' => 'StranasSummaryDrillCapaianInstansi'],
                ['verb' => 'get', 'path' => '/drill_target', 'method' => 'drillTarget', 'name' => 'StranasSummaryDrillTarget'],
                ['verb' => 'get', 'path' => '/instansi', 'method' => 'instansi', 'name' => 'StranasSummaryInstansi'],
                ['verb' => 'get', 'path' => '/detail_ukuran_keberhasilan', 'method' => 'detailUkuranKeberhasilan', 'name' => 'StranasSummaryDetailUkuranKeberhasilan'],
                ['verb' => 'get', 'path' => '/target', 'method' => 'target', 'name' => 'StranasSummaryTarget'],
                ['verb' => 'get', 'path' => '/target_instansi', 'method' => 'target_instansi', 'name' => 'StranasSummaryTargetInstansi'],
                ['verb' => 'get', 'path' => '/laporan_kepatuhan', 'method' => 'laporan_kepatuhan', 'name' => 'StranasSummaryLaporanKepatuhan'],
                ['verb' => 'get', 'path' => '/export_target', 'method' => 'export_target', 'name' => 'StranasSummaryExportTarget']
                // FIXME: remove if replacement function has stable
                // ['verb' => 'get', 'path' => '/global', 'method' => 'global', 'name' => 'StranasSummaryGlobal'],
                // ['verb' => 'get', 'path' => '/fokus', 'method' => 'fokus', 'name' => 'StranasSummaryFokus'],
                // ['verb' => 'get', 'path' => '/aksi', 'method' => 'aksi', 'name' => 'StranasSummaryAksi'],
                // ['verb' => 'get', 'path' => '/subaksi', 'method' => 'subaksi', 'name' => 'StranasSummarySubaksi'],
                // ['verb' => 'get', 'path' => '/ukuran_keberhasilan', 'method' => 'ukuran_keberhasilan', 'name' => 'StranasSummaryUkuranKeberhasilan'],

            ]
        ],
        [
            'prefix' => '/v5/stranas/utility',
            'controller' => 'StranasUtilityController',
            'paths' => [
                ['verb' => 'get', 'path' => '/unfinished_target_list', 'method' => 'unfinishedTargetList', 'name' => 'StranasUtilityUnfinishedTargetList'],
                ['verb' => 'post', 'path' => '/import_target_to_periode', 'method' => 'importTargetToPeriode', 'name' => 'StranasUtilityImportTargetToPeriode']
            ]
        ],
        [
            'prefix' => '/v5/stranas/fokus',
            'controller' => 'StranasFokusController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'StranasFokusList'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'StranasFokusCreate'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'StranasFokusUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'StranasFokusDelete'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'StranasFokusDetail'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'StranasFokusRestore'],
            ]
        ],
        [
            'prefix' => '/v5/stranas/aksi',
            'controller' => 'StranasAksiController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'StranasAksiList'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'StranasAksiCreate'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'StranasAksiUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'StranasAksiDelete'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'StranasAksiDetail'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'StranasAksiRestore'],
            ]
        ],
        [
            'prefix' => '/v5/stranas/subaksi',
            'controller' => 'StranasSubaksiController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'StranasSubaksiList'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'StranasSubaksiCreate'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'StranasSubaksiUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'StranasSubaksiDelete'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'StranasSubaksiDetail'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'StranasSubaksiRestore'],
            ]
        ],
        [
            'prefix' => '/v5/stranas/ukuran_keberhasilan',
            'controller' => 'StranasUkuranKeberhasilanController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'StranasUkuranKeberhasilanList'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'StranasUkuranKeberhasilanCreate'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'StranasUkuranKeberhasilanUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'StranasUkuranKeberhasilanDelete'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'StranasUkuranKeberhasilanDetail'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'StranasUkuranKeberhasilanRestore'],
            ]
        ],
        [
            'prefix' => '/v5/stranas/target',
            'controller' => 'StranasTargetController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'StranasTargetList'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'StranasTargetCreate'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'StranasTargetUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'StranasTargetDelete'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'StranasTargetDetail'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'StranasTargetRestore'],
            ]
        ],
        [
            'prefix' => '/v5/stranas/report',
            'controller' => 'StranasReportController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'StranasTargetInstansi'],
                ['verb' => 'get', 'path' => '/top10', 'method' => 'getTop10Achievement', 'name' => 'StranasGetTop10'],
                ['verb' => 'get', 'path' => '/getBobot', 'method' => 'getListBobot', 'name' => 'getListBobot'],
                ['verb' => 'get', 'path' => '/genAchievement', 'method' => 'generateAchievement', 'name' => 'GenerateAchievement'],

                ['verb' => 'get', 'path' => '/log', 'method' => 'getTargetLog', 'name' => 'StranasTargetLog'],
                ['verb' => 'get', 'path' => '/target', 'method' => 'getTarget', 'name' => 'StranasTarget'],
                ['verb' => 'get', 'path' => '/dashboard', 'method' => 'dashboard', 'name' => 'dashboard'],
                ['verb' => 'get', 'path' => '/genDashboard', 'method' => 'generateDashboard', 'name' => 'GenerateDashboard'],

                ['verb' => 'get', 'path' => '/genExcel', 'method' => 'genExcel', 'name' => 'GenExcel'],
                ['verb' => 'get', 'path' => '/genNewPeriod', 'method' => 'genNewPeriod', 'name' => 'GenNewPeriod'],
            ]
        ],
        // NEW STRANAS
        [
            'prefix' => '/v5/stranas/_periode',
            'controller' => 'StranasNewPeriodeController',
            'paths' => [
                ['verb' => 'get',   'path'  => '/', 'method' => 'index', 'name' => 'StranasNewPeriode'],
                ['verb' => 'post',  'path' => '/create', 'method' => 'create', 'name' => 'StranasNewPeriodeCreate'],
                ['verb' => 'post',  'path' => '/copy', 'method' => 'copy', 'name' => 'StranasNewPeriodeCopy'],
                ['verb' => 'post',  'path' => '/set_active', 'method' => 'create', 'name' => 'StranasNewPeriodeSetactive'],
                ['verb' => 'get',   'path'  => '/detail/{id}', 'method' => 'detail', 'name' => 'StranasNewPeriodeDetail'],
                ['verb' => 'post',  'path' => '/update/{id}', 'method' => 'update', 'name' => 'StranasNewPeriodeUpdate'],
                ['verb' => 'post',  'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'StranasNewPeriodeDelete'],
                // additional
                ['verb' => 'post',  'path' => '/toggleActive/{id}', 'method' => 'toggleActive', 'name' => 'StranasNewPeriodeToggleActive'],
                ['verb' => 'post',  'path' => '/updateTriwulan/{id}', 'method' => 'updateTriwulan', 'name' => 'StranasNewPeriodeUpdateTriwulan'],
            ]
        ],
        [
            'prefix' => '/v5/stranas/_notification',
            'controller' => 'StranasNewNotificationController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'StranasNewNotification'],
                ['verb' => 'get', 'path' => '/indicators/{id_instansi}', 'method' => 'indicators', 'name' => 'StranasNewNotificationIndicators'],
                ['verb' => 'post', 'path' => '/notify', 'method' => 'notify', 'name' => 'StranasNewNotificationNotify'],
                ['verb' => 'get', 'path' => '/history_by_time', 'method' => 'historyByTime', 'name' => 'StranasNewNotificationHistoryByTime'],
                ['verb' => 'get', 'path' => '/history_by_time/{id_notification}', 'method' => 'historyDetailByTime', 'name' => 'StranasNewNotificationHistoryDetailByTime'],
                ['verb' => 'get', 'path' => '/history_by_instansi', 'method' => 'historyByInstansi', 'name' => 'StranasNewNotificationHistoryByInstansi'],
                ['verb' => 'get', 'path' => '/history_by_instansi/{id_instansi}', 'method' => 'historyDetailByInstansi', 'name' => 'StranasNewNotificationHistoryDetailByInstansi'],
            ]
        ],
        [
            'prefix' => '/v5/stranas/_snapshot',
            'controller' => 'StranasNewSnapshotController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'StranasNewSnapshot'],
            ]
        ],
        [
            'prefix' => '/v5/stranas/_singkatan',
            'controller' => 'StranasNewAbbrController',
            'paths' => [
                ['verb' => 'get',   'path'  => '/', 'method' => 'index', 'name' => 'StranasNewAbbr'],
                ['verb' => 'post',  'path' => '/create', 'method' => 'create', 'name' => 'StranasNewAbbrCreate'],
                ['verb' => 'get',   'path'  => '/detail/{id}', 'method' => 'detail', 'name' => 'StranasNewAbbrDetail'],
                ['verb' => 'post',  'path' => '/update/{id}', 'method' => 'update', 'name' => 'StranasNewAbbrUpdate'],
                ['verb' => 'post',  'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'StranasNewAbbrDelete'],
            ]
        ],
        [
            'prefix' => '/v5/stranas/_help',
            'controller' => 'StranasNewHelpController',
            'paths' => [
                ['verb' => 'get',   'path'  => '/', 'method' => 'index', 'name' => 'StranasNewHelp'],
                ['verb' => 'post',  'path' => '/create', 'method' => 'create', 'name' => 'StranasNewHelpCreate'],
                ['verb' => 'get',   'path'  => '/detail/{id}', 'method' => 'detail', 'name' => 'StranasNewHelpDetail'],
                ['verb' => 'post',  'path' => '/update/{id}', 'method' => 'update', 'name' => 'StranasNewHelpUpdate'],
                ['verb' => 'post',  'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'StranasNewHelpDelete'],
            ]
        ],
        [
            'prefix' => '/v5/stranas/_type',
            'controller' => 'StranasNewTargetTypeController',
            'paths' => [
                ['verb' => 'get',   'path'  => '/', 'method' => 'index', 'name' => 'StranasNewTargetType'],
                ['verb' => 'post',  'path' => '/create', 'method' => 'create', 'name' => 'StranasNewTargetTypeCreate'],
                ['verb' => 'get',   'path'  => '/detail/{id}', 'method' => 'detail', 'name' => 'StranasNewTargetTypeDetail'],
                ['verb' => 'post',  'path' => '/update/{id}', 'method' => 'update', 'name' => 'StranasNewTargetTypeUpdate'],
                ['verb' => 'post',  'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'StranasNewTargetTypeDelete'],
            ]
        ],
        [
            'prefix' => '/v5/stranas/_hierarchy',
            'controller' => 'StranasNewHierarchyController',
            'paths' => [
                ['verb' => 'get',   'path'  => '/', 'method' => 'index', 'name' => 'StranasNewHierarchy'],
                ['verb' => 'post',  'path' => '/create', 'method' => 'create', 'name' => 'StranasNewHierarchyCreate'],
                ['verb' => 'get',   'path'  => '/detail/{id}', 'method' => 'detail', 'name' => 'StranasNewHierarchyDetail'],
                ['verb' => 'post',  'path' => '/update/{id}', 'method' => 'update', 'name' => 'StranasNewHierarchyUpdate'],
                ['verb' => 'post',  'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'StranasNewHierarchyDelete'],
                ['verb' => 'post',  'path' => '/restore/{id}', 'method' => 'restored', 'name' => 'StranasNewHierarchyRestored'],
            ]
        ],
        [
            'prefix' => '/v5/stranas/_target',
            'controller' => 'StranasNewTargetController',
            'paths' => [
                ['verb' => 'get',   'path'  => '/', 'method' => 'index', 'name' => 'StranasNewTarget'],
                ['verb' => 'post',  'path' => '/create', 'method' => 'create', 'name' => 'StranasNewTargetCreate'],
                ['verb' => 'post',  'path' => '/set_active', 'method' => 'create', 'name' => 'StranasNewTargetSetactive'],
                ['verb' => 'get',   'path'  => '/detail/{id}', 'method' => 'detail', 'name' => 'StranasNewTargetDetail'],
                ['verb' => 'post',  'path' => '/update/{id}', 'method' => 'update', 'name' => 'StranasNewTargetUpdate'],
                ['verb' => 'post',  'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'StranasNewTargetDelete'],
                ['verb' => 'post',  'path' => '/forcedelete/{id}', 'method' => 'forcedelete', 'name' => 'StranasNewTargetForceDelete'],
                ['verb' => 'post',  'path' => '/restore/{id}', 'method' => 'restored', 'name' => 'StranasNewTargetRestore'],
                // panduan penilaian
                ['verb' => 'get',  'path' => '/guide/{id_target}', 'method' => 'guide', 'name' => 'StranasNewTargetGuide'],
                ['verb' => 'post',  'path' => '/addguide/{id_target}', 'method' => 'addguide', 'name' => 'StranasNewTargetAddGuide'],
                ['verb' => 'post',  'path' => '/updateguide/{id}', 'method' => 'updateguide', 'name' => 'StranasNewTargetUpdateGuide'],
                ['verb' => 'post',  'path' => '/deleteguide/{id}', 'method' => 'deleteguide', 'name' => 'StranasNewTargetDeleteGuide'],
                // activity
                ['verb' => 'get',  'path' => '/activity/{id_master}', 'method' => 'activity', 'name' => 'StranasNewTargetActivity'],
                ['verb' => 'post',  'path' => '/addactivity/{id_master}', 'method' => 'addactivity', 'name' => 'StranasNewTargetAddActivity'],
                ['verb' => 'post',  'path' => '/updateactivity/{id}', 'method' => 'updateactivity', 'name' => 'StranasNewTargetUpdateActivity'],
                ['verb' => 'post',  'path' => '/deleteactivity/{id}', 'method' => 'deleteactivity', 'name' => 'StranasNewTargetDeleteActivity'],
            ]
        ],
        [
            'prefix' => '/v5/stranas/_report',
            'controller' => 'StranasNewReportController',
            'paths' => [
                ['verb' => 'get',   'path'  => '/', 'method' => 'index', 'name' => 'StranasNewReport'],
                ['verb' => 'get',   'path'  => '/summary', 'method' => 'summary', 'name' => 'StranasNewReportSummary'],
                ['verb' => 'get',   'path'  => '/detail', 'method' => 'detail', 'name' => 'StranasNewReportDetail'],
                ['verb' => 'post',   'path'  => '/submit', 'method' => 'submit', 'name' => 'StranasNewReportSubmit'],
                ['verb' => 'post',   'path'  => '/verify', 'method' => 'verify', 'name' => 'StranasNewReportVerify'],
                ['verb' => 'post',   'path'  => '/comment', 'method' => 'comment', 'name' => 'StranasNewReportComment'],
                ['verb' => 'post',   'path'  => '/comment/delete/{id}', 'method' => 'commentdelete', 'name' => 'StranasNewReportCommentDelete'],
                ['verb' => 'get',    'path' => '/twreport01', 'method' => 'twreport01', 'name' => 'StranasNewReportTwReport01'],
                ['verb' => 'get',    'path' => '/twreport02', 'method' => 'twreport02', 'name' => 'StranasNewReportTwReport02']
            ]
        ],
        [
            'prefix' => '/v5/stranas/_dashboard',
            'controller' => 'StranasNewDashboardController',
            'paths' => [
                ['verb' => 'get',   'path'  => '/', 'method' => 'index', 'name' => 'StranasNewDashboard'],
                ['verb' => 'get',   'path'  => '/target', 'method' => 'target', 'name' => 'StranasNewDashboardTarget'],
                ['verb' => 'get',   'path'  => '/rekap', 'method' => 'rekap', 'name' => 'StranasNewDashboardRekap'],
            ]
        ],
        // END NEW STRANAS

        // BEGIN NEW STRANAS PK 2023
        // with NoSQL SleekDB as database.
        // Hope for a bright future! 🇮🇩
        // Barakallah (بارك الله)
        [
            'prefix' => '/v5/stranaspk/logframe',
            'controller' => 'StranaspkLogframeController',
            'paths' => [
                ['verb' => 'get', 'path'  => '/', 'method' => 'index', 'name' => 'StranasPkLogframe'],
                ['verb' => 'get', 'path'  => '/get-search-options', 'method' => 'getSearchOptions', 'name' => 'StranasPkGetSearchOptions'],
                ['verb' => 'post', 'path'  => '/report', 'method' => 'report', 'name' => 'StranasPkLogframeReport'],
                ['verb' => 'post', 'path'  => '/delete-report', 'method' => 'deleteReport', 'name' => 'StranasPkLogframeDeleteReport'],
                ['verb' => 'post', 'path'  => '/verify', 'method' => 'verify', 'name' => 'StranasPkLogframeVerify'],
                ['verb' => 'post', 'path'  => '/delete-verification', 'method' => 'deleteVerification', 'name' => 'StranasPkLogframeDeleteVerification'],
                ['verb' => 'get', 'path' => '/logframe-list', 'method' => 'logframeList', 'name' => 'StranasPkLogframeList'],
                ['verb' => 'post', 'path' => '/searchLogFrame', 'method' => 'searchLogframes', 'name' => 'StranasPkSearchLogFrame'],
                ['verb' => 'post', 'path' => '/insertNewLogFrame', 'method' => 'postNewLogFrame', 'name' => 'StranasPkInsertNewLogFrame'],
                ['verb' => 'post', 'path' => '/deleteLogFrame', 'method' => 'deleteLogFrameByID', 'name' => 'StranasPkDeleteLogFrame'],
                ['verb' => 'get', 'path' => '/getLogframeCrud', 'method' => 'getLogFrameIndex', 'name' => 'StranasPkListLogFrame'],
                ['verb' => 'get', 'path' => '/logframe-detail', 'method' => 'detailLogframe', 'name' => 'StranasPkLogframeDetail'],
                ['verb' => 'post', 'path' => '/updateLogFrame', 'method' => 'updateLogFrame', 'name' => 'StranasPkUpdateLogFrame'],
                // To be implemented soon:
                // ['verb' => 'init', 'path'  => '/init', 'method' => 'init', 'name' => 'StranasPkLogframeInit'],
                // ['verb' => 'post', 'path'  => '/create', 'method' => 'create', 'name' => 'StranasPkLogframeCreate'],
                // ['verb' => 'post', 'path'  => '/upload', 'method' => 'upload', 'name' => 'StranasPkLogframeUpload'],
                // ['verb' => 'post', 'path'  => '/update', 'method' => 'update', 'name' => 'StranasPkLogframeUpdate'],
                // ['verb' => 'post', 'path'  => '/delete', 'method' => 'delete', 'name' => 'StranasPkLogframeDelete'],
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/instansi',
            'controller' => 'StranaspkLogframeController',
            'paths' => [
                ['verb' => 'get', 'path'  => '/', 'method' => 'getAllInstansi', 'name' => 'StranasPkAllInstansi'],
                ['verb' => 'post', 'path'  => '/updateInstansi', 'method' => 'postInstansiByMilestone', 'name' => 'StranasPkUpdateInstansi'],
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/logframe-report',
            'controller' => 'StranaspkLogframeReportController',
            'paths' => [
                ['verb' => 'get', 'path'  => '/report01', 'method' => 'report01', 'name' => 'StranasPkLogframeReport01'],
                ['verb' => 'get', 'path'  => '/report02', 'method' => 'report02', 'name' => 'StranasPkLogframeReport02'],
                ['verb' => 'get', 'path'  => '/report03', 'method' => 'report03', 'name' => 'StranasPkLogframeReport03'],
                ['verb' => 'get', 'path'  => '/report04', 'method' => 'report04', 'name' => 'StranasPkLogframeReport04'],
                ['verb' => 'post', 'path'  => '/getuser', 'method' => 'selectNamaUserWhereIn', 'name' => 'StranasPkLogframeSelectNamaUser'],
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/verification/request-perubahan',
            'controller' => 'StranaspkVerifyRequestPerubahanController',
            'paths' => [
                ['verb' => 'post', 'path'  => '/', 'method' => 'request_perubahaan', 'name' => 'verificationRequestPerubahan'],
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/TargetOutput',
            'controller' => 'StranaspkNewTargetOutputController',
            'paths' => [
                ['verb' => 'post', 'path'  => '/upload', 'method' => 'upload_excel', 'name' => 'uploadTargetOutput'],
                [
                    'verb' => 'post',
                    'path' => '/search',
                    'method' => 'searchLogframeAksi',
                    'name' => 'SearchLogframeAksi'
                ],
                ['verb' => 'post', 'path' => '/submit', 'method' => 'submitLogframeTarget', 'name' => 'SubmitLogframeTarget'],
                ['verb' => 'get', 'path' => '/calendar', 'method' => 'CheckTanggalPengisian', 'name' => 'CheckTanggalPengisian']
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/TargetOutput-2025',
            'controller' => 'StranaspkNewTargetOutput2025Controller',
            'paths' => [
                ['verb' => 'post', 'path'  => '/upload', 'method' => 'upload_excel', 'name' => 'uploadTargetOutput'],
                [
                    'verb' => 'post',
                    'path' => '/search',
                    'method' => 'searchLogframeAksi',
                    'name' => 'SearchLogframeAksi'
                ],
                ['verb' => 'post', 'path' => '/submit', 'method' => 'submitLogframeTarget', 'name' => 'SubmitLogframeTarget'],
                ['verb' => 'get', 'path' => '/calendar', 'method' => 'CheckTanggalPengisian', 'name' => 'CheckTanggalPengisian']
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/admin',
            'controller' => 'StranaspkAdministratorMilestone2024',
            'paths' => [
                ['verb' => 'post', 'path'  => '/upload', 'method' => 'upload_excel', 'name' => 'uploadTargetOutput'],
                [
                    'verb' => 'post',
                    'path' => '/search',
                    'method' => 'searchLogframeAksi',
                    'name' => 'SearchLogframeAksi'
                ],
                ['verb' => 'post', 'path' => '/submit', 'method' => 'submitLogframeTarget', 'name' => 'SubmitLogframeTarget'],
                ['verb' => 'get', 'path' => '/calendar', 'method' => 'CheckTanggalPengisian', 'name' => 'CheckTanggalPengisian']
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/logframe-aksi',
            'controller' => 'StranaspkLogframeAksi2024Controller',
            'paths' => [
                ['verb' => 'get', 'path'  => '/read-aksi', 'method' => 'get_all_logframe_aksi', 'name' => 'get_all_logframe_aksi'],
                ['verb' => 'post', 'path'  => '/submit-aksi', 'method' => 'submit_logframe_aksi', 'name' => 'submit_logframe_aksi'],
                ['verb' => 'post', 'path'  => '/edit-aksi', 'method' => 'edit_logframe_aksi', 'name' => 'edit_logframe_aksi'],
                ['verb' => 'post', 'path'  => '/delete-aksi', 'method' => 'delete_logframe_aksi', 'name' => 'delete_logframe_aksi'],
                ['verb' => 'post', 'path'  => '/search-aksi', 'method' => 'search_logframe_aksi', 'name' => 'search_logframe_aksi'],
                ['verb' => 'post', 'path'  => '/search-aksi-by-instansi', 'method' => 'search_logframe_aksi_by_instansi', 'name' => 'search_logframe_aksi_by_instansi'],
                ['verb' => 'post', 'path'  => '/read-audit-aksi', 'method' => 'read_audit_aksi', 'name' => 'read_audit_aksi'],
                ['verb' => 'get', 'path'  => '/read-all-audit-aksi', 'method' => 'read_all_audit_aksi', 'name' => 'read_all_audit_aksi'],
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/logframe-aksi-2025',
            'controller' => 'StranaspkLogframeAksi2025Controller',
            'paths' => [
                ['verb' => 'get', 'path'  => '/read-aksi', 'method' => 'get_all_logframe_aksi', 'name' => 'get_all_logframe_aksi'],
                ['verb' => 'post', 'path'  => '/submit-aksi', 'method' => 'submit_logframe_aksi', 'name' => 'submit_logframe_aksi'],
                ['verb' => 'post', 'path'  => '/edit-aksi', 'method' => 'edit_logframe_aksi', 'name' => 'edit_logframe_aksi'],
                ['verb' => 'post', 'path'  => '/delete-aksi', 'method' => 'delete_logframe_aksi', 'name' => 'delete_logframe_aksi'],
                ['verb' => 'post', 'path'  => '/search-aksi', 'method' => 'search_logframe_aksi', 'name' => 'search_logframe_aksi'],
                ['verb' => 'post', 'path'  => '/search-aksi-by-instansi', 'method' => 'search_logframe_aksi_by_instansi', 'name' => 'search_logframe_aksi_by_instansi'],
                ['verb' => 'post', 'path'  => '/read-audit-aksi', 'method' => 'read_audit_aksi', 'name' => 'read_audit_aksi'],
                ['verb' => 'get', 'path'  => '/read-all-audit-aksi', 'method' => 'read_all_audit_aksi', 'name' => 'read_all_audit_aksi'],
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/logframe-output',
            'controller' => 'StranaspkLogframeOutput2024Controller',
            'paths' => [
                ['verb' => 'get', 'path'  => '/read-output', 'method' => 'get_all_logframe_output', 'name' => 'get_all_logframe_output'],
                ['verb' => 'post', 'path'  => '/submit-output', 'method' => 'submit_logframe_output', 'name' => 'get_all_logframe_aksi'],
                ['verb' => 'post', 'path'  => '/edit-output', 'method' => 'edit_logframe_output', 'name' => 'edit_logframe_output'],
                ['verb' => 'post', 'path'  => '/delete-output', 'method' => 'delete_logframe_output', 'name' => 'delete_logframe_output'],
                ['verb' => 'post', 'path'  => '/search-output', 'method' => 'search_logframe_output', 'name' => 'search_logframe_output'],
                ['verb' => 'post', 'path'  => '/read-output-by-aksi-id', 'method' => 'read_output_by_aksi_id', 'name' => 'read_output_by_aksi_id'],
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/logframe-output-2025',
            'controller' => 'StranaspkLogframeOutput2025Controller',
            'paths' => [
                ['verb' => 'get', 'path'  => '/read-output', 'method' => 'get_all_logframe_output', 'name' => 'get_all_logframe_output'],
                ['verb' => 'get', 'path'  => '/read-output-2025', 'method' => 'get_all_logframe_output_2025', 'name' => 'get_all_logframe_output_2025'],
                ['verb' => 'post', 'path'  => '/submit-output', 'method' => 'submit_logframe_output', 'name' => 'get_all_logframe_aksi'],
                ['verb' => 'post', 'path'  => '/edit-output', 'method' => 'edit_logframe_output', 'name' => 'edit_logframe_output'],
                ['verb' => 'post', 'path'  => '/delete-output', 'method' => 'delete_logframe_output', 'name' => 'delete_logframe_output'],
                ['verb' => 'post', 'path'  => '/search-output', 'method' => 'search_logframe_output', 'name' => 'search_logframe_output'],
                ['verb' => 'post', 'path'  => '/read-output-by-aksi-id', 'method' => 'read_output_by_aksi_id', 'name' => 'read_output_by_aksi_id'],
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/logframe-perubahan',
            'controller' => 'StranaspkLogframePerubahan2024Controller',
            'paths' => [
                ['verb' => 'post', 'path'  => '/read-perubahan', 'method' => 'read_perubahan', 'name' => 'read_perubahan'],
                ['verb' => 'post', 'path'  => '/setuju-perubahan', 'method' => 'setuju_perubahan', 'name' => 'setuju_perubahan'],
                ['verb' => 'post', 'path'  => '/setuju-perubahan-ta-monev', 'method' => 'setuju_perubahan_ta_monev', 'name' => 'setuju_perubahan'],
                ['verb' => 'post', 'path'  => '/sendtoperubahanlog', 'method' => 'sendtoperubahanlog', 'name' => 'sendtoperubahanlog']
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/logframe-perubahan-2025',
            'controller' => 'StranaspkLogframePerubahan2025Controller',
            'paths' => [
                ['verb' => 'post', 'path'  => '/read-perubahan', 'method' => 'read_perubahan', 'name' => 'read_perubahan'],
                ['verb' => 'post', 'path'  => '/setuju-perubahan', 'method' => 'setuju_perubahan', 'name' => 'setuju_perubahan'],
                ['verb' => 'post', 'path'  => '/setuju-perubahan-ta-monev', 'method' => 'setuju_perubahan_ta_monev', 'name' => 'setuju_perubahan'],
                ['verb' => 'post', 'path'  => '/sendtoperubahanlog', 'method' => 'sendtoperubahanlog', 'name' => 'sendtoperubahanlog']
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/logframe-summary',
            'controller' => 'StranaspkSummaryAksi2024Controller',
            'paths' => [
                ['verb' => 'get', 'path' => '/summary-aksi', 'method' => 'summary_aksi', 'name' => 'summary_aksi']
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/logframe-summary-2025',
            'controller' => 'StranaspkSummaryAksi2025Controller',
            'paths' => [
                ['verb' => 'get', 'path' => '/summary-aksi', 'method' => 'summary_aksi', 'name' => 'summary_aksi']
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/logframe-milestone',
            'controller' => 'StranaspkLogframeMilestone2024Controller',
            'paths' => [
                ['verb' => 'post', 'path' => '/upload_data_dukung', 'method' => 'upload_data_dukung', 'name' => 'upload_data_dukung'],
                ['verb' => 'post', 'path'  => '/get-nilai-milestone', 'method' => 'get_nilai_milestone', 'name' => 'get-nilai-milestone'],
                ['verb' => 'post', 'path'  => '/read-milestone-instansi', 'method' => 'read_milestone_instansi', 'name' => 'read-milestone-instansi'],
                ['verb' => 'post', 'path'  => '/read-output', 'method' => 'read_output', 'name' => 'read-output'],
                ['verb' => 'post', 'path'  => '/read-milestone-by-output-id', 'method' => 'read_milestone', 'name' => 'read-milestone'],
                ['verb' => 'post', 'path' => '/get-data-milestone-instansi', 'method' => 'get_data_milestone_instansi', 'name' => 'get_data_milestone_instansi'],
                ['verb' => 'post', 'path'  => '/get-milestone-by-output-id-perubahan', 'method' => 'get_milestone_by_output_id_perubahan', 'name' => 'read-milestone'],
                ['verb' => 'post', 'path'  => '/download-laporan-milestone', 'method' => 'download_laporan_milestone_2024', 'name' => 'download_laporan_milestone_2024'],
                ['verb' => 'get', 'path'  => '/download-data-dukung-stranaspk', 'method' => 'download_data_dukung_stranaspk_2024', 'name' => 'download_data_dukung_stranaspk_2024'],
                ['verb' => 'get', 'path'  => '/read-milestone', 'method' => 'get_all_logframe_milestone', 'name' => 'get_all_logframe_milestone'],
                ['verb' => 'post', 'path'  => '/read-milestone-with-attachment', 'method' => 'read_milestone_with_attachment', 'name' => 'read_milestone_with_attachment'],
                ['verb' => 'post', 'path'  => '/submit-milestone', 'method' => 'submit_logframe_milestone', 'name' => 'get_all_logframe_aksi'],
                ['verb' => 'post', 'path'  => '/edit-milestone', 'method' => 'edit_logframe_milestone', 'name' => 'edit_logframe_milestone'],
                ['verb' => 'post', 'path'  => '/edit-nilai-milestone', 'method' => 'edit_logframe_nilai_milestone', 'name' => 'edit_logframe_nilai_milestone'],
                ['verb' => 'post', 'path'  => '/delete-milestone', 'method' => 'delete_logframe_milestone', 'name' => 'delete_logframe_milestone'],
                ['verb' => 'post', 'path'  => '/search-milestone', 'method' => 'search_logframe_milestone', 'name' => 'search_logframe_milestone'],
                ['verb' => 'post', 'path'  => '/read-all-score-instansi', 'method' => 'get_all_score_instansi', 'name' => 'get_logframe_instansi'],
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/logframe-milestone-2025',
            'controller' => 'StranaspkLogframeMilestone2025Controller',
            'paths' => [
                ['verb' => 'post', 'path' => '/upload_data_dukung', 'method' => 'upload_data_dukung', 'name' => 'upload_data_dukung'],
                ['verb' => 'post', 'path' => '/get-nilai-milestone', 'method' => 'get_nilai_milestone', 'name' => 'get-nilai-milestone'],
                ['verb' => 'post', 'path' => '/read-milestone-instansi', 'method' => 'read_milestone_instansi', 'name' => 'read-milestone-instansi'],
                ['verb' => 'post', 'path' => '/read-output-2025', 'method' => 'read_output_2025', 'name' => 'read-output'],
                ['verb' => 'post', 'path' => '/read-milestone-by-output-id', 'method' => 'read_milestone', 'name' => 'read-milestone'],
                ['verb' => 'post', 'path' => '/read-milestone-by-output-id-2025', 'method' => 'read_milestone_2025', 'name' => 'read-milestone'],
                ['verb' => 'post', 'path' => '/get-data-milestone-instansi', 'method' => 'get_data_milestone_instansi', 'name' => 'get_data_milestone_instansi'],
                ['verb' => 'post', 'path' => '/get-milestone-by-output-id-perubahan', 'method' => 'get_milestone_by_output_id_perubahan', 'name' => 'read-milestone'],
                ['verb' => 'post', 'path' => '/download-laporan-milestone', 'method' => 'download_laporan_milestone_2024', 'name' => 'download_laporan_milestone_2024'],
                ['verb' => 'get', 'path' => '/download-data-dukung-stranaspk', 'method' => 'download_data_dukung_stranaspk_2024', 'name' => 'download_data_dukung_stranaspk_2024'],
                ['verb' => 'get', 'path' => '/read-milestone', 'method' => 'get_all_logframe_milestone', 'name' => 'get_all_logframe_milestone'],
                ['verb' => 'post', 'path' => '/read-milestone-with-attachment', 'method' => 'read_milestone_with_attachment', 'name' => 'read_milestone_with_attachment'],
                ['verb' => 'post', 'path' => '/submit-milestone', 'method' => 'submit_logframe_milestone', 'name' => 'get_all_logframe_aksi'],
                ['verb' => 'post', 'path' => '/edit-milestone', 'method' => 'edit_logframe_milestone', 'name' => 'edit_logframe_milestone'],
                ['verb' => 'post', 'path' => '/edit-nilai-milestone', 'method' => 'edit_logframe_nilai_milestone', 'name' => 'edit_logframe_nilai_milestone'],
                ['verb' => 'post', 'path' => '/delete-milestone', 'method' => 'delete_logframe_milestone', 'name' => 'delete_logframe_milestone'],
                ['verb' => 'post', 'path' => '/search-milestone', 'method' => 'search_logframe_milestone', 'name' => 'search_logframe_milestone'],
                ['verb' => 'post', 'path' => '/read-all-score-instansi', 'method' => 'get_all_score_instansi', 'name' => 'get_logframe_instansi'],
                ['verb' => 'post', 'path' => '/read-all-score-instansi-2025', 'method' => 'get_all_score_instansi_2025', 'name' => 'get_logframe_instansi_2025'],
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/uploads-public',
            'controller' => 'StranaspkNewAttachmentController',
            'paths' => [
                ['verb' => 'post', 'path'  => '/upload_banner', 'method' => 'uploadBannerAction', 'name' => 'uploadbanneraction'],
                ['verb' => 'get', 'path'  => '/get_banner', 'method' => 'getbannerAction', 'name' => 'getbanneraction'],
                ['verb' => 'post', 'path'  => '/upload_banner_bispro', 'method' => 'uploadBannerActionBispro', 'name' => 'uploadbanneractionbispro'],
                ['verb' => 'get', 'path'  => '/get_banner_bispro', 'method' => 'getbannerActionBispro', 'name' => 'getbanneractionbispro'],
            ],
        ],
        [
            'prefix' => '/v5/stranaspk/summary',
            'controller' => 'StranaspkLogframeSummary2024Controller',
            'paths' => [
                ['verb' => 'get', 'path'  => '/read-all-data', 'method' => 'read_all_data', 'name' => 'read_instansi'],
                ['verb' => 'post', 'path'  => '/set_all_100', 'method' => 'set_all_100', 'name' => 'set_all_100']
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/summary-2025',
            'controller' => 'StranaspkLogframeSummary2025Controller',
            'paths' => [
                ['verb' => 'get', 'path'  => '/read-all-data', 'method' => 'read_all_data', 'name' => 'read_instansi'],
                ['verb' => 'post', 'path'  => '/set_all_100', 'method' => 'set_all_100', 'name' => 'set_all_100']
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/kalender-kegiatan',
            'controller' => 'StranaspkKalenderKegiatan2024Controller',
            'paths' => [
                ['verb' => 'get', 'path'  => '/read', 'method' => 'read_kalender', 'name' => 'read_kalender'],
                ['verb' => 'post', 'path'  => '/simpan', 'method' => 'simpan_kalender', 'name' => 'simpan_kalender'],
                ['verb' => 'post', 'path'  => '/edit', 'method' => 'edit_kalender', 'name' => 'edit_kalender'],
                ['verb' => 'post', 'path'  => '/hapus', 'method' => 'hapus_kalender', 'name' => 'hapus_kalender'],
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/kalender-kegiatan-2025',
            'controller' => 'StranaspkKalenderKegiatan2025Controller',
            'paths' => [
                ['verb' => 'get', 'path'  => '/read', 'method' => 'read_kalender', 'name' => 'read_kalender'],
                ['verb' => 'post', 'path'  => '/simpan', 'method' => 'simpan_kalender', 'name' => 'simpan_kalender'],
                ['verb' => 'post', 'path'  => '/edit', 'method' => 'edit_kalender', 'name' => 'edit_kalender'],
                ['verb' => 'post', 'path'  => '/hapus', 'method' => 'hapus_kalender', 'name' => 'hapus_kalender'],
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/logframe-instansi',
            'controller' => 'StranaspkLogframeInstansi2024Controller',
            'paths' => [
                ['verb' => 'get', 'path'  => '/read-instansi-all-government', 'method' => 'get_logframe_all_instansi', 'name' => 'get_logframe_all_instansi'],
                ['verb' => 'get', 'path'  => '/read-instansi', 'method' => 'get_all_logframe_instansi', 'name' => 'get_all_logframe_instansi'],
                ['verb' => 'get', 'path'  => '/read-jenis-instansi', 'method' => 'get_logframe_jenis_instansi', 'name' => 'get_logframe_jenis_instansi'],
                ['verb' => 'get', 'path'  => '/read-instansi-only-central-government', 'method' => 'get_logframe_instansi', 'name' => 'get_logframe_instansi'],
                ['verb' => 'post', 'path'  => '/submit-instansi', 'method' => 'submit_logframe_instansi', 'name' => 'get_all_logframe_aksi'],
                ['verb' => 'post', 'path'  => '/edit-instansi', 'method' => 'edit_logframe_instansi', 'name' => 'edit_logframe_instansi'],
                ['verb' => 'post', 'path'  => '/delete-instansi', 'method' => 'delete_logframe_instansi', 'name' => 'delete_logframe_instansi'],
                ['verb' => 'post', 'path'  => '/search-instansi', 'method' => 'search_logframe_instansi', 'name' => 'search_logframe_instansi'],
                ['verb' => 'get', 'path'  => '/read-instansi-only-provinsi', 'method' => 'get_logframe_provinsi', 'name' => 'get_logframe_provinsi'],
                ['verb' => 'get', 'path'  => '/read-instansi-only-kabupaten', 'method' => 'get_logframe_kabupaten', 'name' => 'get_logframe_kabupaten'],
                ['verb' => 'post', 'path'  => '/read-all-score-provinsi', 'method' => 'get_all_score_provinsi', 'name' => 'get_all_score_provinsi'],
                ['verb' => 'post', 'path'  => '/read-all-score-kabupaten', 'method' => 'get_all_score_kabupaten', 'name' => 'get_all_score_kabupaten'],
                ['verb' => 'post', 'path'  => '/getdataInstansiByMilestoneId', 'method' => 'getdataInstansiByMilestoneId', 'name' => 'getdataInstansiByMilestoneId'],
                ['verb' => 'post', 'path'  => '/read-instansi-by-jenis-instansi', 'method' => 'getdataInstansiByJenisInstansi', 'name' => 'getdataInstansiByJenisInstansi'],
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/logframe-instansi-2025',
            'controller' => 'StranaspkLogframeInstansi2025Controller',
            'paths' => [
                ['verb' => 'get', 'path' => '/read-instansi-all-government', 'method' => 'get_logframe_all_instansi', 'name' => 'get_logframe_all_instansi'],
                ['verb' => 'get', 'path' => '/read-instansi', 'method' => 'get_all_logframe_instansi', 'name' => 'get_all_logframe_instansi'],
                ['verb' => 'get', 'path' => '/read-jenis-instansi', 'method' => 'get_logframe_jenis_instansi', 'name' => 'get_logframe_jenis_instansi'],
                ['verb' => 'get', 'path' => '/read-instansi-only-central-government', 'method' => 'get_logframe_instansi', 'name' => 'get_logframe_instansi'],
                ['verb' => 'post', 'path' => '/submit-instansi', 'method' => 'submit_logframe_instansi', 'name' => 'get_all_logframe_aksi'],
                ['verb' => 'post', 'path' => '/edit-instansi', 'method' => 'edit_logframe_instansi', 'name' => 'edit_logframe_instansi'],
                ['verb' => 'post', 'path' => '/delete-instansi', 'method' => 'delete_logframe_instansi', 'name' => 'delete_logframe_instansi'],
                ['verb' => 'post', 'path' => '/search-instansi', 'method' => 'search_logframe_instansi', 'name' => 'search_logframe_instansi'],
                ['verb' => 'get', 'path' => '/read-instansi-only-provinsi', 'method' => 'get_logframe_provinsi', 'name' => 'get_logframe_provinsi'],
                ['verb' => 'get', 'path' => '/read-instansi-only-kabupaten', 'method' => 'get_logframe_kabupaten', 'name' => 'get_logframe_kabupaten'],
                ['verb' => 'post', 'path' => '/read-all-score-provinsi', 'method' => 'get_all_score_provinsi', 'name' => 'get_all_score_provinsi'],
                ['verb' => 'post', 'path' => '/read-all-score-provinsi-2025', 'method' => 'get_all_score_provinsi_2025', 'name' => 'get_all_score_provinsi'],
                ['verb' => 'post', 'path' => '/read-all-score-kabupaten', 'method' => 'get_all_score_kabupaten', 'name' => 'get_all_score_kabupaten'],
                ['verb' => 'post', 'path' => '/getdataInstansiByMilestoneId', 'method' => 'getdataInstansiByMilestoneId', 'name' => 'getdataInstansiByMilestoneId'],
                ['verb' => 'post', 'path' => '/read-instansi-by-jenis-instansi', 'method' => 'getdataInstansiByJenisInstansi', 'name' => 'getdataInstansiByJenisInstansi'],
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/logframe-target',
            'controller' => 'StranaspkLogframeTarget2024Controller',
            'paths' => [
                ['verb' => 'get', 'path'  => '/read-target', 'method' => 'get_all_logframe_target', 'name' => 'get_all_logframe_target'],
                ['verb' => 'post', 'path'  => '/get-nilai-target', 'method' => 'get_nilai_target', 'name' => 'get_nilai_target'],
                ['verb' => 'post', 'path'  => '/read-target-by-output-id', 'method' => 'read_target_by_output_id', 'name' => 'read_target_by_output_id'],
                ['verb' => 'post', 'path'  => '/get-target-by-output-id', 'method' => 'get_target_by_output_id_perubahan', 'name' => 'read_target_by_output_id'],
                ['verb' => 'post', 'path'  => '/submit-target', 'method' => 'submit_logframe_target', 'name' => 'get_all_logframe_aksi'],
                ['verb' => 'post', 'path'  => '/edit-target', 'method' => 'edit_logframe_target', 'name' => 'edit_logframe_target'],
                ['verb' => 'post', 'path'  => '/edit-nilai-target', 'method' => 'edit_logframe_nilai_target', 'name' => 'edit_logframe_target'],
                ['verb' => 'post', 'path'  => '/delete-target', 'method' => 'delete_logframe_target', 'name' => 'delete_logframe_target'],
                ['verb' => 'post', 'path'  => '/search-target', 'method' => 'search_logframe_target', 'name' => 'search_logframe_target']
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/logframe-target-2025',
            'controller' => 'StranaspkLogframeTarget2025Controller',
            'paths' => [
                ['verb' => 'get', 'path' => '/read-target', 'method' => 'get_all_logframe_target', 'name' => 'get_all_logframe_target'],
                ['verb' => 'post', 'path' => '/get-nilai-target', 'method' => 'get_nilai_target', 'name' => 'get_nilai_target'],
                ['verb' => 'post', 'path' => '/read-target-by-output-id', 'method' => 'read_target_by_output_id', 'name' => 'read_target_by_output_id'],
                ['verb' => 'post', 'path' => '/get-target-by-output-id', 'method' => 'get_target_by_output_id_perubahan', 'name' => 'read_target_by_output_id'],
                ['verb' => 'post', 'path' => '/submit-target', 'method' => 'submit_logframe_target', 'name' => 'get_all_logframe_aksi'],
                ['verb' => 'post', 'path' => '/edit-target', 'method' => 'edit_logframe_target', 'name' => 'edit_logframe_target'],
                ['verb' => 'post', 'path' => '/edit-nilai-target', 'method' => 'edit_logframe_nilai_target', 'name' => 'edit_logframe_target'],
                ['verb' => 'post', 'path' => '/delete-target', 'method' => 'delete_logframe_target', 'name' => 'delete_logframe_target'],
                ['verb' => 'post', 'path' => '/search-target', 'method' => 'search_logframe_target', 'name' => 'search_logframe_target']
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/FormInput',
            'controller' => 'StranaspkNewFormInputController',
            'paths' => [
                ['verb' => 'post', 'path'  => '/uploadMilestone', 'method' => 'upload_excel', 'name' => 'uploadMilestone'],
                [
                    'verb' => 'post',
                    'path' => '/searchMilestone',
                    'method' => 'searchLogframeMilestone',
                    'name' => 'searchLogframeMilestone'
                ],
                ['verb' => 'post', 'path' => '/submitMilestone', 'method' => 'submitFormInputMilestone', 'name' => 'submitLogFrameMilestone'],
                ['verb' => 'get', 'path' => '/calendar', 'method' => 'CheckTanggalPengisian', 'name' => 'CheckTanggalPengisian']
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/FormInput-2025',
            'controller' => 'StranaspkNewFormInput2025Controller',
            'paths' => [
                ['verb' => 'post', 'path'  => '/uploadMilestone', 'method' => 'upload_excel', 'name' => 'uploadMilestone'],
                [
                    'verb' => 'post',
                    'path' => '/searchMilestone',
                    'method' => 'searchLogframeMilestone',
                    'name' => 'searchLogframeMilestone'
                ],
                ['verb' => 'post', 'path' => '/submitMilestone', 'method' => 'submitFormInputMilestone', 'name' => 'submitLogFrameMilestone'],
                ['verb' => 'get', 'path' => '/calendar', 'method' => 'CheckTanggalPengisian', 'name' => 'CheckTanggalPengisian']
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/VerifMilestone',
            'controller' => 'StranaspkNewVerifMilestone2024Controller',
            'paths' => [
                [
                    'verb' => 'post',
                    'path' => '/searchMilestone',
                    'method' => 'searchVerifMilestone',
                    'name' => 'searchVerifMilestone'
                ],
                ['verb' => 'post', 'path' => '/submitMilestone', 'method' => 'submitVerifMilestone', 'name' => 'submitVerifMilestone'],
                ['verb' => 'get', 'path' => '/calendar', 'method' => 'CheckTanggalPengisian', 'name' => 'CheckTanggalPengisian']
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/VerifMilestone-2025',
            'controller' => 'StranaspkNewVerifMilestone2025Controller',
            'paths' => [
                [
                    'verb' => 'post',
                    'path' => '/searchMilestone',
                    'method' => 'searchVerifMilestone',
                    'name' => 'searchVerifMilestone'
                ],
                ['verb' => 'post', 'path' => '/submitMilestone', 'method' => 'submitVerifMilestone', 'name' => 'submitVerifMilestone'],
                ['verb' => 'get', 'path' => '/calendar', 'method' => 'CheckTanggalPengisian', 'name' => 'CheckTanggalPengisian']
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/DashboardTargetOutput',
            'controller' => 'StranasPKNewDashboardTargetOutput2024Controller',
            'paths' => [
                [
                    'verb' => 'get',
                    'path' => '/read-target-output',
                    'method' => 'read_target_output',
                    'name' => 'ReadTargetOutput'
                ],
                [
                    'verb' => 'post',
                    'path' => '/read-target-output-by-aksi-id',
                    'method' => 'read_target_output_by_aksi_id',
                    'name' => 'ReadTargetOutputByAksiID'
                ],
                [
                    'verb' => 'post',
                    'path' => '/read-target-output-by-output-id',
                    'method' => 'read_target_output_by_output_id',
                    'name' => 'ReadTargetOutputByOutputID'
                ]
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/DashboardTargetOutput-2025',
            'controller' => 'StranasPKNewDashboardTargetOutput2025Controller',
            'paths' => [
                [
                    'verb' => 'get',
                    'path' => '/read-target-output',
                    'method' => 'read_target_output',
                    'name' => 'ReadTargetOutput'
                ],
                [
                    'verb' => 'post',
                    'path' => '/read-target-output-by-aksi-id',
                    'method' => 'read_target_output_by_aksi_id',
                    'name' => 'ReadTargetOutputByAksiID'
                ],
                [
                    'verb' => 'post',
                    'path' => '/read-target-output-by-output-id',
                    'method' => 'read_target_output_by_output_id',
                    'name' => 'ReadTargetOutputByOutputID'
                ]
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/DocumentUploadStranas',
            'controller' => 'AttachmentsForStranasPKController',
            'paths' => [
                ['verb' => 'post', 'path'  => '/upload-doc', 'method' => 'uploadDoc', 'name' => 'uploadMilestoneDocument'],
                ['verb' => 'get', 'path'  => '/download-doc/{id}', 'method' => 'downloadDoc', 'name' => 'downloadMilestoneDocument'],
                ['verb' => 'get', 'path'  => '/download-doc-file/{id}', 'method' => 'downloadDocFile', 'name' => 'downloadMilestoneDocument'],
                ['verb' => 'post', 'path'  => '/delete-doc/{id}', 'method' => 'deleteAttachment', 'name' => 'downloadMilestoneDocument'],
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/DocumentUploadStranas-2025',
            'controller' => 'AttachmentsForStranasPK2025Controller',
            'paths' => [
                ['verb' => 'post', 'path'  => '/upload-doc', 'method' => 'uploadDoc', 'name' => 'uploadMilestoneDocument'],
                ['verb' => 'get', 'path'  => '/download-doc/{id}', 'method' => 'downloadDoc', 'name' => 'downloadMilestoneDocument'],
                ['verb' => 'get', 'path'  => '/download-doc-file/{id}', 'method' => 'downloadDocFile', 'name' => 'downloadMilestoneDocument'],
                ['verb' => 'post', 'path'  => '/delete-doc/{id}', 'method' => 'deleteAttachment', 'name' => 'downloadMilestoneDocument'],
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/_dashboard2023',
            'controller' => 'StranaspkNewDashboard2023Controller',
            'paths' => [
                ['verb' => 'get',   'path'  => '/', 'method' => 'index', 'name' => 'StranaspkNewDashboard2023'],
                ['verb' => 'get',   'path'  => '/kl-summary', 'method' => 'klSummary', 'name' => 'StranaspkNewDashboard2023KlSummary'],
                ['verb' => 'get',   'path'  => '/init', 'method' => 'init', 'name' => 'StranaspkNewDashboard2023Init'],
                ['verb' => 'post', 'path' => '/searchLogFrame', 'method' => 'dashboardsearchLogframes', 'name' => 'StranasPkNewDashboardSearchLogFrame'],
                ['verb' => 'post', 'path' => '/insertNewLogFrame', 'method' => 'dashboardpostNewLogFrame', 'name' => 'StranasPkNewDashboardInsertNewLogFrame'],
                ['verb' => 'post', 'path' => '/deleteLogFrame', 'method' => 'dashboarddeleteLogFrameByID', 'name' => 'StranasPkNewDashboardDeleteLogFrame'],
                ['verb' => 'get', 'path' => '/getLogframeCrud', 'method' => 'dashboardgetLogFrameIndex', 'name' => 'StranasPkNewDashboardgetLogFrame'],
                ['verb' => 'get', 'path' => '/logframe-detail', 'method' => 'dashboarddetailLogframe', 'name' => 'StranasPkNewDashboardLogframeDetail'],
                ['verb' => 'post', 'path' => '/updateLogFrame', 'method' => 'dashboardupdateLogFrame', 'name' => 'StranasPkNewDashboardUpdateLogFrame'],
                ['verb' => 'get', 'path'  => '/dashboardInstansi', 'method' => 'dashboardgetAllInstansi', 'name' => 'StranasPkAllInstansi'],
                ['verb' => 'post', 'path'  => '/updateInstansi', 'method' => 'dashboardpostInstansiByMilestone', 'name' => 'StranasPkUpdateInstansi'],
                ['verb' => 'post', 'path' => '/searchLogFrameById', 'method' => 'dashboardsearchLogframesByIdLogFrames', 'name' => 'StranasPkNewDashboardSearchLogFrameById'],
            ]
        ],
        [
            'prefix' => '/v5/stranaspk/realization',
            'controller' => 'StranaspkRealizationController',
            'paths' => [
                ['verb' => 'get',   'path'  => '/', 'method' => 'index', 'name' => 'StranaspkRealization2023'],
                ['verb' => 'post',   'path'  => '/update', 'method' => 'update', 'name' => 'StranaspkRealizationUpdate2023'],
            ]
        ],
        // END NEW STRANAS PK 2023
        [
            'prefix' => '/v5/stranaspk/tableau',
            'controller' => 'StranaspkTableauController',
            'paths' => [
                ['verb' => 'get', 'path'  => '/', 'method' => 'index', 'name' => 'StranaspkTableauMart2023'],
            ]
        ],
        [
            'prefix' => '/v5/stranas/survey',
            'controller' => 'StranasSurveyController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'StranasSurveyList'],
                ['verb' => 'get', 'path' => '/list_detail', 'method' => 'list_detail', 'name' => 'StranasSurveyListDetail'],
                ['verb' => 'get', 'path' => '/my', 'method' => 'my', 'name' => 'StranasSurveyListFor'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'StranasSurveyDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'StranasSurveyCreate'],
                ['verb' => 'post', 'path' => '/batch_create', 'method' => 'batch_create', 'name' => 'StranasSurveyBatchCreate'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'StranasSurveyUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'StranasSurveyDelete'],
                ['verb' => 'post', 'path' => '/answer', 'method' => 'answer', 'name' => 'StranasSurveyAnswer'],
                ['verb' => 'post', 'path' => '/comment', 'method' => 'comment', 'name' => 'StranasSurveyAnswerComment'],
                ['verb' => 'post', 'path' => '/comment_update', 'method' => 'comment_update', 'name' => 'StranasSurveyAnswerCommentUpdate'],
                ['verb' => 'post', 'path' => '/verify', 'method' => 'verify', 'name' => 'StranasSurveyVerify'],
                ['verb' => 'get', 'path' => '/attachment/{uuid}', 'method' => 'downloadAttachment', 'name' => 'StranasSurveyDownloadAttachment'],
                ['verb' => 'get', 'path' => '/instansi_overview', 'method' => 'instansi_overview', 'name' => 'StranasSurveyInstansiOverview'],
                ['verb' => 'get', 'path' => '/all_instansi_overview', 'method' => 'all_instansi_overview', 'name' => 'StranasSurveyAllInstansiOverview'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'StranasSurveyRestore'],
            ]
        ],
        [
            'prefix' => '/v5/stranas/survey_template',
            'controller' => 'StranasSurveyTemplateController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'StranasSurveyTemplateList'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'StranasSurveyTemplateDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'StranasSurveyTemplateCreate'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'StranasSurveyTemplateUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'StranasSurveyTemplateDelete'],
                ['verb' => 'post', 'path' => '/add_question', 'method' => 'addQuestion', 'name' => 'StranasSurveyTemplateAddQuestion'],
                ['verb' => 'post', 'path' => '/add_questions', 'method' => 'addQuestions', 'name' => 'StranasSurveyTemplateAddQuestions'],
                ['verb' => 'post', 'path' => '/remove_question', 'method' => 'removeQuestion', 'name' => 'StranasSurveyTemplateRemoveQuestion'],
                ['verb' => 'post', 'path' => '/set_questions', 'method' => 'setQuestions', 'name' => 'StranasSurveyTemplateSetQuestions'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'StranasSurveyTemplateRestore'],
            ]
        ],
        [
            'prefix' => '/v5/stranas/instansi_satker',
            'controller' => 'StranasInstansiSatkerController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'StranasInstansiSatkerList'],
            ]
        ],
        [
            'prefix' => '/v5/instansi',
            'controller' => 'InstansiController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'InstansiList'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createInstansi'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateInstansi'],
                ['verb' => 'get',  'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailInstansi'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deleteInstansi'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreInstansi'],
                ['verb' => 'post', 'path' => '/batch_update', 'method' => 'batchUpdate', 'name' => 'batchUpdateInstansi'],
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'tipeInstansi'],
                ['verb' => 'post', 'path' => '/add_instansi_user', 'method' => 'add_user', 'name' => 'addUserInstansi'],
                ['verb' => 'get', 'path' => '/users/{id}', 'method' => 'listUsers', 'name' => 'listUserInstansi'],
                ['verb' => 'post', 'path' => '/users/delete/{id}', 'method' => 'deleteUsers', 'name' => 'deleteUserInstansi'],
                ['verb' => 'get', 'path' => '/list-mcp', 'method' => 'listMcp'],
                ['verb' => 'get', 'path' => '/list-klpd', 'method' => 'listKlpd'],
                ['verb' => 'get', 'path' => '/list-klpd/with-others', 'method' => 'listKlpdWithOthers'],
                ['verb' => 'get', 'path' => '/list-rel-wilayah', 'method' => 'listRelWilayah'],
                ['verb' => 'post', 'path' => '/import', 'method' => 'import'],
                ['verb' => 'get', 'path' => '/export', 'method' => 'export'],
                ['verb' => 'get', 'path' => '/list-klpd-public', 'method' => 'listKlpdPublic'],
                ['verb' => 'get', 'path' => '/list-for-pancek', 'method' => 'listForPancek', 'name' => 'instansiListForPancek'],
            ]
        ],
        [
            'prefix' => '/v5/stranas/periode',
            'controller' => 'StranasPeriodeController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'StranasPeriodeList'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'StranasPeriodeCreate'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'StranasPeriodeUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'StranasPeriodeDelete'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'StranasPeriodeDetail'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'StranasPeriodeRestore'],
            ]
        ],
        [
            'prefix' => '/v5/attachments',
            'controller' => 'AttachmentsController',
            'paths' => [
                ['verb' => 'post', 'path' => '/public_upload', 'method' => 'publicUpload', 'name' => 'AttachmentsPublicUpload'],
                ['verb' => 'post', 'path' => '/private_upload', 'method' => 'privateUpload', 'name' => 'AttachmentsPrivateUpload'],
                ['verb' => 'get', 'path' => '/download/{uuid}', 'method' => 'download', 'name' => 'AttachmentsDownload'],
                ['verb' => 'get', 'path' => '/mcp-download/{uuid}', 'method' => 'mcpDownload'],
                ['verb' => 'get', 'path' => '/url/{uuid}', 'method' => 'url', 'name' => 'AttachmentsUrl'],
                ['verb' => 'get', 'path' => '/mcp-url/{uuid}', 'method' => 'mcpUrl'],
                ['verb' => 'get', 'path' => '/panduan_stranas', 'method' => 'panduan_stranas', 'name' => 'AttachmentsPanduanStranasDownload'],
                ['verb' => 'get', 'path' => '/public_view', 'method' => 'public_view', 'name' => 'AttachmentsPublicView'],
                ['verb' => 'get', 'path' => '/public_download', 'method' => 'public_download', 'name' => 'AttachmentsPublicDownload'],
                ['verb' => 'post', 'path' => '/public_content_upload', 'method' => 'publicContentUpload'],
                ['verb' => 'get', 'path' => '/public_content_view', 'method' => 'publicContentView'],
            ]
        ],
        [
            'prefix' => '/v5/elhkpn',
            'controller' => 'ElhkpnMartController',
            'paths' => [
                ['verb' => 'get', 'path' => '/summary_map', 'method' => 'summaryMap', 'name' => 'ElhkpnMartSummaryMap'],
                ['verb' => 'get', 'path' => '/annual_summary_map', 'method' => 'annualSummaryMap', 'name' => 'ElhkpnMartSummaryMap'],
                ['verb' => 'post', 'path' => '/upload_mapping', 'method' => 'uploadMapping', 'name' => 'ElhkpnUploadMapping'],
                ['verb' => 'get', 'path' => '/map_geojson', 'method' => 'mapGeojson', 'name' => 'ElhkpnMapGeojson'],
                ['verb' => 'post', 'path' => '/announcement_link', 'method' => 'getAnnouncementLink', 'name' => 'ElhkpnGetAnnouncementLink'],
                ['verb' => 'post', 'path' => '/report_link', 'method' => 'getReportLink', 'name' => 'ElhkpnGetReportLink'],
                ['verb' => 'post', 'path' => '/syncData', 'method' => 'syncData'],
                ['verb' => 'post', 'path' => '/peek_elhkpn_data', 'method' => 'peekData'],
                ['verb' => 'get', 'path' => '/summary-yearly', 'method' => 'summaryYearly'],
                ['verb' => 'get', 'path' => '/tren', 'method' => 'tren'],
            ]
        ],
        [
            'prefix' => '/v5/ristekdikti',
            'controller' => 'RistekdiktiController',
            'paths' => [
                ['verb' => 'get', 'path' => '/detail/{kode}', 'method' => 'detail', 'name' => 'detailPt'],
                ['verb' => 'get', 'path' => '/detail_from_local/{kode}', 'method' => 'detailFromLocal', 'name' => 'detailPt'],
                ['verb' => 'get', 'path' => '/list_dosen_by_prodi', 'method' => 'list_dosen_by_prodi', 'name' => 'ListDosenbyProdi'],
                ['verb' => 'get', 'path' => '/list_prodi_by_pt/{kode}', 'method' => 'list_prodi_by_pt', 'name' => 'ListProdibyPt'],
                ['verb' => 'get', 'path' => '/list_pt', 'method' => 'list_pt', 'name' => 'ListPt'],
                ['verb' => 'get', 'path' => '/search', 'method' => 'search', 'name' => 'searchPt'],
                ['verb' => 'get', 'path' => '/live_profile', 'method' => 'liveProfile', 'name' => 'detailLiveProfile'],
                ['verb' => 'get', 'path' => '/jenjang_dosen', 'method' => 'listJenjangDosen', 'name' => 'listJenjangDosen'],
                ['verb' => 'get', 'path' => '/jumlah_mahasiswa', 'method' => 'jumlahMahasiswa', 'name' => 'jumlahMahasiswa'],
            ]
        ],
        [
            'prefix' => '/v5/jejak_kasus',
            'controller' => 'JejakKasusController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'listJejakKasus'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createJejakKasus'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateJejakKasus'],
                ['verb' => 'post', 'path' => '/set_published', 'method' => 'setPublished', 'name' => 'setPublishedJejakKasus'],
                ['verb' => 'post', 'path' => '/set_unpublished', 'method' => 'setUnpublished', 'name' => 'setUnpublishedJejakKasus'],
                ['verb' => 'post', 'path' => '/upload', 'method' => 'upload', 'name' => 'uploadAttachmentJejakKasus'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailJejakKasus']


            ]
        ],
        [
            'prefix' => '/v5/korwil_dashboard',
            'controller' => 'KorwilDashboardController',
            'paths' => [
                ['verb' => 'get', 'path' => '/scores/{id}', 'method' => 'scores', 'name' => 'KorwilDashboardScores'],
                ['verb' => 'get', 'path' => '/newscores', 'method' => 'newScores', 'name' => 'NewKorwilDashboardScores'],
                ['verb' => 'get', 'path' => '/indikators/{id}', 'method' => 'indikators', 'name' => 'KorwilDashboardIndikators'],
                ['verb' => 'get', 'path' => '/subindikators/{id}', 'method' => 'subindikators', 'name' => 'KorwilDashboardSubindikators'],
                ['verb' => 'get', 'path' => '/subindikatorsprovinsi/{id}', 'method' => 'subindikatorsProvinsiRataRata', 'name' => 'KorwilDashboardSubindikators'],
                ['verb' => 'get', 'path' => '/map_geojson', 'method' => 'mapGeojson', 'name' => 'KorwilDashboardMapGeojson'],
                ['verb' => 'get', 'path' => '/map_geojson_kab', 'method' => 'mapGeojsonKab', 'name' => 'KorwilDashboardMapGeojsonKab'],
                ['verb' => 'get', 'path' => '/tableau2018', 'method' => 'tableau2018', 'name' => 'KorwilDashboardTableau2018'],
                ['verb' => 'get', 'path' => '/tableau2019', 'method' => 'tableau2019', 'name' => 'KorwilDashboardTableau2019'],
                ['verb' => 'get', 'path' => '/mcsp/{year}/{instansi_id}', 'method' => 'mcspInstansiDashboard', 'name' => 'KorwilDashboardMcspInstansi'],
                ['verb' => 'get', 'path' => '/mcsp/{year}/nasional/{hierarchy_id}', 'method' => 'mcspNasionalDashboard', 'name' => 'KorwilDashboardMcspNasional'],
                ['verb' => 'get', 'path' => '/mcsp/{year}/answers', 'method' => 'mcspAnswersDashboard', 'name' => 'KorwilDashboardMcspAnswers'],
                ['verb' => 'get', 'path' => '/mcsp/{year}/scores', 'method' => 'mcsp_scores', 'name' => 'KorwilDashboardMcspScores'],
            ]
        ],
        [
            'prefix' => '/v5/korwilasetprogress',
            'controller' => 'KorwilAsetProgressController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'KorwilAsetProgressList'],
                ['verb' => 'post', 'path' => '/submit', 'method' => 'submit', 'name' => 'createKorwilAsetProgress'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailKorwilAsetProgress'],
                ['verb' => 'post', 'path' => '/verify/{id}', 'method' => 'verify', 'name' => 'verifyKorwilAsetProgress'],
                ['verb' => 'get', 'path' => '/my_progress_aset/{tahun}', 'method' => 'myProgressAset', 'name' => 'myProgressAset'],
                ['verb' => 'get', 'path' => '/list_aset_instansi_verify/{id}', 'method' => 'listAsetInstansiVerify', 'name' => 'listAsetInstansiVerify'],
                ['verb' => 'get', 'path' => '/list_verify_aset/{id}', 'method' => 'listProgressAsetVerify', 'name' => 'listProgressAsetVerify']
            ]
        ],
        [
            'prefix' => '/v5/korwil_pad_kategori',
            'controller' => 'KorwilPadKategoriController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'listPadKategori'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailPadKategori'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createPadKategori'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updatePadKategori'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deletePadKategori'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restorePadKategori']
            ]
        ],
        [
            'prefix' => '/v5/korwil_pad_target',
            'controller' => 'KorwilPadTargetController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'listPadTarget'],
                ['verb' => 'get', 'path' => '/list_detail', 'method' => 'listWithDetail', 'name' => 'listWithDetailPadTarget'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailPadTarget'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createPadTarget'],
                ['verb' => 'post', 'path' => '/create-mine', 'method' => 'createMine', 'name' => 'createMinePadTarget'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updatePadTarget'],
                ['verb' => 'post', 'path' => '/update-mine/{id}', 'method' => 'updateMine', 'name' => 'updateMinePadTarget'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deletePadTarget'],
                ['verb' => 'post', 'path' => '/delete-mine/{id}', 'method' => 'deleteMine', 'name' => 'deleteMinePadTarget'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restorePadTarget'],
                ['verb' => 'post', 'path' => '/restore-mine/{id}', 'method' => 'restoreMine', 'name' => 'restoreMinePadTarget'],
                ['verb' => 'post', 'path' => '/import_excel_pad_target', 'method' => 'importExcelPadTarget', 'name' => 'importExcelPadTarget'],
                ['verb' => 'get', 'path' => '/download_sample_pad_target', 'method' => 'downloadSamplePadTarget', 'name' => 'downloadSamplePadTarget'],
                ['verb' => 'get', 'path' => '/can_verify', 'method' => 'canVerify', 'name' => 'korwilPadTargetCanVerify'],
                ['verb' => 'get', 'path' => '/download-instansi', 'method' => 'downloadInstansi', 'name' => 'korwilPadTargetDownloadInstansi']
            ]
        ],
        [
            'prefix' => '/v5/korwil_aset_target',
            'controller' => 'KorwilAsetTargetController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'listAsetTarget'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailAsetTarget'],
                ['verb' => 'get', 'path' => '/list_detail', 'method' => 'listWithDetail', 'name' => 'listWithDetailAsetTarget'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createAsetTarget'],
                ['verb' => 'post', 'path' => '/create-mine', 'method' => 'createMine', 'name' => 'createMineAsetTarget'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateAsetTarget'],
                ['verb' => 'post', 'path' => '/update-mine/{id}', 'method' => 'updateMine', 'name' => 'updateMineAsetTarget'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deleteAsetTarget'],
                ['verb' => 'post', 'path' => '/delete-mine/{id}', 'method' => 'deleteMine', 'name' => 'deleteMineAsetTarget'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreAsetTarget'],
                ['verb' => 'post', 'path' => '/restore-mine/{id}', 'method' => 'restoreMine', 'name' => 'restoreMineAsetTarget'],
                ['verb' => 'post', 'path' => '/import_excel_aset_target', 'method' => 'importExcelAsetTarget', 'name' => 'importExcelAsetTarget'],
                ['verb' => 'get', 'path' => '/download_sample_aset_target', 'method' => 'downloadSampleAsetTarget', 'name' => 'downloadSampleAsetTarget'],
                ['verb' => 'get', 'path' => '/can_verify', 'method' => 'canVerify', 'name' => 'korwilAsetTargetCanVerify'],
                ['verb' => 'get', 'path' => '/download-instansi', 'method' => 'downloadInstansi', 'name' => 'korwilAsetTargetDownloadInstansi']
            ]
        ],
        [
            'prefix' => '/v5/korwil_pad_progress',
            'controller' => 'KorwilPadProgressController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'listPadProgress'],
                ['verb' => 'get', 'path' => '/my_pad_progress/{tahun}', 'method' => 'my', 'name' => 'myProgress'],
                ['verb' => 'post', 'path' => '/submit', 'method' => 'submit', 'name' => 'submitPadProgress'],
                ['verb' => 'post', 'path' => '/verify/{id}', 'method' => 'verify', 'name' => 'verifyPadProgress'],
                ['verb' => 'get', 'path' => '/list_verify_progress_pad/{id}', 'method' => 'listVerifyProgressPad', 'name' => 'listVerifyProgressPad'],
                ['verb' => 'get', 'path' => '/list_pad_instansi_verify/{id}', 'method' => 'listPadInstansiVerify', 'name' => 'listPadInstansiVerify'],
                ['verb' => 'get', 'path' => '/download_attachment/{uuid}', 'method' => 'downloadAttachment', 'name' => 'downloadAttachment'],
            ]
        ],
        [
            'prefix' => '/v5/korwil-faq',
            'controller' => 'KorwilFaqController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'listFaq'],
                ['verb' => 'post', 'path' => '/faq/upsert', 'method' => 'upsertFaq', 'name' => 'upsertFaq'],
                ['verb' => 'post', 'path' => '/faq-category/upsert', 'method' => 'upsertFaqCategory', 'name' => 'upsertFaqCategory'],
                ['verb' => 'post', 'path' => '/faq/delete/{id}', 'method' => 'deleteFaq', 'name' => 'deleteFaq'],
                ['verb' => 'post', 'path' => '/faq-category/delete/{id}', 'method' => 'deleteFaqCategory', 'name' => 'deleteFaqCategory'],
            ]
        ],
        [
            'prefix' => '/v5/gratif_report',
            'controller' => 'GratifReportController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'listMcpGratif'],
                ['verb' => 'get', 'path' => '/exportExcel', 'method' => 'exportExcel', 'name' => 'exportExcelMcpGratif'],
            ]
        ],
        [
            'prefix' => '/v5/sipd',
            'controller' => 'SipdController',
            'paths' => [
                ['verb' => 'get', 'path' => '/years', 'method' => 'years', 'name' => 'SipdYears'],
                ['verb' => 'get', 'path' => '/skpd', 'method' => 'skpdList', 'name' => 'SipdSkpdList'],
                ['verb' => 'get', 'path' => '/pemda', 'method' => 'pemdaList', 'name' => 'SipdPemdaList'],
                ['verb' => 'get', 'path' => '/skpd/{id}', 'method' => 'skpdDetail', 'name' => 'SipdSkpdDetail'],
                ['verb' => 'get', 'path' => '/tahun_skpd/{kode}', 'method' => 'listTahunSkpd', 'name' => 'listTahunSkpd'],
                ['verb' => 'get', 'path' => '/live_years', 'method' => 'liveYears', 'name' => 'SipdLiveYears'],
                ['verb' => 'get', 'path' => '/live_pemda_list', 'method' => 'livePemdaList', 'name' => 'SipdLivePemdaList'],
                ['verb' => 'get', 'path' => '/live_skpd_list', 'method' => 'liveSkpdList', 'name' => 'SipdLiveSkpdList'],
                ['verb' => 'get', 'path' => '/live_skpd_detail', 'method' => 'liveSkpdDetail', 'name' => 'SipdLiveSkpdDetail'],
                ['verb' => 'get', 'path' => '/live_year_list', 'method' => 'liveYearList', 'name' => 'SipdLiveYearList'],
            ]
        ],
        [
            'prefix' => '/v5/stranasdashboard',
            'controller' => 'StranasDashboardController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'StranasTableau'],
            ]
        ],
        [
            'prefix' => '/v5/kepadatan_penduduk',
            'controller' => 'KepadatanPendudukAllController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'list'],
                ['verb' => 'get', 'path' => '/detail/{kode_pemda}', 'method' => 'detail', 'name' => 'detail'],
                ['verb' => 'get', 'path' => '/detail_skpd/{kode_pemda}', 'method' => 'detailSkpd', 'name' => 'detailSkpd']
            ]
        ],
        [
            'prefix' => '/v5/kemdagri_mkode_prov',
            'controller' => 'KemdagriMkodeProvController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'name'],
                ['verb' => 'get', 'path' => '/detail/{kode}', 'method' => 'detail', 'name' => 'detail'],
            ]
        ],
        [
            'prefix' => '/v5/kemdagri_mkode_kabkot',
            'controller' => 'KemdagriMkodeKabkotController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'name'],
                ['verb' => 'get', 'path' => '/detail/{kode}', 'method' => 'detail', 'name' => 'detail'],
            ]
        ],
        [
            'prefix' => '/v5/part/respon',
            'controller' => 'PartResponController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list_jumlah_diskusi', 'method' => 'listJumlahDiskusi'],
                ['verb' => 'get', 'path' => '/list_jumlah_respon', 'method' => 'listJumlahResponDiskusi'],
                ['verb' => 'get', 'path' => '/diskusi_respon', 'method' => 'diskusiRespon', 'name' => 'diskusiRespon'],
                ['verb' => 'get', 'path' => '/diskusi_no_respon', 'method' => 'diskusiNoRespon', 'name' => 'diskusiNoRespon'],
                ['verb' => 'get', 'path' => '/total_like', 'method' => 'diskusiTotalLike', 'name' => 'diskusiTotalLike'],
                ['verb' => 'get', 'path' => '/total_komentar', 'method' => 'diskusiTotalKomentar', 'name' => 'diskusiTotalKomentar'],
                ['verb' => 'get', 'path' => '/total_diskusi', 'method' => 'totalDiskusi', 'name' => 'totalDiskusi']
            ]
        ],
        [
            'prefix' => '/v5/perizinan',
            'controller' => 'PerizinanController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'index', 'name' => 'listPerizinan'],
                ['verb' => 'get', 'path' => '/search', 'method' => 'search', 'name' => 'search'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailPerizinan'],
                ['verb' => 'get', 'path' => '/list_provinsi', 'method' => 'listProvPerizinan', 'name' => 'listProvinsiPerizinan'],
                ['verb' => 'get', 'path' => '/list_bkpm_perizinan', 'method' => 'listBkpmPerizinan', 'name' => 'listBkpmPerizinan'],
                ['verb' => 'get', 'path' => '/list_izin', 'method' => 'listBkpmIzin', 'name' => 'listBkpmIzin'],
            ]
        ],
        [
            'prefix' => '/v5/apbd',
            'controller' => 'ApbdController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list_apbd', 'method' => 'listApbd'],
                ['verb' => 'get', 'path' => '/detail_apbd/{kode}', 'method' => 'detailApbd'],
                ['verb' => 'get', 'path' => '/detail_apbd_fungsi/{kode}', 'method' => 'detailApbdFungsi'],
                ['verb' => 'get', 'path' => '/tahun_apbd/{kode}', 'method' => 'listTahunApbd']
            ]
        ],
        [
            'prefix' => '/v5/bansos',
            'controller' => 'BansosController',
            'paths' => [
                ['verb' => 'get', 'path' => '/pemda_list', 'method' => 'listPemda', 'name' => 'listPemda'],
                ['verb' => 'get', 'path' => '/provinsi_list', 'method' => 'listProvinsi', 'name' => 'listProvinsi'],
                ['verb' => 'get', 'path' => '/kota_kabupaten_list', 'method' => 'listKotaKabupaten', 'name' => 'listKotaKabupaten'],
                ['verb' => 'get', 'path' => '/objek-list', 'method' => 'listObjek', 'name' => 'listObjek'],
                ['verb' => 'get', 'path' => '/instansi-tl-list', 'method' => 'listInstansiTL', 'name' => 'listInstansiTL'],
                ['verb' => 'get', 'path' => '/detail', 'method' => 'detailBansos', 'name' => 'detailBansos'],
                ['verb' => 'get', 'path' => '/detail_by_instansi', 'method' => 'detailBansosByInstansi', 'name' => 'detailBansosByInstansi'],
                ['verb' => 'get', 'path' => '/detail_info', 'method' => 'detailInfo', 'name' => 'detailInfoBansos'],
                ['verb' => 'get', 'path' => '/list_all', 'method' => 'listLaporanBansosAll', 'name' => 'listLaporanBansosAll'],
                ['verb' => 'get', 'path' => '/list_assigned', 'method' => 'listLaporanBansosAssigned', 'name' => 'listLaporanBansosAssigned'],
                ['verb' => 'get', 'path' => '/list_follow_up', 'method' => 'listLaporanBansosFollowUp', 'name' => 'listLaporanBansosFollowUp'],
                ['verb' => 'get', 'path' => '/list_monitoring', 'method' => 'listLaporanBansosMonitoring', 'name' => 'listLaporanBansosMonitoring'],
                ['verb' => 'get', 'path' => '/history', 'method' => 'historyBansos', 'name' => 'historyBansos'],
                ['verb' => 'get', 'path' => '/export_all', 'method' => 'exportBansosAll', 'name' => 'exportBansosAll'],
                ['verb' => 'get', 'path' => '/export_assigned', 'method' => 'exportBansosAssigned', 'name' => 'exportBansosAssigned'],
                ['verb' => 'get', 'path' => '/export_follow_up', 'method' => 'exportBansosFollowUp', 'name' => 'exportBansosFollowUp'],
                ['verb' => 'get', 'path' => '/list_topik', 'method' => 'listTopikBansos', 'name' => 'listTopikBansos'],
                ['verb' => 'get', 'path' => '/can_confirm_assigned', 'method' => 'canConfirmAssigned', 'name' => 'canConfirmAssigned'],
                ['verb' => 'get', 'path' => '/konten/{uuid}', 'method' => 'kontenKeluhan', 'name' => 'kontenKeluhan'],
                ['verb' => 'get', 'path' => '/detail_apbd', 'method' => 'detailApbdBansos', 'name' => 'detailApbdBansos'],
                ['verb' => 'post', 'path' => '/report', 'method' => 'submitReport', 'name' => 'submitReportBansos'],
                ['verb' => 'post', 'path' => '/confirm_all', 'method' => 'confirmLaporanBansosAll', 'name' => 'confirmLaporanBansosAll'],
                ['verb' => 'post', 'path' => '/confirm_assigned', 'method' => 'confirmLaporanBansosAssigned', 'name' => 'confirmLaporanBansosAssigned'],
                ['verb' => 'post', 'path' => '/follow_up', 'method' => 'followUpLaporanBansos', 'name' => 'followUpLaporanBansos'],
                ['verb' => 'post', 'path' => '/add_topik', 'method' => 'addTopikBansos', 'name' => 'addTopikBansos'],
                ['verb' => 'post', 'path' => '/edit_report/{uuid}', 'method' => 'editKeluhan', 'name' => 'editKeluhan'],
                ['verb' => 'get', 'path' => '/anggaran-nasional', 'method' => 'anggaranNasional', 'name' => 'anggaranNasionalBansos'],
                ['verb' => 'get', 'path' => '/chart-jenis-pemilu', 'method' => 'barChartJenisKeluhanPemilu', 'name' => 'barChartJenisKeluhanPemiluBansos'],
            ]
        ],
        [
            'prefix' => '/v5/keluhan',
            'controller' => KeluhanController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/statistik-pelabuhan', 'method' => 'statistikPelabuhan'],
                ['verb' => 'get', 'path' => '/statistik-bpjs', 'method' => 'statistikBpjs'],
                ['verb' => 'post', 'path' => '/desa', 'method' => 'submitKeluhanDesa'],
                ['verb' => 'get', 'path' => '/desa', 'method' => 'retrieveKeluhanDesa'],
                ['verb' => 'get', 'path' => '/pemilu-laporan-terbanyak', 'method' => 'pemiluLaporanTerbanyakPartai'],
                ['verb' => 'get', 'path' => '/pemilu-nilai-valuasi', 'method' => 'pemiluLaporanNilaiValuasi'],
                ['verb' => 'get', 'path' => '/pemilu-list-partai', 'method' => 'pemiluListPartai'],
                ['verb' => 'get', 'path' => '/pemilu-per-partai', 'method' => 'pemiluPerPartai'],
                ['verb' => 'get', 'path' => '/pemilu-laporan-per-paslon', 'method' => 'pemiluJumlahLaporanPerPaslon'],
                ['verb' => 'get', 'path' => '/pemilu-lhkpn-per-paslon', 'method' => 'pemiluLhkpnPerPaslon'],
                ['verb' => 'get', 'path' => '/pemilu-kasus-per-paslon', 'method' => 'pemiluKasusPerPaslon'],
                ['verb' => 'get', 'path' => '/pemilu-rekam-jejak-per-partai/{id}', 'method' => 'pemiluRekamJejakPerPartai'],
                ['verb' => 'get', 'path' => '/pemilu-lhkpn-capres-cawapres', 'method' => 'pemiluLhkpnCapresCawapres'],
                ['verb' => 'get', 'path' => '/pemilu-laporan', 'method' => 'pemiluLaporan'],
                ['verb' => 'get', 'path' => '/pemilu-stat', 'method' => 'pemiluStat'],
                ['verb' => 'get', 'path' => '/by_user', 'method' => 'keluhanUser'],
                ['verb' => 'post', 'path' => '/status/update', 'method' => 'updateStatus'],
            ]
        ],
        [
            'prefix' => '/v5/topik-keluhan',
            'controller' => TopikDiskusiBansosController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'indexTopikKeluhan'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailTopikKeluhan'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createTopikKeluhan'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateTopikKeluhan'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deleteTopikKeluhan'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreTopikKeluhan'],
                ['verb' => 'get', 'path' => '/type-list', 'method' => 'listType', 'name' => 'listTypeTopikKeluhan'],
                ['verb' => 'get', 'path' => '/confirm-options/pelabuhan/{idTopik}', 'method' => 'confirmOptionsPelabuhan'],
            ]
        ],
        [
            'prefix' => '/v5/scopes-instansi-topik',
            'controller' => ScopesInstansiTopikController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete'],
            ]
        ],
        [
            'prefix' => '/v5/spi/config',
            'controller' => 'SPIConfigController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SPIConfigGetAll'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'store', 'name' => 'SPIConfigStore'],
            ]
        ],
        [
            'prefix' => '/v5/spi/kerangkapenilaian',
            'controller' => 'SPIKerangkaPenilaianController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SPIKerangkaPenilaianGetAll'], //public, terbatas, tidak ada id_instansi
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'SPIKerangkaPenilaianDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'store', 'name' => 'SPIKerangkaPenilaianStore'],
                ['verb' => 'post', 'path' => '/edit/{id}', 'method' => 'update', 'name' => 'SPIKerangkaPenilaianUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'SPIKerangkaPenilaianDelete'],
            ]
        ],
        [
            'prefix' => '/v5/spi/metodepengumpulandata',
            'controller' => 'SPIMetodePengumpulanDataController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SPIMetodePengumpulanDataControllerGetAll'], //public, terbatas, tidak ada id_instansi
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'SPIMetodePengumpulanDataControllerDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'store', 'name' => 'SPIMetodePengumpulanDataControllerStore'],
                ['verb' => 'post', 'path' => '/edit/{id}', 'method' => 'update', 'name' => 'SPIMetodePengumpulanDataControllerUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'SPIMetodePengumpulanDataControllerDelete'],
                ['verb' => 'get', 'path' => '/getnew', 'method' => 'getLaporanNew', 'name' => 'getLaporanNew'],
            ]
        ],
        [
            'prefix' => '/v5/spi/lokussurvey',
            'controller' => 'SPILokusSurveyController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SPILokusSurveyGetAll'], //public, terbatas, tidak ada id_instansi
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'SPILokusSurveyDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'store', 'name' => 'SPILokusSurveyStore'],
                ['verb' => 'post', 'path' => '/edit/{id}', 'method' => 'update', 'name' => 'SPILokusSurveyUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'SPILokusSurveyDelete'],
            ]
        ],
        [
            'prefix' => '/v5/spi/targetsample',
            'controller' => 'SPITargetSampleController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SPITargetSampleGetAll'], //public, terbatas, tidak ada id_instansi
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'SPITargetSampleDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'store', 'name' => 'SPITargetSampleStore'],
                ['verb' => 'post', 'path' => '/edit/{id}', 'method' => 'update', 'name' => 'SPITargetSampleUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'SPITargetSampleDelete'],
            ]
        ],
        [
            'prefix' => '/v5/spi/pemilihansampleinternal',
            'controller' => 'SPIPemilihanSampleInternalController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SPIPemilihanSampleInternalGetAll'], //public, terbatas, tidak ada id_instansi
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'SPIPemilihanSampleInternalDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'store', 'name' => 'SPIPemilihanSampleInternalStore'],
                ['verb' => 'post', 'path' => '/edit/{id}', 'method' => 'update', 'name' => 'SPIPemilihanSampleInternalUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'SPIPemilihanSampleInternalDelete'],
            ]
        ],
        [
            'prefix' => '/v5/spi/pemilihansampleeksternal',
            'controller' => 'SPIPemilihanSampleEksternalController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SPIPemilihanSampleEksternalGetAll'], //public, terbatas, tidak ada id_instansi
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'SPIPemilihanSampleEksternalDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'store', 'name' => 'SPIPemilihanSampleEksternalStore'],
                ['verb' => 'post', 'path' => '/edit/{id}', 'method' => 'update', 'name' => 'SPIPemilihanSampleEksternalUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'SPIPemilihanSampleEksternalDelete'],
            ]
        ],
        [
            'prefix' => '/v5/spi/pemilihansampleeksper',
            'controller' => 'SPIPemilihanSampleEksperController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SPIPemilihanSampleEksperGetAll'], //public, terbatas, tidak ada id_instansi
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'SPIPemilihanSampleEksperDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'store', 'name' => 'SPIPemilihanSampleEksperStore'],
                ['verb' => 'post', 'path' => '/edit/{id}', 'method' => 'update', 'name' => 'SPIPemilihanSampleEksperUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'SPIPemilihanSampleEksperDelete'],
            ]
        ],
        [
            'prefix' => '/v5/spi/faktorkoreksi',
            'controller' => 'SPIFaktorKoreksiController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SPIFaktorKoreksiGetAll'], //public, terbatas, tidak ada id_instansi
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'SPIFaktorKoreksiDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'store', 'name' => 'SPIFaktorKoreksiStore'],
                ['verb' => 'post', 'path' => '/edit/{id}', 'method' => 'update', 'name' => 'SPIFaktorKoreksiUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'SPIFaktorKoreksiDelete'],
            ]
        ],
        [
            'prefix' => '/v5/spi/periode',
            'controller' => 'SPIPeriodeController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SPIPeriodeGetAll'], //public, terbatas, tidak ada id_instansi
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'SPIPeriodeDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'store', 'name' => 'SPIPeriodeStore'],
                ['verb' => 'post', 'path' => '/edit/{id}', 'method' => 'update', 'name' => 'SPIPeriodeUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'SPIPeriodeDelete'],
            ]
        ],
        [
            'prefix' => '/v5/spi/respondeninternal',
            'controller' => 'SPIProfilRespondenInternalController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SPIProfilRespondenInternalGetAll'], //public, terbatas, tidak ada id_instansi
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'SPIProfilRespondenInternalDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'store', 'name' => 'SPIProfilRespondenInternalStore'],
                ['verb' => 'post', 'path' => '/edit/{id}', 'method' => 'update', 'name' => 'SPIProfilRespondenInternalUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'SPIProfilRespondenInternalDelete'],
            ]
        ],
        [
            'prefix' => '/v5/spi/respondeneksternal',
            'controller' => 'SPIProfilRespondenEksternalController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SPIProfilRespondenEksternalGetAll'], //public, terbatas, tidak ada id_instansi
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'SPIProfilRespondenEksternalDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'store', 'name' => 'SPIProfilRespondenEksternalStore'],
                ['verb' => 'post', 'path' => '/edit/{id}', 'method' => 'update', 'name' => 'SPIProfilRespondenEksternalUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'SPIProfilRespondenEksternalDelete'],
            ]
        ],
        [
            'prefix' => '/v5/spi/respondenexpert',
            'controller' => 'SPIProfilRespondenExpertController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SPIProfilRespondenExpertGetAll'], //public, terbatas, tidak ada id_instansi
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'SPIProfilRespondenExpertDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'store', 'name' => 'SPIProfilRespondenExpertStore'],
                ['verb' => 'post', 'path' => '/edit/{id}', 'method' => 'update', 'name' => 'SPIProfilRespondenExpertUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'SPIProfilRespondenExpertDelete'],
            ]
        ],
        [
            'prefix' => '/v5/spi/indeksintegritasumum',
            'controller' => 'SPIIndeksIntegritasUmumController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SPIIndeksIntegritasUmumGetAll'], //public, terbatas, tidak ada id_instansi
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'SPIIndeksIntegritasUmumDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'store', 'name' => 'SPIIndeksIntegritasUmumStore'],
                ['verb' => 'post', 'path' => '/edit/{id}', 'method' => 'update', 'name' => 'SPIIndeksIntegritasUmumUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'SPIIndeksIntegritasUmumDelete'],
            ]
        ],
        [
            'prefix' => '/v5/spi/indekspenilaianinternal',
            'controller' => 'SPIIndeksPenilaianInternalController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SPIIndeksPenilaianInternalGetAll'], //public, terbatas, tidak ada id_instansi
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'SPIIndeksPenilaianInternalDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'store', 'name' => 'SPIIndeksPenilaianInternalStore'],
                ['verb' => 'post', 'path' => '/edit/{id}', 'method' => 'update', 'name' => 'SPIIndeksPenilaianInternalUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'SPIIndeksPenilaianInternalDelete'],
            ]
        ],
        [
            'prefix' => '/v5/spi/indekspenilaianeksternal',
            'controller' => 'SPIIndeksPenilaianEksternalController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SPIIndeksPenilaianEksternalGetAll'], //public, terbatas, tidak ada id_instansi
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'SPIIndeksPenilaianEksternalDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'store', 'name' => 'SPIIndeksPenilaianEksternalStore'],
                ['verb' => 'post', 'path' => '/edit/{id}', 'method' => 'update', 'name' => 'SPIIndeksPenilaianEksternalUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'SPIIndeksPenilaianEksternalDelete'],
            ]
        ],
        [
            'prefix' => '/v5/spi/kesimpulan',
            'controller' => 'SPIKesimpulanController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SPIKesimpulanGetAll'], //public, terbatas, tidak ada id_instansi
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'SPIKesimpulanDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'store', 'name' => 'SPIKesimpulanStore'],
                ['verb' => 'post', 'path' => '/edit/{id}', 'method' => 'update', 'name' => 'SPIKesimpulanUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'SPIKesimpulanDelete'],
            ]
        ],
        [
            'prefix' => '/v5/spi/saran',
            'controller' => 'SPISaranController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SPISaranGetAll'], //public, terbatas, tidak ada id_instansi
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'SPISaranDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'store', 'name' => 'SPISaranStore'],
                ['verb' => 'post', 'path' => '/edit/{id}', 'method' => 'update', 'name' => 'SPISaranUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'SPISaranDelete'],
            ]
        ],
        [
            'prefix' => '/v5/spi/generatereport',
            'controller' => 'SPIGenerateReportController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SPIGenerateReportGetAll'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'SPIGenerateReportDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'store', 'name' => 'SPIGenerateReportStore'],
                ['verb' => 'post', 'path' => '/edit/{id}', 'method' => 'update', 'name' => 'SPIGenerateReportUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'SPIGenerateReportDelete'],
                ['verb' => 'post', 'path' => '/updatelink', 'method' => 'updateLink', 'name' => 'SPIGenerateReportUpdatelink'],
            ]
        ],
        [
            'prefix' => '/v5/spi/hasilklpd',
            'controller' => 'SPIHasilKLPDController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SPIHasilKLPDGetAll'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'SPIHasilKLPDDetail'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'SPIHasilKLPDDelete'],
                ['verb' => 'get', 'path' => '/mapgeojson', 'method' => 'mapGeojson', 'name' => 'SPIHasilKLPDMapGeoJSON'], //public, terbatas, tidak ada id_instansi
                ['verb' => 'get', 'path' => '/summarymap', 'method' => 'summaryTable', 'name' => 'SPIHasilKLPDSummaryTable'], //public, terbatas
                ['verb' => 'get', 'path' => '/summarymap/korwil', 'method' => 'summaryTable', 'name' => 'SPIHasilKLPDSummaryTableKorwil'], //private/korwil, id_instansi ada di code_klpd
                ['verb' => 'get', 'path' => '/summarymapsum', 'method' => 'summaryMapSum', 'name' => 'SPIHasilKLPDSummaryMap'], //public, terbatas
                ['verb' => 'get', 'path' => '/summarymapsum/korwil', 'method' => 'summaryMapSum', 'name' => 'SPIHasilKLPDSummaryMapKorwil'], //private/korwil, id_instansi ada di code_klpd
                ['verb' => 'get', 'path' => '/elhkpn', 'method' => 'elhkpn', 'name' => 'SPIHasilKLPDElhkpn'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'store', 'name' => 'SPIHasilKLPDStore'],
                ['verb' => 'post', 'path' => '/edit/{id}', 'method' => 'update', 'name' => 'SPIHasilKLPDUpdate'],
                ['verb' => 'get', 'path' => '/byklpd/{id}', 'method' => 'getByKLPD', 'name' => 'SPIHasilKLPDGetByKLPD'],
                ['verb' => 'get', 'path' => '/instansi-kementerian', 'method' => 'getInstansiKementerian', 'name' => 'SPIHasilKLPDGetInstansiKementerian'],
                ['verb' => 'post', 'path' => '/import', 'method' => 'import', 'name' => 'SPIHasilKLPDImport'],
                ['verb' => 'get', 'path' => '/internal_eksternal', 'method' => 'internalExternal', 'name' => 'SPIHasilKLPDinternalExternal'],
                ['verb' => 'get', 'path' => '/data_area_instansi', 'method' => 'dataAreaInstansi', 'name' => 'SPIHasilKLPDdataArea'],
                ['verb' => 'get', 'path' => '/list_opd', 'method' => 'listOpdIntExt', 'name' => 'SPIHasilKLPDlistOpdIntExt'],
                ['verb' => 'get', 'path' => '/opd-by-type', 'method' => 'listOpdByType', 'name' => 'SPIHasilKLPDlistOpdByType'],
                ['verb' => 'get', 'path' => '/detail_komponen_opd', 'method' => 'detailKomponenOpd', 'name' => 'SPIHasilKLPDdetailKomponenOpd'],
                ['verb' => 'get', 'path' => '/list_kelompok_anggaran', 'method' => 'listKelompokAnggaran', 'name' => 'SPIHasilKLPDlistKelompokAnggaran'],
                ['verb' => 'get', 'path' => '/data-kl', 'method' => 'dataKL', 'name' => 'SPIHasilKLPDdataKL'],
                ['verb' => 'get', 'path' => '/data_unit_kerja_kl', 'method' => 'dataUnitKerjaKL', 'name' => 'SPIHasilKLPDdataUnitKerjaKL'],
                ['verb' => 'get', 'path' => '/indeks-level-wilayah', 'method' => 'indeksByLevelWilayah', 'name' => 'SPIHasilKLPDindeksByLevelWilayah'],
                ['verb' => 'get', 'path' => '/summary', 'method' => 'summary', 'name' => 'SPIHasilKLPDSummary'],
            ]
        ],
        [
            'prefix' => '/v5/spi/logdownload',
            'controller' => 'SPILogDownloadController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SPILogDownloadControllerGetAll'],
                ['verb' => 'post', 'path' => '/store', 'method' => 'store', 'name' => 'SPILogDownloadControllerStore'],
            ]
        ],
        [
            'prefix' => '/v5/spi/data-accessor',
            'controller' => 'SpiDataAccessorController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SpiDataAccessorControllerGetAll'],
                ['verb' => 'post', 'path' => '/store', 'method' => 'store', 'name' => 'SpiDataAccessorControllerStore'],
                ['verb' => 'get', 'path' => '/download', 'method' => 'download', 'name' => 'SpiDataAccessorControllerDownload'],
            ]
        ],
        [
            'prefix' => '/v5/bpjs',
            'controller' => 'BpjsController',
            'paths' => [
                ['verb' => 'get', 'path' => '/detail', 'method' => 'detail', 'name' => 'BPJSDetail'],
                ['verb' => 'get', 'path' => '/listKabKota', 'method' => 'getListKabKota', 'name' => 'BPJSListKabKota'],
                ['verb' => 'get', 'path' => '/listPuskesmas', 'method' => 'getListPuskesmas', 'name' => 'BPJSListPuskesmas'],
                ['verb' => 'get', 'path' => '/detailPuskesmas/{kodepuskesmas}', 'method' => 'getDetailPuskesmas', 'name' => 'BPJSDetailPuskesmas'],
                ['verb' => 'get', 'path' => '/kapitasi/{kodepuskesmas}', 'method' => 'getDataKapitasi', 'name' => 'BPJSPuskesmasKapitasi'],
                ['verb' => 'get', 'path' => '/search-nama', 'method' => 'searchNama', 'name' => 'BPJSSearchNama'],
                ['verb' => 'get', 'path' => '/summary-puskesmas/{kodepuskesmas}', 'method' => 'summaryPuskesmas', 'name' => 'BPJSSummaryPuskesmas'],
            ]
        ],
        [
            'prefix' => '/v5/spi/chartdekstop',
            'controller' => 'SPIChartDekstopController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'getAll', 'name' => 'SPIChartDekstopGetAll'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'SPIChartDekstopDetail'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'SPIChartDekstopDelete'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'store', 'name' => 'SPIChartDekstopStore'],
                ['verb' => 'post', 'path' => '/edit/{id}', 'method' => 'update', 'name' => 'SPIChartDekstopUpdate'],
            ]
        ],
        [
            'prefix' => '/v5/spi/reportdownload',
            'controller' => 'SPISReportDownloadController',
            'paths' => [
                ['verb' => 'post', 'path' => '/createdocumentpost', 'method' => 'createDocumentPost', 'name' => 'SPISReportDownloadCreateDocumentPost'],
                ['verb' => 'get', 'path' => '/isdownloadspipdfavailable', 'method' => 'isDownloadSpiPDFAvailable', 'name' => 'SPISReportDownloadCreateDocumentPost'],
                ['verb' => 'get', 'path' => '/downloadspipdf', 'method' => 'DownloadSPIPdf', 'name' => 'SPISReportDownloadCreateDocumentPost'],
                ['verb' => 'get', 'path' => '/downloadspipdfumum', 'method' => 'DownloadSPIPdfUmum', 'name' => 'SPISReportDownloadCreateDocumentPost'], //public, terbatas, tidak ada id_instansi
                ['verb' => 'get', 'path' => '/createreport', 'method' => 'CreateReport', 'name' => 'SPISReportDownloadCreateDocumentPost'],
                ['verb' => 'get', 'path' => '/getreportnew', 'method' => 'GetPDFReportNew', 'name' => 'GetPDFReportNew'],
                ['verb' => 'get', 'path' => '/getreportnew/perluasan', 'method' => 'getEreportPerluasan', 'name' => 'getEreportPerluasan'],
                ['verb' => 'get', 'path' => '/data-spi', 'method' => 'downloadDataSPI'],
                ['verb' => 'get', 'path' => '/data-spi/available-years', 'method' => 'availableYearsDataSpi'],
                ['verb' => 'get', 'path' => '/get-ptn-instansi', 'method' => 'getPDFReportPTNGov', 'name' => 'getPDFReportPTNGov'],
                ['verb' => 'get', 'path' => '/get-petunjuk-pelaksanaan-rtl-spi', 'method' => 'getPDFPetunjukPelaksanaanRTLSPI', 'name' => 'getPDFPetunjukPelaksanaanRTLSPI']
            ]
        ],
        [
            'prefix' => '/v5/captchas',
            'controller' => 'CaptchaController',
            'paths' => [
                ['verb' => 'post', 'path' => '/generate', 'method' => 'generate'],
                ['verb' => 'post', 'path' => '/generate-deletion', 'method' => 'generateForDeletion']
            ]
        ],
        [
            'prefix' => '/v5/activity',
            'controller' => 'ActivityController',
            'paths' => [
                ['verb' => 'post', 'path' => '/test', 'method' => 'testMethodActivity', 'name' => 'testMethodActivity'],
                ['verb' => 'get', 'path' => '/matrix', 'method' => 'getDataActivityMatrix', 'name' => 'getDataActivityMatrix'],
                ['verb' => 'post', 'path' => '/matrix/delete', 'method' => 'deleteDataActivityMatrix', 'name' => 'deleteDataActivityMatrix'],
                ['verb' => 'get', 'path' => '/trend_produk', 'method' => 'getProductTrend', 'name' => 'getProductTrend'],
                ['verb' => 'get', 'path' => '/trend_objek', 'method' => 'getObjekTrend', 'name' => 'getObjekTrend'],
                ['verb' => 'get', 'path' => '/list', 'method' => 'getUserActivityList', 'name' => 'getUserActivityList'],
                ['verb' => 'post', 'path' => '/delete', 'method' => 'deleteDataActivity', 'name' => 'deleteDataActivity'],
                ['verb' => 'post', 'path' => '/delete_by_user', 'method' => 'deleteDataActivityByUser', 'name' => 'deleteDataActivityByUser'],
                ['verb' => 'get', 'path' => '/summary', 'method' => 'getUserActivitySummary', 'name' => 'getUserActivitySummary'],
                ['verb' => 'get', 'path' => '/recommendations', 'method' => 'getRecommendationByUser', 'name' => 'getRecommendationByUser'],
                ['verb' => 'get', 'path' => '/recommendations_user', 'method' => 'getRecommendation', 'name' => 'getRecommendation'],
                ['verb' => 'get', 'path' => '/trend_by_provinsi', 'method' => 'getTrendObjekByProvinsi', 'name' => 'getTrendObjekByProvinsi'],
                ['verb' => 'get', 'path' => '/trend_by_kabupaten', 'method' => 'getTrendObjekByKabupaten', 'name' => 'getTrendObjekByKabupaten']
            ]
        ],
        [

            'prefix' => '/v5/api_log_error',
            'controller' => 'ApiLogErrorController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'api_log_error_index'],
                ['verb' => 'get', 'path' => '/debug', 'method' => 'debug', 'name' => 'api_log_error_debug'],
            ]
        ],
        [
            'prefix' => '/v5/litbang/kajian-sektor',
            'controller' => 'LitbangKajianSektorController',
            'paths' => [
                ['verb' => 'get', 'path' => '/all', 'method' => 'all', 'name' => 'listLitbangKajianSektor'],
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'listLitbangKajianSektor'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailLitbangKajianSektor'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createLitbangKajianSektor'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateLitbangKajianSektor'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deleteLitbangKajianSektor'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreLitbangKajianSektor'],
            ]
        ],
        [
            'prefix' => '/v5/litbang/kajian-jenis',
            'controller' => 'LitbangKajianJenisController',
            'paths' => [
                ['verb' => 'get', 'path' => '/all', 'method' => 'all', 'name' => 'listLitbangKajianJenis'],
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'listLitbangKajianJenis'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailLitbangKajianJenis'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createLitbangKajianJenis'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateLitbangKajianJenis'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deleteLitbangKajianJenis'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreLitbangKajianJenis'],
            ]
        ],
        [
            'prefix' => '/v5/litbang/kajian',
            'controller' => 'LitbangKajianController',
            'paths' => [
                ['verb' => 'get', 'path' => '/dashboard', 'method' => 'dashboard', 'name' => 'dashboardLitbangKajian'],
                ['verb' => 'get', 'path' => '/all', 'method' => 'all', 'name' => 'listLitbangKajian'],
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'listLitbangKajian'],
                ['verb' => 'get', 'path' => '/years', 'method' => 'years', 'name' => 'yearsLitbangKajian'],
                ['verb' => 'get', 'path' => '/random', 'method' => 'getRandom', 'name' => 'getRandomLitbangKajian'],
                ['verb' => 'get', 'path' => '/latest', 'method' => 'getLatest', 'name' => 'getLatestLitbangKajian'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailLitbangKajian'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createLitbangKajian'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateLitbangKajian'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deleteLitbangKajian'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreLitbangKajian'],
                ['verb' => 'post', 'path' => '/sync-instansi-list', 'method' => 'syncInstansiList', 'name' => 'syncInstansiListLitbangKajian'],
                ['verb' => 'post', 'path' => '/add-instansi/{id}', 'method' => 'addInstansi', 'name' => 'addInstansiLitbangKajian'],
                ['verb' => 'post', 'path' => '/delete-instansi/{id}', 'method' => 'deleteInstansi', 'name' => 'deleteInstansiLitbangKajian'],
                ['verb' => 'post', 'path' => '/add-rekomendasi', 'method' => 'addRekomendasi', 'name' => 'addRekomendasiLitbangKajian'],
                ['verb' => 'post', 'path' => '/edit-rekomendasi/{id}', 'method' => 'editRekomendasi', 'name' => 'editRekomendasiLitbangKajian'],
                ['verb' => 'post', 'path' => '/delete-rekomendasi/{id}', 'method' => 'deleteRekomendasi', 'name' => 'deleteRekomendasiLitbangKajian'],
                ['verb' => 'post', 'path' => '/upload-cover', 'method' => 'uploadCover', 'name' => 'uploadCoverLitbangKajian'],
                ['verb' => 'get', 'path' => '/download-cover/{id}', 'method' => 'downloadCover', 'name' => 'downloadCoverLitbangKajian'],
                ['verb' => 'get', 'path' => '/download-document/{uuid}', 'method' => 'downloadDocument', 'name' => 'downloadDocumentLitbangKajian'],
            ]
        ],
        [
            'prefix' => '/v5/litbang/kajian-pengajuan',
            'controller' => 'LitbangKajianPengajuanController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'indexLitbangKajianPengajuan'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailLitbangKajianPengajuan'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createLitbangKajianPengajuan'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateLitbangKajianPengajuan'],
                ['verb' => 'post', 'path' => '/approval/{id}', 'method' => 'approval', 'name' => 'approvalLitbangKajianPengajuan'],
                ['verb' => 'get', 'path' => '/dashboard', 'method' => 'dashboard', 'name' => 'dashboardLitbangKajianPengajuan'],
                ['verb' => 'get', 'path' => '/download/{uuid}', 'method' => 'downloadDocument', 'name' => 'downloadDocumentLitbangKajianPengajuan'],
                ['verb' => 'post', 'path' => '/upload', 'method' => 'uploadDocument', 'name' => 'uploadDocumentLitbangKajianPengajuan'],
                ['verb' => 'get', 'path' => '/count', 'method' => 'count', 'name' => 'countLitbangKajianPengajuan'],
                ['verb' => 'get', 'path' => '/instansi', 'method' => 'listInstansi', 'name' => 'listInstansiLitbangKajianPengajuan'],
                ['verb' => 'get', 'path' => '/jenis-dokumen/{tahapan}', 'method' => 'jenisDokumenByTahapan', 'name' => 'jenisDokumenByTahapanLitbangKajianPengajuan'],
            ]
        ],
        [
            'prefix' => '/v5/litbang/kajian-repositori',
            'controller' => 'LitbangKajianRepositoriController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'indexLitbangKajianRepositori'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailLitbangKajianRepositori'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createLitbangKajianRepositori'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateLitbangKajianRepositori'],
                ['verb' => 'get', 'path' => '/download/{uuid}', 'method' => 'downloadDocument', 'name' => 'downloadDocumentLitbangKajianRepositori'],
                ['verb' => 'post', 'path' => '/upload', 'method' => 'uploadDocument', 'name' => 'uploadDocumentLitbangKajianRepositori'],
                ['verb' => 'get', 'path' => '/jenis-dokumen', 'method' => 'jenisDokumen', 'name' => 'jenisDokumenLitbangKajianRepositori'],
            ]
        ],
        [
            'prefix' => '/v5/litbang/satgas',
            'controller' => 'LitbangSatgasController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'indexLitbangSatgas'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'detailLitbangSatgas'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createLitbangSatgas'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateLitbangSatgas'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deleteLitbangSatgas'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreLitbangSatgas'],
            ]
        ],
        [
            'prefix' => '/v5/litbang/user',
            'controller' => 'LitbangUserController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'indexLitbangUser'],
                ['verb' => 'get', 'path' => '/detail/{umid}', 'method' => 'detail', 'name' => 'detailLitbangUser'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createLitbangUser'],
                ['verb' => 'post', 'path' => '/update/{umid}', 'method' => 'update', 'name' => 'updateLitbangUser'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deleteLitbangUser'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreLitbangUser'],
                ['verb' => 'get', 'path' => '/roles', 'method' => 'roles', 'name' => 'rolesLitbangUser'],
            ]
        ],
        [
            'prefix' => '/v5/litbang/kajian-pengajuan-diskusi',
            'controller' => 'LitbangKajianPengajuanDiskusiController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list/{pengajuan_id}', 'method' => 'list', 'name' => 'listLitbangKajianPengajuanDiskusi'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createLitbangKajianPengajuanDiskusi'],
                ['verb' => 'get', 'path' => '/download/{uuid}', 'method' => 'download', 'name' => 'downloadLitbangKajianPengajuanDiskusi'],
            ]
        ],
        [
            'prefix' => '/v5/pilkada',
            'controller' => 'PilkadaController',
            'paths' => [
                ['verb' => 'post', 'path' => '/calon/import', 'method' => 'importCalon', 'name' => 'pilkadaImportCalon'],
                ['verb' => 'post', 'path' => '/calon/clear', 'method' => 'clearCalon', 'name' => 'pilkadaClearCalon'],
                ['verb' => 'get', 'path' => '/calon', 'method' => 'getCalon', 'name' => 'pilkadaGetCalon'],
                ['verb' => 'get', 'path' => '/calon-wilayah/{id}', 'method' => 'getCalonWithElhkpnByWilayahId', 'name' => 'pilkadaGetCalonWithElhkpnByWilayahId'],
                ['verb' => 'get', 'path' => '/calon-by-id-wilayah/{id}', 'method' => 'getCalonWithElhkpnByWilayahId', 'name' => 'pilkadaGetCalonWithElhkpnByWilayahId'],
                ['verb' => 'get', 'path' => '/calon-by-kode-wilayah/{kode}', 'method' => 'getCalonWithElhkpnByWilayahKode', 'name' => 'pilkadaGetCalonWithElhkpnByKode']
            ]
        ],

        [
            'prefix' => '/v5/pak/user',
            'controller' => 'PAKUserController',
            'paths' => [

                ['verb' => 'get', 'path' => '/roles', 'method' => 'getRoles', 'name' => 'listRolesPAKUser'],
                ['verb' => 'get', 'path' => '/view/{id}', 'method' => 'view', 'name' => 'viewPAKUser'],
                ['verb' => 'get', 'path' => '/myprofile', 'method' => 'myProfile', 'name' => 'viewMyProfile'],
                ['verb' => 'get', 'path' => '/index', 'method' => 'listUser', 'name' => 'listPAKUser'],
                ['verb' => 'get', 'path' => '/export', 'method' => 'exportUser', 'name' => 'exportPAKUser'],
                ['verb' => 'post', 'path' => '/register', 'method' => 'register', 'name' => 'registerPAKUser'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'updateUser', 'name' => 'updatePAKUser'],
                ['verb' => 'get', 'path' => '/ban/{id}', 'method' => 'ban', 'name' => 'banPAKUser'],
                ['verb' => 'get', 'path' => '/unban/{id}', 'method' => 'unban', 'name' => 'unbanPAKUser'],
                ['verb' => 'get', 'path' => '/isUsernameAvailable/{username}', 'method' => 'isUsernameAvailable', 'name' => 'isUsernameAvailable'],
                ['verb' => 'post', 'path' => '/isEmailAvailable', 'method' => 'isEmailAvailable', 'name' => 'isEmailAvailable'],
                ['verb' => 'post', 'path' => '/isUsernameEmailAvailable', 'method' => 'isUsernameEmailAvailable', 'name' => 'isUsernameEmailAvailable'],

            ]
        ],
        [
            'prefix' => '/v5/pak/questionnaire',
            'controller' => 'PAKQuestionnaireController',
            'paths' => [
                ['verb' => 'get', 'path' => '/all', 'method' => 'all', 'name' => 'allPAKQuestionnaire'],
                ['verb' => 'get', 'path' => '/index', 'method' => 'index', 'name' => 'indexPAKQuestionnaire'],
                ['verb' => 'get', 'path' => '/view/{id}', 'method' => 'view', 'name' => 'viewPAKQuestionnaire'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createPAKQuestionnaire'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updatePAKQuestionnaire'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deletePAKQuestionnaire'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restorePAKQuestionnaire'],
                ['verb' => 'post', 'path' => '/destroy/{id}', 'method' => 'destroy', 'name' => 'destroyPAKQuestionnaire'],
                ['verb' => 'post', 'path' => '/activate/{id}', 'method' => 'activate', 'name' => 'activatePAKQuestionnaire'],
                ['verb' => 'post', 'path' => '/deactivate/{id}', 'method' => 'deactivate', 'name' => 'deactivatePAKQuestionnaire'],
            ]
        ],
        [
            'prefix' => '/v5/pak/questionnaire/category',
            'controller' => 'PAKQuestionnaireCategoryController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'ListPAKQuestionnaireCategory'],
            ]
        ],
        [
            'prefix' => '/v5/pak/questionnaire/document',
            'controller' => 'PAKJenisDokumenQuestionnaireController',
            'paths' => [
                ['verb' => 'get', 'path' => '/all', 'method' => 'all', 'name' => 'allPAKJenisDokumenQuestionnaire'],
                ['verb' => 'get', 'path' => '/index', 'method' => 'index', 'name' => 'indexPAKJenisDokumenQuestionnaire'],
                ['verb' => 'get', 'path' => '/view/{id}', 'method' => 'view', 'name' => 'viewPAKJenisDokumenQuestionnaire'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createPAKJenisDokumenQuestionnaire'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updatePAKJenisDokumenQuestionnaire'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deletePAKJenisDokumenQuestionnaire'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restorePAKJenisDokumenQuestionnaire'],
                ['verb' => 'post', 'path' => '/destroy/{id}', 'method' => 'destroy', 'name' => 'destroyPAKJenisDokumenQuestionnaire'],
            ]
        ],
        [
            'prefix' => '/v5/pak/implementasi',
            'controller' => 'PAKImplementasiController',
            'paths' => [

                ['verb' => 'get', 'path' => '/index', 'method' => 'index', 'name' => 'indexPAKImplementasi'],
                ['verb' => 'get', 'path' => '/view/{id}', 'method' => 'view', 'name' => 'viewPAKImplementasi'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createPAKImplementasi'],
                ['verb' => 'post', 'path' => '/create-and-submit', 'method' => 'createAndSubmit', 'name' => 'createAndSubmitPAKImplementasi'],
                ['verb' => 'post', 'path' => '/create-and-verify', 'method' => 'createAndVerify', 'name' => 'createAndVerifyPAKImplementasi'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updatePAKImplementasi'],
                ['verb' => 'post', 'path' => '/update-and-submit/{id}', 'method' => 'updateAndSubmit', 'name' => 'updateAndSubmitPAKImplementasi'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deletePAKImplementasi'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restorePAKImplementasi'],
                ['verb' => 'post', 'path' => '/destroy/{id}', 'method' => 'destroy', 'name' => 'destroyPAKImplementasi'],
                ['verb' => 'post', 'path' => '/returned', 'method' => 'returned', 'name' => 'returnedPAKImplementasi'],
                ['verb' => 'post', 'path' => '/verify', 'method' => 'verify', 'name' => 'verifyPAKImplementasi'],
                ['verb' => 'post', 'path' => '/batch-verify', 'method' => 'batchVerify', 'name' => 'batchVerifyPAKImplementasi'],
                ['verb' => 'post', 'path' => '/attachment/upload', 'method' => 'uploadAttachment', 'name' => 'uploadPAKImplementasiAttachment'],
                ['verb' => 'get', 'path' => '/attachment/delete/{id}', 'method' => 'deleteAttachment', 'name' => 'deletePAKImplementasiAttachment'],
                ['verb' => 'get', 'path' => '/attachment/download/{id}', 'method' => 'downloadAttachment', 'name' => 'downloadPAKImplementasiAttachment'],
                ['verb' => 'get', 'path' => '/instansi', 'method' => 'listInstansi', 'name' => 'listInstansiPAKImplementasi'],
                ['verb' => 'get', 'path' => '/presigned/upload', 'method' => 'presignedUrlUpload', 'name' => 'presignedUrlUploadPAKImplementasi'],
            ]
        ],
        [
            'prefix' => '/v5/pak/isiansekolah',
            'controller' => 'PAKIsianSekolahController',
            'paths' => [
                ['verb' => 'get', 'path' => '/index', 'method' => 'index', 'name' => 'indexPAKIsianSekolah'],
                ['verb' => 'get', 'path' => '/view/{id}', 'method' => 'view', 'name' => 'viewPAKIsianSekolah'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createPAKIsianSekolah'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updatePAKIsianSekolah'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deletePAKIsianSekolah'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restorePAKIsianSekolah'],
                ['verb' => 'post', 'path' => '/destroy/{id}', 'method' => 'destroy', 'name' => 'destroyPAKIsianSekolah'],
                ['verb' => 'post', 'path' => '/verify/{id}', 'method' => 'verify', 'name' => 'verifyPAKIsianSekolah'],
                ['verb' => 'post', 'path' => '/batch-verify', 'method' => 'batchVerify', 'name' => 'verifyPAKIsianSekolah'],
                ['verb' => 'get', 'path' => '/publish/{id}', 'method' => 'publish', 'name' => 'publishPAKIsianSekolah'],
                ['verb' => 'get', 'path' => '/unpublish/{id}', 'method' => 'unpublish', 'name' => 'unpublishPAKIsianSekolah'],
                ['verb' => 'get', 'path' => '/detailbynpsn/{npsn}', 'method' => 'getDetailByNpsn', 'name' => 'getDetailByNpsn'],
                ['verb' => 'get', 'path' => '/tahunajaran/{npsn}', 'method' => 'getTahunAjaranByNpsn', 'name' => 'getTahunAjaranByNpsn'],
                ['verb' => 'get', 'path' => '/list_status', 'method' => 'listStatus', 'name' => 'pakIsianSekolahlistStatus'],
                ['verb' => 'get', 'path' => '/list_sekolah_with_detail_isian', 'method' => 'listSekolahWithDetailIsian', 'name' => 'pakIsianSekolahlistSekolahWithDetailIsian'],
                ['verb' => 'get', 'path' => '/excel_index', 'method' => 'excelIndex', 'name' => 'pakIsianSekolahexcelIndex'],
                ['verb' => 'get', 'path' => '/excel_list_sekolah', 'method' => 'excelListSekolahWithDetail', 'name' => 'pakIsianSekolahexcelListSekolahWithDetail'],
                ['verb' => 'get', 'path' => '/excel-isian-kegiatan', 'method' => 'excelIsianKegiatan', 'name' => 'pakIsianSekolahExcelIsianKegiatan'],
                ['verb' => 'get', 'path' => '/list_tahun_ajaran', 'method' => 'listTahunAjaran', 'name' => 'pakIsianSekolahlistTahunAjaran'],
                ['verb' => 'get', 'path' => '/chart_sekolah', 'method' => 'chartSekolah', 'name' => 'pakIsianSekolahchartSekolah'],
                ['verb' => 'post', 'path' => '/kegiatan_favorite/{id}', 'method' => 'favoriteKegiatan', 'name' => 'pakIsianSekolahfavoriteKegiatan'],
                ['verb' => 'post', 'path' => '/kegiatan_unfavorite/{id}', 'method' => 'unfavoriteKegiatan', 'name' => 'pakIsianSekolahunfavoriteKegiatan'],
            ]
        ],
        [
            'prefix' => '/v5/pak/isiansekolah/attachment',
            'controller' => 'PAKIsianSekolahAttachmentController',
            'paths' => [
                ['verb' => 'post', 'path' => '/upload-doc', 'method' => 'uploadDoc', 'name' => 'uploadDocIsianSekolah'],
                ['verb' => 'post', 'path' => '/upload-image', 'method' => 'uploadImage', 'name' => 'uploadImageIsianSekolah'],
                ['verb' => 'get', 'path' => '/download-doc/{id}', 'method' => 'downloadDoc', 'name' => 'downloadDocIsianSekolah'],
                ['verb' => 'get', 'path' => '/download-image/{id}', 'method' => 'downloadImage', 'name' => 'downloadImageIsianSekolah'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'deleteAttachment', 'name' => 'deleteAttachmentIsianSekolah'],
                ['verb' => 'get', 'path' => '/presigned/upload', 'method' => 'presignedUrlUpload', 'name' => 'presignedUrlUploadIsianSekolah'],
            ]
        ],
        [
            'prefix' => '/v5/pak/diskusi',
            'controller' => PAKDiskusiController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/{ref}/{id}', 'method' => 'get'],
                ['verb' => 'post', 'path' => '/', 'method' => 'post'],
            ]
        ],
        [
            'prefix' => '/v5/pak/dashboard',
            'controller' => 'PAKDashboardController',
            'paths' => [
                ['verb' => 'get', 'path' => '/stats-implementasi', 'method' => 'statsImplementasi', 'name' => 'dashboardPAKstatsImplementasi'],
                ['verb' => 'get', 'path' => '/stats-isiansekolah', 'method' => 'statsIsianSekolah', 'name' => 'dashboardPAKstatsIsianSekolah'],
                ['verb' => 'get', 'path' => '/isian-last-insert', 'method' => 'getIsianLastInsert', 'name' => 'dashboardPAKgetIsianLastInsert'],
                ['verb' => 'get', 'path' => '/regulasi', 'method' => 'getRegulasi', 'name' => 'dashboardPAKgetRegulasi'],
                ['verb' => 'get', 'path' => '/list-regulasi', 'method' => 'listRegulasi', 'name' => 'dashboardPAKListRegulasi'],
                ['verb' => 'get', 'path' => '/list-pemda', 'method' => 'listPemda', 'name' => 'dashboardPAKListPemda'],
                ['verb' => 'get', 'path' => '/export-list-pemda', 'method' => 'exportListPemda', 'name' => 'dashboardPAKExportListPemda'],
                ['verb' => 'get', 'path' => '/list-tahun-regulasi', 'method' => 'listTahunRegulasi', 'name' => 'dashboardPAKListTahunRegulasi'],
                ['verb' => 'get', 'path' => '/option-column-isian', 'method' => 'optionColumnIsianSekolah'],
                ['verb' => 'get', 'path' => '/export-user-sekolah-by-wilayah', 'method' => 'exportCountUserSekolahByWilayah'],
            ]
        ],
        [
            'prefix' => '/v5/profil-daerah',
            'controller' => 'ProfilDaerahController',
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'listProfilDaerah'],
                ['verb' => 'get', 'path' => '/list-all', 'method' => 'listAll', 'name' => 'listAllProfilDaerah'],
                ['verb' => 'get', 'path' => '/view/{id}', 'method' => 'view', 'name' => 'viewProfilDaerah'],
                ['verb' => 'get', 'path' => '/detail', 'method' => 'detail', 'name' => 'detail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'createProfilDaerah'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'updateProfilDaerah'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'deleteProfilDaerah'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'restoreProfilDaerah'],
                ['verb' => 'post', 'path' => '/import', 'method' => 'import', 'name' => 'importProfilDaerah'],
                ['verb' => 'get', 'path' => '/stat-regulasi-pak', 'method' => 'statRegulasiPAK', 'name' => 'statRegulasiPAKProfilDaerah'],
                ['verb' => 'get', 'path' => '/list-regulasi-pak', 'method' => 'listRegulasiPAK', 'name' => 'listRegulasiPAKProfilDaerah'],
                ['verb' => 'get', 'path' => '/download-regulasi-pak/{uuid}', 'method' => 'downloadRegulasiPAK', 'name' => 'downloadRegulasiPAKProfilDaerah'],
            ]
        ],
        [
            'prefix' => '/v5/ppj',
            'controller' => 'PpjController',
            'paths' => [
                ['verb' => 'get', 'path' => '/lapppjhal1', 'method' => 'lapppjhal1', 'name' => 'lapPpjHal1'],
                ['verb' => 'get', 'path' => '/lapppjhal2', 'method' => 'lapppjhal2', 'name' => 'lapPpjHal2'],
                ['verb' => 'get', 'path' => '/piutang-pemda', 'method' => 'piutangPemda', 'name' => 'piutangPemda'],
                ['verb' => 'get', 'path' => '/dashboard', 'method' => 'dashboard', 'name' => 'dashboard'],
                ['verb' => 'get', 'path' => '/dashboard-unit-induk', 'method' => 'dashboardUnitInduk', 'name' => 'dashboardUnitInduk'],
                ['verb' => 'get', 'path' => '/list-ppjhal1', 'method' => 'listPpjHal1', 'name' => 'listPpjHal1'],
                ['verb' => 'get', 'path' => '/list-ppjhal2', 'method' => 'listPpjHal2', 'name' => 'listPpjHal2'],
                ['verb' => 'get', 'path' => '/list-ppjpiutangpemda', 'method' => 'listPpjPiutangPemda', 'name' => 'listPpjPiutangPemda'],
                ['verb' => 'get', 'path' => '/update-data', 'method' => 'updateData', 'name' => 'updateData'],
                ['verb' => 'get', 'path' => '/tagihan-pemda', 'method' => 'tagihanPemda', 'name' => 'tagihanPemda'],
                ['verb' => 'get', 'path' => '/tagihan-unit-induk', 'method' => 'tagihanUnitInduk', 'name' => 'tagihanUnitInduk'],
                ['verb' => 'get', 'path' => '/rekening-pemda', 'method' => 'rekeningPemda', 'name' => 'rekeningPemda'],
                ['verb' => 'get', 'path' => '/rekening-unit-induk', 'method' => 'rekeningUnitInduk', 'name' => 'rekeningUnitInduk'],
                ['verb' => 'get', 'path' => '/excel-rekap', 'method' => 'generateExcelRekap', 'name' => 'generateExcelRekap'],
                ['verb' => 'get', 'path' => '/excel-rincian', 'method' => 'generateExcelRincian', 'name' => 'generateExcelRincian'],
                ['verb' => 'get', 'path' => '/excel-rekap-unit-induk', 'method' => 'generateExcelRekapUnitInduk', 'name' => 'generateExcelRekapUnitInduk'],
                ['verb' => 'get', 'path' => '/excel-rincian-unit-induk', 'method' => 'generateExcelRincianUnitInduk', 'name' => 'generateExcelRincianUnitInduk'],
                ['verb' => 'get', 'path' => '/instansi-list', 'method' => 'instansiList'],
            ]
        ],
        [
            'prefix' => '/v5/ppj-user-unit',
            'controller' => 'PpjUserUnitController',
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'list', 'name' => 'ppjUserUnitIndex'],
                ['verb' => 'get', 'path' => '/wilayah', 'method' => 'wilayah', 'name' => 'ppjUserUnitWilayah'],
            ]
        ],
        [
            'prefix' => '/v5/aset',
            'controller' => 'AsetController',
            'paths' => [
                ['verb' => 'get', 'path' => '/sertifikasi/list', 'method' => 'listAsetSertifikasi', 'name' => 'listAsetSertifikasi'],
                ['verb' => 'get', 'path' => '/sertifikasi/detail/{id}', 'method' => 'detailAsetSertifikasi', 'name' => 'detailAsetSertifikasi'],
                ['verb' => 'get', 'path' => '/penertiban/list', 'method' => 'listAsetPenertiban', 'name' => 'listAsetPenertiban'],
                ['verb' => 'get', 'path' => '/penertiban/detail/{id}', 'method' => 'detailAsetPenertiban', 'name' => 'detailAsetPenertiban'],
                ['verb' => 'get', 'path' => '/sarpras/list', 'method' => 'listAsetSarpras', 'name' => 'listAsetSarpras'],
                ['verb' => 'get', 'path' => '/sarpras/detail/{id}', 'method' => 'detailAsetSarpras', 'name' => 'detailAsetSarpras'],
                ['verb' => 'post', 'path' => '/sertifikasi/submit', 'method' => 'submitAsetSertifikasi', 'name' => 'submitAsetSertifikasi'],
                ['verb' => 'post', 'path' => '/sertifikasi/edit/{id}', 'method' => 'editAsetSertifikasi', 'name' => 'editAsetSertifikasi'],
                ['verb' => 'get', 'path' => '/sertifikasi/delete/{id}', 'method' => 'deleteAsetSertifikasi', 'name' => 'deleteAsetSertifikasi'],
                ['verb' => 'post', 'path' => '/sertifikasi/upload', 'method' => 'uploadAsetSertifikasi', 'name' => 'uploadAsetSertifikasi'],
                ['verb' => 'get', 'path' => '/sertifikasi/download', 'method' => 'downloadAsetSertifikasi', 'name' => 'downloadAsetSertifikasi'],
                ['verb' => 'post', 'path' => '/penertiban/submit', 'method' => 'submitAsetPenertiban', 'name' => 'submitAsetPenertiban'],
                ['verb' => 'post', 'path' => '/penertiban/edit/{id}', 'method' => 'editAsetPenertiban', 'name' => 'editAsetPenertiban'],
                ['verb' => 'get', 'path' => '/penertiban/delete/{id}', 'method' => 'deleteAsetPenertiban', 'name' => 'deleteAsetPenertiban'],
                ['verb' => 'post', 'path' => '/penertiban/upload', 'method' => 'uploadAsetPenertiban', 'name' => 'uploadAsetPenertiban'],
                ['verb' => 'get', 'path' => '/penertiban/download', 'method' => 'downloadAsetPenertiban', 'name' => 'downloadAsetPenertiban'],
                ['verb' => 'post', 'path' => '/sarpras/submit', 'method' => 'submitAsetSarpras', 'name' => 'submitAsetSarpras'],
                ['verb' => 'post', 'path' => '/sarpras/edit/{id}', 'method' => 'editAsetSarpras', 'name' => 'editAsetSarpras'],
                ['verb' => 'get', 'path' => '/sarpras/delete/{id}', 'method' => 'deleteAsetSarpras', 'name' => 'deleteAsetSarpras'],
                ['verb' => 'post', 'path' => '/sarpras/upload', 'method' => 'uploadAsetSarpras', 'name' => 'uploadAsetSarpras'],
                ['verb' => 'get', 'path' => '/sarpras/download', 'method' => 'downloadAsetSarpras', 'name' => 'downloadAsetSarpras'],
                ['verb' => 'get', 'path' => '/list_periode', 'method' => 'listPeriode', 'name' => 'listPeriode'],
                ['verb' => 'post', 'path' => '/upload', 'method' => 'uploadAttachment', 'name' => 'uploadAttachment'],
                ['verb' => 'get', 'path' => '/download/{uuid}', 'method' => 'downloadAttachment', 'name' => 'downloadAttachment'],
                ['verb' => 'get', 'path' => '/list_instansi', 'method' => 'listAvailableInstansi', 'name' => 'listAvailableInstansi'],
                ['verb' => 'get', 'path' => '/delete_all/{tipe}', 'method' => 'deleteAllAset', 'name' => 'deleteAllAset'],
                ['verb' => 'get', 'path' => '/dashboard/sertifikasi', 'method' => 'dashboardSertifikasi', 'name' => 'dashboardSertifikasi'],
                ['verb' => 'get', 'path' => '/dashboard/penertiban', 'method' => 'dashboardPenertiban', 'name' => 'dashboardPenertiban'],
                ['verb' => 'get', 'path' => '/dashboard/sarpras', 'method' => 'dashboardSarpras', 'name' => 'dashboardSarpras'],
                ['verb' => 'get', 'path' => '/summary-sertifikasi', 'method' => 'summarySertifikasi', 'name' => 'summarySertifikasi'],
                ['verb' => 'get', 'path' => '/summary-penertiban', 'method' => 'summaryPenertiban', 'name' => 'summaryPenertiban'],
                ['verb' => 'get', 'path' => '/summary-sarpras', 'method' => 'summarySarpras', 'name' => 'summarySarpras'],
                ['verb' => 'get', 'path' => '/summary-dashboard', 'method' => 'summaryDashboard'],
                ['verb' => 'get', 'path' => '/summary-detailed-dashboard', 'method' => 'summaryDetailedDashboard'],
                ['verb' => 'post', 'path' => '/sertifikasi/target/submit', 'method' => 'submitAsetSertifikasiTarget', 'name' => 'submitAsetSertifikasiTarget'],
                ['verb' => 'post', 'path' => '/sertifikasi-target/edit', 'method' => 'editAsetSertifikasiTarget', 'name' => 'editAsetSertifikasiTarget'],
                ['verb' => 'get', 'path' => '/sertifikasi/target/detail/{year}', 'method' => 'detailAsetSertifikasiTarget', 'name' => 'detailAsetSertifikasiTarget'],
                ['verb' => 'get', 'path' => '/sertifikasi/target/delete/{id}', 'method' => 'deleteAsetSertifikasiTarget', 'name' => 'deleteAsetSertifikasiTarget'],
            ]
        ],
        [
            'prefix' => '/v5/pajak',
            'controller' => 'PajakController',
            'paths' => [
                ['verb' => 'get', 'path' => '/capaian/list', 'method' => 'listPajakCapaian', 'name' => 'listPajakCapaian'],
                ['verb' => 'get', 'path' => '/capaian/detail/{id}', 'method' => 'detailPajakCapaian', 'name' => 'detailPajakCapaian'],
                ['verb' => 'get', 'path' => '/penagihan/list', 'method' => 'listPajakPenagihan', 'name' => 'listPajakPenagihan'],
                ['verb' => 'get', 'path' => '/penagihan/detail/{id}', 'method' => 'detailPajakPenagihan', 'name' => 'detailPajakPenagihan'],
                ['verb' => 'get', 'path' => '/tunggakan/list', 'method' => 'listPajakTunggakan', 'name' => 'listPajakTunggakan'],
                ['verb' => 'get', 'path' => '/tunggakan/detail/{id}', 'method' => 'detailPajakTunggakan', 'name' => 'detailPajakTunggakan'],
                ['verb' => 'post', 'path' => '/capaian/submit', 'method' => 'submitPajakCapaian', 'name' => 'submitPajakCapaian'],
                ['verb' => 'post', 'path' => '/capaian/edit/{id}', 'method' => 'editPajakCapaian', 'name' => 'editPajakCapaian'],
                ['verb' => 'get', 'path' => '/capaian/delete/{id}', 'method' => 'deletePajakCapaian', 'name' => 'deletePajakCapaian'],
                ['verb' => 'post', 'path' => '/capaian/upload', 'method' => 'uploadPajakCapaian', 'name' => 'uploadPajakCapaian'],
                ['verb' => 'get', 'path' => '/capaian/download', 'method' => 'downloadPajakCapaian', 'name' => 'downloadPajakCapaian'],
                ['verb' => 'post', 'path' => '/penagihan/submit', 'method' => 'submitPajakPenagihan', 'name' => 'submitPajakPenagihan'],
                ['verb' => 'post', 'path' => '/penagihan/edit/{id}', 'method' => 'editPajakPenagihan', 'name' => 'editPajakPenagihan'],
                ['verb' => 'get', 'path' => '/penagihan/delete/{id}', 'method' => 'deletePajakPenagihan', 'name' => 'deletePajakPenagihan'],
                ['verb' => 'post', 'path' => '/penagihan/upload', 'method' => 'uploadPajakPenagihan', 'name' => 'uploadPajakPenagihan'],
                ['verb' => 'get', 'path' => '/penagihan/download', 'method' => 'downloadPajakPenagihan', 'name' => 'downloadPajakPenagihan'],
                ['verb' => 'post', 'path' => '/tunggakan/submit', 'method' => 'submitPajakTunggakan', 'name' => 'submitPajakTunggakan'],
                ['verb' => 'post', 'path' => '/tunggakan/edit/{id}', 'method' => 'editPajakTunggakan', 'name' => 'editPajakTunggakan'],
                ['verb' => 'get', 'path' => '/tunggakan/delete/{id}', 'method' => 'deletePajakTunggakan', 'name' => 'deletePajakTunggakan'],
                ['verb' => 'post', 'path' => '/tunggakan/upload', 'method' => 'uploadPajakTunggakan', 'name' => 'uploadPajakTunggakan'],
                ['verb' => 'get', 'path' => '/tunggakan/download', 'method' => 'downloadPajakTunggakan', 'name' => 'downloadPajakTunggakan'],
                ['verb' => 'get', 'path' => '/list_pajak', 'method' => 'listJenisPajak', 'name' => 'listJenisPajak'],
                ['verb' => 'get', 'path' => '/list_bulan', 'method' => 'listBulan', 'name' => 'listBulan'],
                ['verb' => 'get', 'path' => '/get_tunggakan', 'method' => 'getTunggakanPajak', 'name' => 'getTunggakanPajak'],
                ['verb' => 'get', 'path' => '/delete_all/{tipe}', 'method' => 'deleteAllPajak', 'name' => 'deleteAllPajak'],
                ['verb' => 'post', 'path' => '/upload', 'method' => 'uploadAttachment', 'name' => 'uploadAttachment'],
                ['verb' => 'get', 'path' => '/download/{uuid}', 'method' => 'downloadAttachment', 'name' => 'downloadAttachment'],
                ['verb' => 'get', 'path' => '/dashboard/capaian', 'method' => 'dashboardCapaian', 'name' => 'dashboardCapaian'],
                ['verb' => 'get', 'path' => '/dashboard/capaian-yearly', 'method' => 'dashboardCapaianYearly', 'name' => 'dashboardCapaianYearly'],
                ['verb' => 'get', 'path' => '/dashboard/capaian-all-tax-yearly', 'method' => 'dashboardCapaianAllTaxYearly', 'name' => 'dashboardCapaianAllTaxYearly'],
                ['verb' => 'get', 'path' => '/dashboard/penagihan', 'method' => 'dashboardPenagihan', 'name' => 'dashboardPenagihan'],
                ['verb' => 'get', 'path' => '/summary-capaian', 'method' => 'summaryCapaian', 'name' => 'summaryCapaian'],
                ['verb' => 'get', 'path' => '/dashboard/capaian-quarter', 'method' => 'dashboardCapaianQuarter', 'name' => 'dashboardCapaianQuarter'],
                ['verb' => 'get', 'path' => '/summary-penagihan', 'method' => 'summaryPenagihan', 'name' => 'summaryPenagihan'],
                ['verb' => 'get', 'path' => '/summary-penagihan-quarter', 'method' => 'summaryPenagihanQuarter', 'name' => 'summaryPenagihanQuarter'],
            ]
        ],
        [
            'prefix' => '/v5/universitas',
            'controller' => 'PerguruanTinggiController',
            'paths' => [
                ['verb' => 'get', 'path' => '/search', 'method' => 'searchPt', 'name' => 'searchPt'],
                ['verb' => 'get', 'path' => '/search-nama', 'method' => 'searchNamaPt', 'name' => 'searchNamaPt'],
                ['verb' => 'get', 'path' => '/list-wilayah', 'method' => 'listWilayah', 'name' => 'listWilayah'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detailPt', 'name' => 'detailPt'],
                ['verb' => 'get', 'path' => '/summary-dosenmahasiswa/{id}', 'method' => 'summaryDosenMahasiswaPt', 'name' => 'summaryDosenMahasiswaPt'],
                ['verb' => 'get', 'path' => '/summary-prodi/{id}', 'method' => 'summaryProdiPt', 'name' => 'summaryProdiPt'],
                ['verb' => 'get', 'path' => '/list-prodi/{id}', 'method' => 'listProdiPt', 'name' => 'listProdiPt'],
                ['verb' => 'get', 'path' => '/detil-anggaran/{id}', 'method' => 'detailAnggaranPt', 'name' => 'detailAnggaranPt'],
                ['verb' => 'get', 'path' => '/summary-pendapatan-belanja/{id}', 'method' => 'summaryPendapatanBelanja', 'name' => 'summaryPendapatanBelanja'],
                ['verb' => 'get', 'path' => '/detail-pendapatan-belanja/{id}', 'method' => 'detailPendapatanBelanja', 'name' => 'detailPendapatanBelanja'],
                ['verb' => 'get', 'path' => '/ptnbh/list', 'method' => 'listPtnbh', 'name' => 'listPtnbh'],
                ['verb' => 'get', 'path' => '/ptnbh/detail/{id}', 'method' => 'detailPtnbh', 'name' => 'detailPtnbh'],
                ['verb' => 'get', 'path' => '/ptnbh/delete/{id}', 'method' => 'deletePtnbh', 'name' => 'deletePtnbh'],
                ['verb' => 'get', 'path' => '/alokasi/list', 'method' => 'listAlokasi', 'name' => 'listAlokasi'],
                ['verb' => 'get', 'path' => '/alokasi/delete/{tahun}', 'method' => 'deleteAllALokasi', 'name' => 'deleteAllALokasi'],
                ['verb' => 'get', 'path' => '/detil-alokasi/list', 'method' => 'listDetilAlokasiBOPTN', 'name' => 'listDetilAlokasiBOPTN'],
                ['verb' => 'get', 'path' => '/pendapatan-belanja/list', 'method' => 'listPendapatanBelanjaPTNBH', 'name' => 'listPendapatanBelanjaPTNBH'],
                ['verb' => 'get', 'path' => '/pendapatan-belanja/delete', 'method' => 'deleteAllPendapatanBelanja', 'name' => 'deleteAllPendapatanBelanja'],
                ['verb' => 'get', 'path' => '/delete/{id}', 'method' => 'deletePerguruanTinggi', 'name' => 'deletePerguruanTinggi'],
                ['verb' => 'get', 'path' => '/info-boptn/list', 'method' => 'listInfoAlokasi', 'name' => 'listInfoAlokasi'],
                ['verb' => 'get', 'path' => '/info-boptn/detail/{id}', 'method' => 'detilInfoAlokasi', 'name' => 'detilInfoAlokasi'],
                ['verb' => 'get', 'path' => '/info-boptn/delete/{id}', 'method' => 'deleteInfoAlokasi', 'name' => 'deleteInfoAlokasi'],
                ['verb' => 'get', 'path' => '/info-pendapatan-belanja/list', 'method' => 'listInfoPendapatanBelanja', 'name' => 'listInfoPendapatanBelanja'],
                ['verb' => 'get', 'path' => '/info-pendapatan-belanja/detail/{id}', 'method' => 'detilInfoPendapatanBelanja', 'name' => 'detilInfoPendapatanBelanja'],
                ['verb' => 'get', 'path' => '/info-pendapatan-belanja/delete/{id}', 'method' => 'deleteInfoPendapatanBelanja', 'name' => 'deleteInfoPendapatanBelanja'],
                ['verb' => 'get', 'path' => '/pip', 'method' => 'getDataKipk', 'name' => 'getDataKipk'],
                ['verb' => 'get', 'path' => '/get-ptnbh/{id}', 'method' => 'getDetailPtnbhByPt', 'name' => 'getDetailPtnbhByPt'],
                ['verb' => 'get', 'path' => '/get-percentage/{id}', 'method' => 'getPercentagePendapatanBelanja', 'name' => 'getPercentagePendapatanBelanja'],
                ['verb' => 'get', 'path' => '/dashboard/banding-bentuk', 'method' => 'getJumlahKampusByBentuk', 'name' => 'getJumlahKampusByBentuk'],
                ['verb' => 'get', 'path' => '/dashboard/banding-provinsi', 'method' => 'getJumlahKampusByProvinsi', 'name' => 'getJumlahKampusByProvinsi'],
                ['verb' => 'get', 'path' => '/dashboard/banding-bentuk-provinsi', 'method' => 'getJumlahKampusByBentukProvinsi', 'name' => 'getJumlahKampusByBentukProvinsi'],
                ['verb' => 'post', 'path' => '/ptnbh/submit', 'method' => 'submitPtnbh', 'name' => 'submitPtnbh'],
                ['verb' => 'post', 'path' => '/ptnbh/edit/{id}', 'method' => 'editPtnbh', 'name' => 'editPtnbh'],
                ['verb' => 'post', 'path' => '/alokasi/upload', 'method' => 'uploadAlokasi', 'name' => 'uploadAlokasi'],
                ['verb' => 'post', 'path' => '/detil-alokasi/upload', 'method' => 'uploadDetilAlokasi', 'name' => 'uploadDetilAlokasi'],
                ['verb' => 'post', 'path' => '/pendapatan-belanja/upload', 'method' => 'uploadPendapatanBelanja', 'name' => 'uploadPendapatanBelanja'],
                ['verb' => 'post', 'path' => '/info-boptn/submit', 'method' => 'submitInfoAlokasi', 'name' => 'submitInfoAlokasi'],
                ['verb' => 'post', 'path' => '/info-boptn/edit/{id}', 'method' => 'editInfoAlokasi', 'name' => 'editInfoAlokasi'],
                ['verb' => 'post', 'path' => '/info-pendapatan-belanja/submit', 'method' => 'submitInfoPendapatanBelanja', 'name' => 'submitInfoPendapatanBelanja'],
                ['verb' => 'post', 'path' => '/info-pendapatan-belanja/edit/{id}', 'method' => 'editInfoPendapatanBelanja', 'name' => 'editInfoPendapatanBelanja'],
                ['verb' => 'get', 'path' => '/info-boptn/export', 'method' => 'exportInfoAlokasi', 'name' => 'exportInfoAlokasi'],
                ['verb' => 'get', 'path' => '/info-pendapatan-belanja/export', 'method' => 'exportInfoPendapatanBelanja', 'name' => 'exportInfoPendapatanBelanja'],
                ['verb' => 'get', 'path' => '/dashboard/boptn-kampus/{tahun}', 'method' => 'getDashboardBoptnKampus', 'name' => 'getDashboardBoptnKampus'],
                ['verb' => 'post', 'path' => '/eks-get', 'method' => 'kemdikbudGet', 'name' => 'kemdikbudGetKampus'],
                ['verb' => 'get', 'path' => '/summary/{id}', 'method' => 'summaryPt', 'name' => 'summaryPt'],
            ]
        ],
        [
            'prefix' => '/v5/jabatan',
            'controller' => 'JabatanController',
            'paths' => [

                ['verb' => 'get', 'path' => '/list_jabatan_kemdagri', 'method' => 'listJabatanKemdagri', 'name' => 'jabatanlistJabatanKemdagri'],
                ['verb' => 'get', 'path' => '/list_user_from_jabatan/{id_jabatan}', 'method' => 'listUserFromJabatan', 'name' => 'jabatanlistUserFromJabatan'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'jabatanDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'jabatanCreate'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'jabatanUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'jabatanDelete'],
                ['verb' => 'post', 'path' => '/set_jabatan_user/{userid}', 'method' => 'setJabatanForUser', 'name' => 'jabatansetJabatanForUser'],
                ['verb' => 'post', 'path' => '/set_users_jabatan/{idjabatan}', 'method' => 'setUsersForJabatan', 'name' => 'jabatansetUsersForJabatan'],
                ['verb' => 'get', 'path' => '/list-all-with-area-fokus', 'method' => 'listAllWithAreaFokus', 'name' => 'jabatanListAllWithAreaFokus'],
            ]
        ],
        [
            'prefix' => '/v5/tags',
            'controller' => TagsController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'tagsList'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'tagsCreate'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'tagsUpdate'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'tagsDetail'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'tagsDelete'],
            ]
        ],
        [
            'prefix' => '/v5/pancek/konsep-sistem-pencegahan',
            'controller' => PancekKonsepSistemPencegahanController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'pancekKonsepSistemPencegahanList'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'pancekKonsepSistemPencegahanDetail'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'pancekKonsepSistemPencegahanUpdate']
            ]
        ],
        [
            'prefix' => '/v5/pancek/indikator',
            'controller' => PancekIndikatorController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'pancekIndikatorList'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'pancekIndikatorDetail'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'pancekIndikatorUpdate']
            ]
        ],
        [
            'prefix' => '/v5/pancek/komponen-indikator',
            'controller' => PancekKomponenIndikatorController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'pancekKomponenIndikatorList'],
                ['verb' => 'get', 'path' => '/form', 'method' => 'form', 'name' => 'pancekKomponenIndikatorForm'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'pancekKomponenIndikatorUpdate'],
                ['verb' => 'post', 'path' => '/mass-update', 'method' => 'massUpdate', 'name' => 'pancekKomponenIndikatorMassUpdate'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'pancekKomponenIndikatorDetail'],
            ]
        ],
        [
            'prefix' => '/v5/pancek/komponen-template',
            'controller' => PancekKomponenTemplateController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/download/{uuid}', 'method' => 'download', 'name' => 'pancekKomponenTemplateDownload'],
                ['verb' => 'post', 'path' => '/upload', 'method' => 'upload', 'name' => 'pancekKomponenTemplateUpload']
            ]
        ],
        [
            'prefix' => '/v5/pancek/jenis-instansi',
            'controller' => PancekJenisInstansiController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'pancekJenisInstansiList'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'pancekJenisInstansiDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'pancekJenisInstansiCreate'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'pancekJenisInstansiUpdate'],
                ['verb' => 'get', 'path' => '/tipe-formulir', 'method' => 'tipeFormulir', 'name' => 'pancekJenisInstansiTipeFormulir'],
            ]
        ],
        [
            'prefix' => '/v5/pancek/sektor-usaha',
            'controller' => PancekSektorUsahaController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'pancekSektorUsahaList'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'pancekSektorUsahaDetail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'pancekSektorUsahaCreate'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'pancekSektorUsahaUpdate'],
            ]
        ],
        [
            'prefix' => '/v5/pancek/user',
            'controller' => PancekUserController::class,
            'paths' => [
                ['verb' => 'post', 'path' => '/register', 'method' => 'register', 'name' => 'pancekUserRegister'],
                ['verb' => 'post', 'path' => '/verify/{um_id}', 'method' => 'verify', 'name' => 'pancekUserVerify'],
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'pancekUserList'],
                ['verb' => 'get', 'path' => '/detail/{um_id}', 'method' => 'detail', 'name' => 'pancekUserDetail'],
                ['verb' => 'get', 'path' => '/info/{um_id}', 'method' => 'info', 'name' => 'pancekUserInfo'],
                ['verb' => 'post', 'path' => '/update/{um_id}', 'method' => 'update', 'name' => 'pancekUserUpdate'],
                ['verb' => 'post', 'path' => '/deletion/{um_id}', 'method' => 'deletion', 'name' => 'pancekUserDeletion'],
            ]
        ],
        [
            'prefix' => '/v5/pancek/instansi',
            'controller' => PancekInstansiController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'pancekInstansiList'],
                ['verb' => 'get', 'path' => '/list-bk', 'method' => 'listBk', 'name' => 'pancekInstansiListBk'],
                ['verb' => 'get', 'path' => '/list-bc', 'method' => 'listBc', 'name' => 'pancekInstansiListBc'],
                ['verb' => 'get', 'path' => '/list-bk/verifikator', 'method' => 'listBkPerVerifikator', 'name' => 'pancekInstansiListBkPerVerifikator'],
                ['verb' => 'get', 'path' => '/list-bc/verifikator', 'method' => 'listBcPerVerifikator', 'name' => 'pancekInstansiListBcPerVerifikator'],
                ['verb' => 'get', 'path' => '/list-with-formulir', 'method' => 'listWithFormulir', 'name' => 'pancekInstansiListWithFormulir'],
                ['verb' => 'get', 'path' => '/list-bk-with-formulir', 'method' => 'listBkWithFormulir', 'name' => 'pancekInstansiListBkWithFormulir'],
                ['verb' => 'get', 'path' => '/list-bc-with-formulir', 'method' => 'listBcWithFormulir', 'name' => 'pancekInstansiListBcWithFormulir'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'pancekInstansiDetail'],
                ['verb' => 'post', 'path' => '/verify/{id}', 'method' => 'verify', 'name' => 'pancekInstansiVerify'],
                ['verb' => 'post', 'path' => '/mass-verify', 'method' => 'massVerify', 'name' => 'pancekInstansiMassVerify'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'pancekInstansiUpdate'],
                ['verb' => 'post', 'path' => '/update-admin/{id}', 'method' => 'updateAdmin', 'name' => 'pancekInstansiUpdateAdmin'],
                ['verb' => 'post', 'path' => '/generate-token', 'method' => 'generateToken', 'name' => 'pancekInstansiGenerateToken'],
                ['verb' => 'get', 'path' => '/view-token', 'method' => 'viewToken', 'name' => 'pancekInstansiVetToken'],
                ['verb' => 'post', 'path' => '/register-user', 'method' => 'registerUser', 'name' => 'pancekInstansiRegisterUser'],
                ['verb' => 'post', 'path' => '/transaksi-bakum', 'method' => 'transaksiBakum', 'name' => 'pancekInstansiTransaksiBakum'],
                ['verb' => 'get', 'path' => '/generate-excel', 'method' => 'generateExcel', 'name' => 'pancekInstansiGenerateExcel'],
            ]
        ],
        [
            'prefix' => '/v5/pancek/formulir',
            'controller' => PancekFormulirController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'pancekFormulirList'],
                ['verb' => 'get', 'path' => '/list-admin', 'method' => 'listAdmin', 'name' => 'pancekFormulirListAdmin'],
                ['verb' => 'get', 'path' => '/list-public', 'method' => 'listPublic', 'name' => 'pancekFormulirListPublic'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create', 'name' => 'pancekFormulirCreate'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'pancekFormulirUpdate'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete', 'name' => 'pancekFormulirDelete'],
                ['verb' => 'post', 'path' => '/restore/{id}', 'method' => 'restore', 'name' => 'pancekFormulirRestore'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'pancekFormulirDetail'],
                ['verb' => 'get', 'path' => '/answers/{id}', 'method' => 'answers', 'name' => 'pancekFormulirAnswers'],
                ['verb' => 'post', 'path' => '/submit', 'method' => 'submit', 'name' => 'pancekFormulirSubmit'],
                ['verb' => 'post', 'path' => '/verify/{id}', 'method' => 'verify', 'name' => 'pancekFormulirVerify'],
                ['verb' => 'get', 'path' => '/generate-excel/{id}', 'method' => 'generateExcel', 'name' => 'pancekFormulirGenerateExcel'],
                ['verb' => 'get', 'path' => '/download-pdf/{id}', 'method' => 'downloadPdf', 'name' => 'pancekFormulirDownloadPdf'],
                ['verb' => 'get', 'path' => '/download-verified-pdf/{id}', 'method' => 'downloadVerifiedPdf', 'name' => 'pancekFormulirDownloadVerifiedPdf'],
                ['verb' => 'post', 'path' => '/extend-sla-kppbc/{id}', 'method' => 'extendSlaKppbc', 'name' => 'pancekFormulirExtendSLAKppbc'],
                ['verb' => 'post', 'path' => '/assign-verifikator/{id}', 'method' => 'assignVerifikator', 'name' => 'pancekFormulirAssignVerifikator'],
            ]
        ],
        [
            'prefix' => '/v5/pancek/answer',
            'controller' => PancekAnswerController::class,
            'paths' => [
                ['verb' => 'post', 'path' => '/submit', 'method' => 'submit', 'name' => 'pancekAnswerSubmit'],
                ['verb' => 'post', 'path' => '/comment/{id}', 'method' => 'comment', 'name' => 'pancekAnswerComment'],
                ['verb' => 'post', 'path' => '/verify/accept/{id}', 'method' => 'accept', 'name' => 'pancekAnswerVerifyAccept'],
                ['verb' => 'post', 'path' => '/verify/reject/{id}', 'method' => 'reject', 'name' => 'pancekAnswerVerifyReject'],
            ]
        ],
        [
            'prefix' => '/v5/pancek/answer/attachment',
            'controller' => PancekAnswerAttachmentController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/download/{formulir_id}', 'method' => 'download', 'name' => 'pancekAnswerAttachmentDownload'],
                ['verb' => 'get', 'path' => '/preview/{formulir_id}', 'method' => 'preview', 'name' => 'pancekAnswerAttachmentPreview'],
                ['verb' => 'post', 'path' => '/upload', 'method' => 'upload', 'name' => 'pancekAnswerAttachmentUpload'],
                ['verb' => 'post', 'path' => '/remove/{id}', 'method' => 'remove', 'name' => 'pancekAnswerAttachmentRemove']
            ]
        ],
        [
            'prefix' => '/v5/pancek/dashboard',
            'controller' => PancekDashboardController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/score-by-instansi', 'method' => 'scoreByInstansi', 'name' => 'pancekDashboardScoreByInstansi'],
                ['verb' => 'get', 'path' => '/score-by-indikator', 'method' => 'scoreByIndikator', 'name' => 'pancekDashboardScoreByIndikator'],
                ['verb' => 'get', 'path' => '/score-by-wilayah', 'method' => 'scoreByWilayah', 'name' => 'pancekDashboardScoreByWilayah'],
                ['verb' => 'get', 'path' => '/map-geojson', 'method' => 'mapGeojson', 'name' => 'pancekDashboardMapGeojson'],
            ]
        ],
        [
            'prefix' => '/v5/pancek/quiz',
            'controller' => PancekQuizController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/form', 'method' => 'form'],
                ['verb' => 'get', 'path' => '/form-answer', 'method' => 'formAnswer'],
                ['verb' => 'post', 'path' => '/submit', 'method' => 'submit'],
            ]
        ],
        [
            'prefix' => '/v5/pancek/user/verifikator',
            'controller' => PancekUserVerifikatorController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list'],
                ['verb' => 'get', 'path' => '/list-bk', 'method' => 'listBK'],
                ['verb' => 'get', 'path' => '/list-bc', 'method' => 'listBC'],
                ['verb' => 'post', 'path' => '/assign-bk', 'method' => 'assignBK'],
                ['verb' => 'post', 'path' => '/assign-bc', 'method' => 'assignBC'],
                ['verb' => 'post', 'path' => '/unassign-bk', 'method' => 'unassignBK'],
                ['verb' => 'post', 'path' => '/unassign-bc', 'method' => 'unassignBC'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete'],
                ['verb' => 'get', 'path' => '/permission_check', 'method' => 'permissionCheck'],
            ]
        ],
        [
            'prefix' => '/v5/pancek/kppbc',
            'controller' => PancekKppbcController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete'],
                ['verb' => 'get', 'path' => '/list-instansi-pancek/{id}', 'method' => 'listInstansiPancek'],
                ['verb' => 'get', 'path' => '/list-simple', 'method' => 'simpleList'],
            ]
        ],
        [
            'prefix' => '/v5/pancek/kppbc/user',
            'controller' => PancekKppbcUserController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/list-verifikator-by-kppbc-id/{kppbcid}', 'method' => 'listVerifiaktorByKppbcId'],
                ['verb' => 'get', 'path' => '/list-assignor-by-kppbc-id/{kppbcid}', 'method' => 'listAssignorByKppbcId'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail'],
                ['verb' => 'post', 'path' => '/assign-verifikator-users/{kppbcid}', 'method' => 'assignVerifiaktorUsers'],
                ['verb' => 'post', 'path' => '/assign-assignor-users/{kppbcid}', 'method' => 'assignAssignorUsers'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete'],
            ]
        ],
        [
            'prefix' => '/v5/pancek/management/user',
            'controller' => PancekManagementUserController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create'],
                ['verb' => 'post', 'path' => '/update', 'method' => 'update'],
                ['verb' => 'post', 'path' => '/access-observer', 'method' => 'accessObserver'],
                ['verb' => 'post', 'path' => '/access-verifikator-bk', 'method' => 'accessVerifikatorBK'],
                ['verb' => 'post', 'path' => '/access-verifikator-bc', 'method' => 'accessVerifikatorBC'],
                ['verb' => 'post', 'path' => '/access-verifikator-bk/init', 'method' => 'initAccessVerifikatorBK'],
                ['verb' => 'post', 'path' => '/access-verifikator-bc/init', 'method' => 'initAccessVerifikatorBC'],
                ['verb' => 'get', 'path' => '/access-verifikator-bk/info', 'method' => 'infoAccessVerifikatorBK'],
                ['verb' => 'get', 'path' => '/access-verifikator-bc/info', 'method' => 'infoAccessVerifikatorBC']
            ]
        ],
        [
            'prefix' => '/v5/pancek/log',
            'controller' => PancekLogController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index'],
                ['verb' => 'get', 'path' => '/formulir/{formulidId}', 'method' => 'logsByFormulir'],
                ['verb' => 'get', 'path' => '/formulir/{formulidId}/answer', 'method' => 'logsAnswerByFormulir'],
            ]
        ],
        [
            'prefix' => '/v5/search',
            'controller' => SearchController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/search', 'method' => 'search', 'name' => 'searchSearch'],
                ['verb' => 'get', 'path' => '/popular_search', 'method' => 'popularSearch', 'name' => 'popularSearchSearch'],
                ['verb' => 'post', 'path' => '/setup', 'method' => 'setup', 'name' => 'setupSearch'],
                ['verb' => 'post', 'path' => '/generate', 'method' => 'generateData', 'name' => 'generateDataSearch'],
                ['verb' => 'post', 'path' => '/delete_all', 'method' => 'deleteAll', 'name' => 'deleteAllMeilisearchSearch'],
                ['verb' => 'get', 'path' => '/status/{id}', 'method' => 'checkStatus', 'name' => 'checkStatusSearch'],
                ['verb' => 'get', 'path' => '/all/status', 'method' => 'checkAllStatus', 'name' => 'checkAllStatusSearch'],
                ['verb' => 'get', 'path' => '/client', 'method' => 'client', 'name' => 'clientStatusSearch'],
                ['verb' => 'get', 'path' => '/index', 'method' => 'index', 'name' => 'indexStatusSearch'],
                //                ['verb' => 'get', 'path' => '/get_index', 'method' => 'getIndex', 'name' => 'getIndexStatusSearch'],
                //                ['verb' => 'get', 'path' => '/get_all_index', 'method' => 'getAllIndex', 'name' => 'getAllIndexStatusSearch'],
                //                ['verb' => 'get', 'path' => '/get_e', 'method' => 'getEnv', 'name' => 'getEnvSearch'],
                ['verb' => 'get', 'path' => '/get_rec', 'method' => 'getRecord', 'name' => 'getRecordSearch'],
            ]
        ],
        [
            'prefix' => '/v5/log-ppj',
            'controller' => LogPpjErrorsController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/list', 'method' => 'list', 'name' => 'logPpjList'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'logPpjUpdate'],
                ['verb' => 'post', 'path' => '/update-by-period', 'method' => 'updateByPeriod', 'name' => 'logPpjUpdateByPeriod'],
                ['verb' => 'post', 'path' => '/insert-by-period', 'method' => 'insertByPeriod', 'name' => 'logPpjInsertByPeriod'],
                ['verb' => 'get', 'path' => '/list-empty', 'method' => 'listPemdaNotCompleted', 'name' => 'logPpjListPemdaNotCompleted'],
            ]
        ],
        [
            'prefix' => '/v5/app-config',
            'controller' => AppConfigController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index', 'name' => 'appConfigIndex'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail', 'name' => 'appConfigDetail'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update', 'name' => 'appConfigUpdate'],
                ['verb' => 'post', 'path' => '/update-kode/{id}', 'method' => 'updateKode', 'name' => 'appConfigUpdateKode'],
                ['verb' => 'get', 'path' => '/retrieve/{kode}', 'method' => 'findByKode', 'name' => 'appConfigRetrieve'],
            ]
        ],
        [
            'prefix' => '/v5/log-moderation',
            'controller' => LogModerationController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail'],
                ['verb' => 'get', 'path' => '/action-reference', 'method' => 'actionReference'],
                ['verb' => 'get', 'path' => '/export', 'method' => 'export']
            ]
        ],
        [
            'prefix' => '/v5/log-email',
            'controller' => LogEmailController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail'],
                ['verb' => 'get', 'path' => '/status-reference', 'method' => 'statusReference'],
                ['verb' => 'post', 'path' => '/batch-send', 'method' => 'batchSend'],
                ['verb' => 'post', 'path' => '/batch-resent', 'method' => 'batchResent'],
            ]
        ],
        [
            'prefix' => '/v5/banner',
            'controller' => BannerController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail'],
                ['verb' => 'post', 'path' => '/activate', 'method' => 'activate'],
                ['verb' => 'post', 'path' => '/deactivate', 'method' => 'deactivate'],
                ['verb' => 'post', 'path' => '/delete', 'method' => 'delete'],
                ['verb' => 'post', 'path' => '/restore', 'method' => 'restore'],
                ['verb' => 'get', 'path' => '/showing-list', 'method' => 'showingList'],
                ['verb' => 'get', 'path' => '/public-view', 'method' => 'publicView'],
                ['verb' => 'post', 'path' => '/sort', 'method' => 'sort'],
            ]
        ],
        [
            'prefix' => '/v5/kemenkeu-apbd',
            'controller' => KemenkeuApbdController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/get-wilayah', 'method' => 'getWilayah'],
                ['verb' => 'get', 'path' => '/get-sub-wilayah', 'method' => 'getSubWilayah'],
                ['verb' => 'get', 'path' => '/get-apbd', 'method' => 'getApbd'],
                ['verb' => 'get', 'path' => '/get-tahun', 'method' => 'getTahun'],
                ['verb' => 'post', 'path' => '/sync', 'method' => 'syncApbd'],
            ]
        ],
        [
            'prefix' => '/v5/master-glosarium',
            'controller' => MasterGlosariumController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/view', 'method' => 'view'],
                ['verb' => 'get', 'path' => '/list', 'method' => 'list'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail'],
                ['verb' => 'post', 'path' => '/create', 'method' => 'create'],
                ['verb' => 'post', 'path' => '/update/{id}', 'method' => 'update'],
                ['verb' => 'post', 'path' => '/delete/{id}', 'method' => 'delete'],
                ['verb' => 'get', 'path' => '/kategori', 'method' => 'kategori'],
                ['verb' => 'get', 'path' => '/sub-kategori', 'method' => 'subKategori'],
            ]
        ],
        [
            'prefix' => '/v5/satuan-bos-bop',
            'controller' => SatuanBosBopController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/provinsi', 'method' => 'listProvinsi'],
                ['verb' => 'get', 'path' => '/by-provinsi', 'method' => 'listByProvinsi'],
            ]
        ],
        [
            'prefix' => '/v5/spi-monitoring',
            'controller' => SpiMonitoringController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/list-form', 'method' => 'tableForm'],
                ['verb' => 'get', 'path' => '/list-form-all-instansi', 'method' => 'tableFormAllInstansi'],
                ['verb' => 'get', 'path' => '/table-form-detail', 'method' => 'tableFormDetails'],
                ['verb' => 'get', 'path' => '/export-table-form-detail', 'method' => 'exportTableFormDetailsAsExcel'],
                ['verb' => 'post', 'path' => '/create-target', 'method' => 'createTarget'],
                ['verb' => 'get', 'path' => '/list-form-detail/{id_form}', 'method' => 'getListFormDetail'],
                ['verb' => 'get', 'path' => '/form-detail/{id}', 'method' => 'retrieveFormDetail'],
                ['verb' => 'post', 'path' => '/form-detail/{id}', 'method' => 'saveFormDetail'],
                ['verb' => 'post', 'path' => '/upload-attachment', 'method' => 'uploadAttachment'],
                ['verb' => 'post', 'path' => '/update-detail-attachment/{id}', 'method' => 'updateDetailAttachment'],
                ['verb' => 'get', 'path' => '/download-attachment/{uuid}', 'method' => 'downloadAttachment'],
                ['verb' => 'get', 'path' => '/list-template', 'method' => 'listTemplate'],
                ['verb' => 'post', 'path' => '/create-template', 'method' => 'createTemplate'],
                ['verb' => 'post', 'path' => '/update-template/{id}', 'method' => 'updateTemplate'],
                ['verb' => 'post', 'path' => '/import/{template_id}', 'method' => 'import'],
                ['verb' => 'get', 'path' => '/list-rekomendasi/{template_id}', 'method' => 'listRekomendasi'],
                ['verb' => 'post', 'path' => '/update-rekomendasi-item/{id}', 'method' => 'updateRekomendasiItem'],
                ['verb' => 'get', 'path' => '/retrieve-rekomendasi-item/{id}', 'method' => 'retrieveRekomendasiItem'],

                // SPI RTL 2025
                ['verb' => 'get', 'path' => '/rtl/dashboard', 'method' => 'dashboardRtl', 'name' => 'dashboardRtl'],
                ['verb' => 'get', 'path' => '/rtl/dashboard/download', 'method' => 'downloadDashboardRtl', 'name' => 'downloadDashboardRtl'],
                ['verb' => 'get', 'path' => '/rtl', 'method' => 'getRtl', 'name' => 'getRtl'],
                ['verb' => 'get', 'path' => '/rtl/detail/{id}', 'method' => 'detailRtl', 'name' => 'detailRtl'],
                ['verb' => 'post', 'path' => '/rtl/create', 'method' => 'createRtl', 'name' => 'createRtl'],
                ['verb' => 'post', 'path' => '/rtl/upload', 'method' => 'uploadRtl', 'name' => 'uploadRtl'],
                ['verb' => 'post', 'path' => '/rtl/update/{id}', 'method' => 'updateRtl', 'name' => 'updateRtl'],
                ['verb' => 'post', 'path' => '/rtl/delete/{id}', 'method' => 'deleteRtl', 'name' => 'deleteRtl'],
                ['verb' => 'post', 'path' => '/rtl/all/delete', 'method' => 'deleteAllRtl', 'name' => 'deleteAllRtl'],
                ['verb' => 'post', 'path' => '/rtl/delete/batch', 'method' => 'deleteBatchRtl', 'name' => 'deleteBatchRtl'],
                ['verb' => 'post', 'path' => '/rtl/upload-dokumen-pendukung/{id}', 'method' => 'uploadDokumenPendukungRtl', 'name' => 'uploadDokumenPendukungRtl'],
                ['verb' => 'get', 'path' => '/rtl/download-template-excel', 'method' => 'downloadTemplateExcel', 'name' => 'downloadTemplateExcel'],
                ['verb' => 'get', 'path' => '/rtl/is-verified', 'method' => 'rtlIsVerified', 'name' => 'rtlIsVerified'],
                ['verb' => 'get', 'path' => '/rtl/attachment/download/{uuid}', 'method' => 'downloadRtlSupportAttachment'],


                // SPI Verifikasi RTL 2025
                ['verb' => 'get', 'path' => '/rtl/verifikasi', 'method' => 'getRtlVerification', 'name' => 'getRtlVerification'],
                ['verb' => 'get', 'path' => '/rtl/verifikasi-rtl', 'method' => 'getRtlToVerify', 'name' => 'getRtlToVerify'],
                ['verb' => 'get', 'path' => '/rtl/verifikasi/detail/{id}', 'method' => 'detailRtlVerification', 'name' => 'detailRtlVerification'],
                ['verb' => 'post', 'path' => '/rtl/verifikasi/create', 'method' => 'createRtlVerification', 'name' => 'createRtlVerification'],
                ['verb' => 'post', 'path' => '/rtl/verifikasi/update/{id}', 'method' => 'updateRtlVerification', 'name' => 'updateRtlVerification'],
                ['verb' => 'post', 'path' => '/rtl/verifikasi/delete/{id}', 'method' => 'deleteRtlVerification', 'name' => 'deleteRtlVerification'],
                ['verb' => 'post', 'path' => '/rtl/verifikasi/delete/batch', 'method' => 'deleteBatchVerification', 'name' => 'deleteBatchVerification'],
                ['verb' => 'get', 'path' => '/rtl/verifikasi/download', 'method' => 'downloadRtl', 'name' => 'downloadRtl'],
                ['verb' => 'get', 'path' => '/rtl/verifikasi/download/progress/dokumen-pendukung', 'method' => 'downloadProgressDokDukung', 'name' => 'downloadProgressDokDukung'],
                ['verb' => 'post', 'path' => '/rtl/verifikasi/update/status/batch', 'method' => 'updateStatusVerificationBatch', 'name' => 'updateStatusVerificationBatch'],
            ]
        ],
        [
            'prefix' => '/v5/word-cloud',
            'controller' => WordCloudController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'get']
            ]
        ],
        [
            'prefix' => '/v5/app-log',
            'controller' => AppLogController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/get-by-kode', 'method' => 'getByKode']
            ]
        ],
        [
            'prefix' => '/v5/stunting',
            'controller' => StuntingController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/table', 'method' => 'table'],
                ['verb' => 'get', 'path' => '/total-anggaran', 'method' => 'totalAnggaran'],
                ['verb' => 'get', 'path' => '/anggaran-standar-fungsi', 'method' => 'anggaranStandarFungsi'],
            ]
        ],
        [
            'prefix' => '/v5/sig',
            'controller' => SigController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/instansi-wilayah', 'method' => 'instansiWilayah'],
                ['verb' => 'get', 'path' => '/grafik', 'method' => 'grafik'],
                ['verb' => 'get', 'path' => '/tabel', 'method' => 'tabel'],
                ['verb' => 'get', 'path' => '/tahun-monev', 'method' => 'tahunMonev'],
                ['verb' => 'get', 'path' => '/peringkat-monev', 'method' => 'peringkatMonev'],
                ['verb' => 'get', 'path' => '/export-peringkat-monev', 'method' => 'exportPeringkatMonev'],
                ['verb' => 'get', 'path' => '/map-avg-monev-daerah', 'method' => 'mapAvgMonevDaerah'],
                ['verb' => 'get', 'path' => '/avg-monev-daerah', 'method' => 'avgMonevDaerah'],
                ['verb' => 'get', 'path' => '/avg-monev-kl', 'method' => 'avgMonevKL'],
                ['verb' => 'get', 'path' => '/avg-komponen-monev', 'method' => 'avgKomponenMonev'],
            ]
        ],
        [
            'prefix' => '/v5/kesehatan/rs-online',
            'controller' => RumahSakitOnlineController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/search', 'method' => 'search'],
                ['verb' => 'get', 'path' => '/search-nama', 'method' => 'searchNama'],
                ['verb' => 'get', 'path' => '/detail/{kode}', 'method' => 'detail'],
                ['verb' => 'post', 'path' => '/eks-post', 'method' => 'rsOnlinePost'],
                ['verb' => 'post', 'path' => '/eks-get', 'method' => 'rsOnlineGet'],
                ['verb' => 'post', 'path' => '/eks-login', 'method' => 'rsOnlineLogin'],
                ['verb' => 'get', 'path' => '/eks-list', 'method' => 'rsOnlineRumahSakitList'],
                ['verb' => 'get', 'path' => '/eks-detail/{id}', 'method' => 'rsOnlineRumahSakitDetail'],
                ['verb' => 'get', 'path' => '/eks-ketersediaan-tempat-tidur', 'method' => 'rsOnlineKetersediaanTempatTidur'],
                ['verb' => 'get', 'path' => '/eks-ketersediaan-nakes', 'method' => 'rsOnlineKetersediaanNakes'],
                ['verb' => 'get', 'path' => '/eks-ketersediaan-pelayanan', 'method' => 'rsOnlineKetersediaanPelayanan']
            ]
        ],
        [
            'prefix' => '/v5/spi/gratifikasi',
            'controller' => SPIGratifikasiController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/list_instansi_klpd', 'method' => 'listKlpd'],
                ['verb' => 'get', 'path' => '/data_detail_spi', 'method' => 'getDetailSPI'],
                ['verb' => 'get', 'path' => '/list_opd_int_ext_only', 'method' => 'listOpdIntExtOnly'],
                ['verb' => 'get', 'path' => '/data_detail_opd', 'method' => 'getDetailOPD'],
                ['verb' => 'get', 'path' => '/list_data_detail_opds', 'method' => 'getListDetailOPDs'],
                ['verb' => 'get', 'path' => '/detail_pertanyaan_dimensi', 'method' => 'getDetailPertanyaanDimensi'],
                ['verb' => 'get', 'path' => '/list_indeks_tematik', 'method' => 'listIndeksTematik'],
                ['verb' => 'get', 'path' => '/list_detail_tematik', 'method' => 'listDetailTematik'],
            ]
        ],
        [
            'prefix' => '/v5/log-notification',
            'controller' => LogNotificationController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index'],
                ['verb' => 'get', 'path' => '/detail/{id}', 'method' => 'detail'],
                ['verb' => 'get', 'path' => '/status-reference', 'method' => 'statusReference'],
                ['verb' => 'post', 'path' => '/batch-send', 'method' => 'batchSend'],
                ['verb' => 'post', 'path' => '/mark-resend', 'method' => 'markResend']
            ]
        ],
        [
            'prefix' => '/v5/instansi-search',
            'controller' => InstansiSearchCountController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/most/popular/counts', 'method' => 'getMostPopularSearches']
            ]
        ],
        [
            'prefix' => '/v5/sertifikasi-halal',
            'controller' => SertifikasiHalalController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/lokal', 'method' => 'searchLocalCertificate'],
                ['verb' => 'get', 'path' => '/luar', 'method' => 'searchForeignCertificate'],
                ['verb' => 'post', 'path' => '/hitung', 'method' => 'costCalculating'],
                ['verb' => 'get', 'path' => '/hitung/get/provinsi', 'method' => 'getProvince'],
                ['verb' => 'get', 'path' => '/hitung/get/kabkot', 'method' => 'getCity'],
                ['verb' => 'get', 'path' => '/hitung/get/layanan', 'method' => 'getService'],
                ['verb' => 'get', 'path' => '/hitung/get/tipe-produk', 'method' => 'getProductType'],
                ['verb' => 'get', 'path' => '/hitung/get/lph', 'method' => 'getLph'],
                ['verb' => 'get', 'path' => '/rekapitulasi-sehati', 'method' => 'rekapitulasiSehati']
            ]
        ],
        [
            'prefix' => '/v5/gratifikasi-peta-kerawanan',
            'controller' => GratifikasiPetaKerawananController::class,
            'paths' => [
                ['verb' => 'get', 'path' => '/', 'method' => 'index']
            ]
        ]
    ],

    'middlewares' => [
        'before' => [
            'NotFoundMiddleware',
            'AuthMiddleware',
            'ContentTypeValidationMiddleware'
        ],
        'after' => [
            // 'AuthMiddleware',
            'TransformResponseMiddleware'
        ]
    ],

    'log' => [
        'level' => 'DEBUG',
        'prefix' => 'jaga-development',
        'dir' => '../logs/'
    ],
    'jwt_secret_key' => getenv("JWT_SECRET_KEY"),
    'jwt_private_key' => file_get_contents(getenv('JWT_KEYS_FOLDER').'private.pem'),
    'jwt_public_key' => file_get_contents(getenv('JWT_KEYS_FOLDER').'public.pem'),
    "takola_base_uri" => "http://takola.ditpsd.net/",
    'takola_username' => getenv("TAKOLA_USERNAME"),
    'takola_password' => getenv("TAKOLA_PASSWORD"),
    'takola_token' => getenv("TAKOLA_TOKEN"),
    "google_client_id" => getenv("GOOGLE_CLIENT_ID"),
    "google_ios_client_id" => getenv("GOOGLE_IOS_CLIENT_ID"),
    "google_client_secret" => getenv("GOOGLE_CLIENT_SECRET"),
    "twitter_consumer_key" => getenv("TWITTER_CONSUMER_KEY"),
    "twitter_consumer_secret" => getenv("TWITTER_CONSUMER_SECRET"),
    "log_server" => getenv("LOG_SERVER"),
    "log_port" => getenv("LOG_PORT"),
    "allowed_mime_types" => [
        "image/bmp",
        "image/x-windows-bmp",
        "image/jpeg",
        "image/png",
        "image/tiff",
        "image/gif",
        "image/webp",
        "application/pdf",
        "application/msword",
        "application/excel",
        "application/vnd.ms-excel",
        "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
        "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
        "application/vnd.openxmlformats-officedocument.presentationml.presentation",
        "application/vnd.ms-powerpoint",
        "application/vnd.ms-office",
        "text/plain",
        "application/zip",
        "application/x-zip-compressed",
        "multipart/x-zip",
        "video/mp4",
        "video/3gpp",
        "video/mp4",
        "video/mpeg",
        "video/ogg",
        "video/quicktime",
        "video/webm",
        "video/x-m4v",
        "video/ms-asf",
        "video/x-ms-wmv",
        "video/x-msvideo",
        "application/octet-stream",
        "application/vnd.rar",
        "application/x-rar"
    ],
    "web_base_url" => getenv("WEB_BASE_URL"),
    "sekolah_prop" => [
        "server" => "http://data.kemdikbud.go.id/",
        "username" => "kpk",
        "password" => getenv("KEMDIKBUD_PASSWORD"),
        "grant_type" => "password"
    ],
    "sekolah_new_prop" => [
        "server" => "https://pelayanan.data.kemdikbud.go.id/",
        "username" => "user_kpk",
        "password" => getenv("KEMDIKBUD_NEW_PASSWORD"),
        "grant_type" => "password"
    ],
    "sertifikasi_halal_prop" => [
        "server" => empty(getenv("BPJPH_BASE_URL")) ? "https://prod-api-si.halal.go.id/" : getenv("BPJPH_BASE_URL"),
        "path" => empty(getenv("BPJPH_PATH")) ? "api/v1/" : getenv("BPJPH_PATH"),
        "token" => "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTIyODk4MzksInBheWxvYWQiOiJmYXR3YTMzIiwic3ViIjoiODhmOGRiMjktMjY1ZC00YTc5LTk1MDgtYmEzZDY1OGNlZGZhIiwidG9rZW5fdXVpZCI6ImQyNjg5ZDVjLWZjOTEtNGZmNC1iMjg4LThlNzgxMjI4OThhNyJ9.4HxJT5D7nhzeBKrNxLSy-omVCDTdC_dz78vxXgatmA0QQNqW9aG5cjlLXH34xR43IvUJvVlv_fGBKtdP34oaaQ"
    ],
    "sertifikasi_halal_prop_1" => [
        "server" => empty(getenv("BPJPH_BASE_URL_WITHOUT_SI")) ? "https://prod-api.halal.go.id/" : getenv("BPJPH_BASE_URL_WITHOUT_SI"),
        "path" => empty(getenv("BPJPH_PATH_WITHOUT_SI")) ? "v1/" : getenv("BPJPH_PATH_WITHOUT_SI"),
    ],
    "rs_prop" => [
        "server" => "http://sirs.yankes.kemkes.go.id/"
    ],
    "puskesmas_prop" => [
        "server" => "http://bankdata.kemkes.go.id/"
    ],
    "madrasah_prop" => [
        "server" => "http://emispendis.kemenag.go.id/",
        "kemenag_api_key" => "392035f2fa57b262cd511544228416a2"
    ],
    "desa_prop" => [
        "server" => "https://spanint.kemenkeu.go.id/",
        "auth_token" => "Bearer " . getenv("KEMENKEU_SPAN_AUTH_TOKEN"),
        "auth_token_2019" => "Bearer " . getenv("KEMENKEU_SPAN_AUTH_TOKEN_2019"),
        "auth_token_2020" => "Bearer " . getenv("KEMENKEU_SPAN_AUTH_TOKEN_2020"),
        "auth_token_2021" => "Bearer " . getenv("KEMENKEU_SPAN_AUTH_TOKEN_2021"),
        "auth_token_2022" => "Bearer " . getenv("KEMENKEU_SPAN_AUTH_TOKEN_2022"),
        "auth_token_2023" => "Bearer " . getenv("KEMENKEU_SPAN_AUTH_TOKEN_2023"),
        "auth_token_2024" => "Bearer " . getenv("KEMENKEU_SPAN_AUTH_TOKEN_2024"),
        "auth_token_2025" => "Bearer " . getenv("KEMENKEU_SPAN_AUTH_TOKEN_2025"),
        "auth_token_2026" => "Bearer " . getenv("KEMENKEU_SPAN_AUTH_TOKEN_2026"),
    ],
    "bos_prop" => [
        "server" => "http://bos.kemdikbud.go.id/",
        "api-key" => getenv("KEMDIKBUD_BOS_API_KEY")
    ],
    "neo_bos_prop" => [
        "server" => getenv("KEMDIKBUD_BOS_BASE_URL"),
        "id" => getenv("KEMDIKBUD_BOS_HEADER_ID"),
        "token" => getenv("KEMDIKBUD_BOS_HEADER_TOKEN")
    ],
    "bos_madrasah_prop" => [
        "server" => "https://madrasahkeren.com/",
        "nsm" => getenv("MADRASAH_BOS_NSM"),
        "password" => getenv("MADRASAH_BOS_PASSWORD")
    ],
    "report_download_prop" => [
        "server" => "http://localhost:8070"
    ],
    // ristekdikti
    "ristekdikti_prop" => [
        "server" => "https://api.kemdikbud.go.id:8243",
        "auth_token" => "Bearer 7766adb6-cc09-337a-9cb0-1aa52a7f50e7"
    ],
    "pt_prop" => [
        "server" => "https://api.kemdikbud.go.id:8443",
        "auth_token" => "Bearer b4drRNNcFFIaIkkLfvmZXcbZvB2SUpKF",
        "client_id" => "a9uHkddwwNXV1OdclqXb7w05hgtXMatU",
        "client_secret" => "BKsHOTjwpGBtY8yd1GzGvzdxCrmNgLr8",
        "grant_type" => "client_credentials",
        "api_version" => "1.2"
    ],
    "kipk_prop" => [
        "server" => "https://api-kip-kuliah.kemdikbud.go.id",
        "api_version" => "v1"
    ],
    "elhkpn_prop" => [
        "server" => "https://elhkpn-app.kpk.go.id",
        "external_server" => "https://elhkpn.kpk.go.id"
    ],
    "kip_prop" => [
        "server" => "https://pip.kemdikbud.go.id/h2h/"
    ],
    "kip2_prop" => [
        "server" => getenv("KIP_SERVER"),
        "app_id" => getenv("KIP_APP_ID"),
        "secret" => getenv("KIP_SECRET")
    ],
    "pipmadrasah_prop" => [
        "server" => "https://pipmadrasah.kemenag.go.id",
        "username" => "apijaga",
        "password" => "Dka3rsQW@S1!"
    ],
    "ppj_prop" => [
        "server" => "http://103.145.31.204:7086",
        "username" => "kpk",
        "password" => "integkpk123"
    ],
    "ahu_prop" => [
        "server" => "http://10.102.1.23:8080"
    ],
    "kemendes_prop" => [
        "idm" => [
            "server" => "https://idm.kemendesa.go.id",
        ],
        "bumdes" => [
            "server" => "https://bumdes.kemendesa.go.id",
            "username" => "bumdes-api",
            "password" => "bumdes-password"
        ]
    ],
    "sipd_kemendagri_config" => [
        "server" => "https://sipd.go.id",
        "bearer_token" => "d9189ddf17ab66d76b0c84b3ba9ab9043faafb08"
    ],
    "bpjs_config" => [
        "server" => getenv("BPJS_SERVER"),
        "consid" => getenv("BPJS_CONS_ID"),
        "secret_key" => getenv("BPJS_SECRET_KEY")
    ],
    "bpjs2_config" => [
        "server" => getenv("BPJS2_SERVER"),
        "consid" => getenv("BPJS2_CONS_ID"),
        "secret_key" => getenv("BPJS2_SECRET_KEY"),
        'user_key' => getenv("BPJS2_USER_KEY")
    ],
    "rumahsakit2_config" => [
        "server" => getenv("RUMAHSAKIT2_SERVER"),
        "rsid" => getenv("RUMAHSAKIT2_RS_ID"),
        "secret_key" => getenv("RUMAHSAKIT2_SECRET_KEY")
    ],
    // hanya bisa akses dari whitelist IP
    "rs_online_config" => [
        "server" => getenv("RSONLINE_SERVER"),
        "username" => getenv("RSONLINE_USERNAME"),
        "password" => getenv("RSONLINE_PASSWORD")
    ],
    "mail_config" => [
        "from" => getenv("MAIL_SENDER"),
        "mail_server" => getenv("MAIL_SERVER"),
        "mail_encription" => getenv("MAIL_ENCRIPTION"),
        "mail_host" => getenv("MAIL_HOST"),
        "mail_port" => getenv("MAIL_PORT"),
        "mail_username" => getenv("MAIL_USERNAME"),
        "mail_password" => getenv("MAIL_PASSWORD")
    ],
    "beanstalk_config" => [
        "host" => getenv("BEANSTALK_SERVER"),
        "port" => getenv("BEANSTALK_PORT")
    ],
    "tableau_pak_config" => [
        "host" => "statistik.kpk.go.id",
        "username" => "webviewer",
    ],
    "emis_kemenag_prop" => [
        "server" => "https://api-emis.kemenag.go.id",
    ],
    "kemenkeu_config" => [
        "server" => "https://kolaborasi-djpk.kemenkeu.go.id"
    ],
    "sig_prop" => [
        "server" => "https://gol.kpk.go.id",
    ],
    "kemendagri_splp_prop" => [
        "server" => "https://api-splp.layanan.go.id/",
        "version" => "2.0"
    ],
    "profile_picture_base_url" => getenv("PROFILE_PICTURE_BASE_URL"),
    "photo_sekolah_base_url" => "http://foto2.data.kemdikbud.go.id/getImage/",
    "tools_key" => getenv("TOOLS_KEY") ?: 'TOOLS_KEY',
    "stranas_panduan_file_name" => getEnv("STRANAS_PANDUAN_FILE_NAME") ?: 'Pedoman Monitoring StranasPK.1.0.0.pdf',
    "blacklist_sequence_list" => ["jual obat abor", "pembesar p alami", "pembesar p terpecaya", "stamina pria", "ereksi", "pembesar penis", "cream titan gel", "viagra"],
    "quota_notification_body" => "Don't forget to post again",
    "quota_notification_body_en" => "Don't forget to post again",
    "log_api_error_recipient" => getenv("API_ERROR_EMAIL_RECIPIENT"),
    "log_api_error_subject" => getenv("API_ERROR_TITLE") ?: 'Log API Error Title',
    "log_api_error_interval" => getenv("API_ERROR_LOG_DURATION") ?: '1',
    "log_job_error_duration" => getenv("JOB_ERROR_DURATION") ?: '1800',
    "sentry_enabled" => getenv("SENTRY_ENABLED") ?: 'FALSE',
    "sentry_dsn" => getenv("SENTRY_DSN"),
    "sentry_environment" => getenv("SENTRY_ENVIRONMENT") ?: 'test',
    "hasil_spi_nasional" => [
        2019 => 79.08,
        2020 => 82.6,
        2021 => 72.43
    ],
    "api_consume_daily_limit" => getenv("API_CONSUME_DAILY_LIMIT") ?: 100,
    "sso" => [
        "kemdikbud" => [
            "server" => "https://sso.data.kemdikbud.go.id"
        ]
    ]
];
