* @license https://files.froxlor.org/misc/COPYING.txt GPLv2 */ use Froxlor\UI\Callbacks\Impersonate; use Froxlor\UI\Callbacks\Style; use Froxlor\UI\Callbacks\Text; use Froxlor\UI\Listing; return [ 'apikeys_list' => [ 'title' => lng('menue.main.apikeys'), 'icon' => 'fa-solid fa-key', 'self_overview' => ['section' => 'index', 'page' => 'apikeys'], 'columns' => [ 'a.loginname' => [ 'label' => lng('login.username'), 'field' => 'loginname', 'callback' => [Impersonate::class, 'apiAdminCustomerLink'] ], 'ak.apikey' => [ 'label' => 'API-key', 'field' => 'apikey', 'callback' => [Text::class, 'shorten'], ], 'ak.secret' => [ 'label' => 'Secret', 'field' => 'secret', 'callback' => [Text::class, 'shorten'], ], 'ak.allowed_from' => [ 'label' => lng('apikeys.allowed_from'), 'field' => 'allowed_from', ], 'ak.valid_until' => [ 'label' => lng('apikeys.valid_until'), 'field' => 'valid_until', 'callback' => [Text::class, 'timestampUntil'], ] ], 'visible_columns' => Listing::getVisibleColumnsForListing('apikeys_list', [ 'a.loginname', 'ak.apikey', 'ak.secret', 'ak.allowed_from', 'ak.valid_until' ]), 'actions' => [ 'show' => [ 'icon' => 'fa fa-eye', 'title' => lng('apikeys.clicktoview'), 'modal' => [Text::class, 'apikeyDetailModal'], ], 'delete' => [ 'icon' => 'fa fa-trash', 'title' => lng('panel.delete'), 'class' => 'btn-danger', 'href' => [ 'section' => 'index', 'page' => 'apikeys', 'action' => 'delete', 'id' => ':id' ], ], ], 'format_callback' => [ [Style::class, 'invalidApiKey'] ] ] ];