public function handleRoutes($event)
    {
        $event->getRouter()

            // --------------------
            // | Attachment
            // --------------------
            ->prefix('/api/attachment')
            ->post('attachment-upload', '', UploadController::class)

            // --------------------
            // | Helpers
            // --------------------
            ->prefix('/api/helper')
            ->get('helper-pinyin', '/pinyin', PinyinController::class)

            // --------------------
            // | Permission
            // --------------------
            ->prefix('/api/permission')
            ->get('permission-list', '', PermissionListController::class)
            ->put('permission-update', '', PermissionUpdateController::class)

            // --------------------
            // | Config
            // --------------------
            ->prefix('/api/config')
            ->get('config-list', '', ConfigListController::class)
            ->put('config-update', '/{key}', ConfigUpdateController::class)
            ->post('config-logo', '/logo', LogoUpdateController::class)

            // --------------------
            // | Auth
            // --------------------
            ->prefix('/api/auth')
            ->get('auth-check', '', AuthCheckController::class)
            ->post('auth-login', '/login', LoginController::class)
            ->post('auth-logout', '/logout', LogoutController::class)
            ->post('auth-forget', '/forget', ForgetPasswordController::class)
            ->post('auth-reset', '/reset/{token}', ResetPasswordController::class)

            // --------------------
            // | Member
            // --------------------
            ->prefix('/api/member')
            ->get('member-list', '', MemberListController::class)
            ->post('member-create', '', MemberCreateController::class)
            ->get('member-item', '/{username}', MemberItemController::class)
            ->put('member-update', '/{username}', MemberUpdateController::class)
            ->put('member-role-update', '/{username}/role', MemberRoleUpdateController::class)

            // --------------------
            // | Role
            // --------------------
            ->prefix('/api/role')
            ->get('role-list', '', RoleListController::class)
            ->post('role-create', '', RoleCreateController::class)
            ->put('role-update', '/{id}', RoleUpdateController::class)
            ->delete('role-delete', '/{id}', RoleDeleteController::class)

            // --------------------
            // | Extension
            // --------------------
            ->prefix('/api/extension')
            ->get('extension-list', '', ExtensionListController::class)
            ->put('extension-activate', '/{vendor}/{package}', ExtensionActivateController::class)
            ->delete('extension-uninstall', '/{vendor}/{package}', ExtensionUninstallController::class)

            // set prefix back to empty
            ->prefix('');
    }