function pwa_webpush_views_data in Progressive Web App 7.2
Expose Push Notifications data to views.
File
- modules/
pwa_webpush/ views/ pwa_webpush.views.inc, line 6
Code
function pwa_webpush_views_data() {
$data['pwa_webpush_subscription']['table'] = [
'group' => t('PWA WebPush'),
'title' => t('WebPush subscriptions'),
'help' => t('List of WebPush subscriptions.'),
];
$data['pwa_webpush_subscription']['table']['base'] = [
'field' => 'sid',
'title' => t('PWA WebPush Subscription'),
'help' => t('List of WebPush subscriptions.'),
'weight' => -10,
];
$data['example_table']['sid'] = [
'title' => t('Subscription ID'),
'help' => t('Drupal identifier for this subscription.'),
'field' => [
'handler' => 'views_handler_field_numeric',
'click sortable' => TRUE,
],
'filter' => [
'handler' => 'views_handler_filter_numeric',
],
'sort' => [
'handler' => 'views_handler_sort',
],
];
$data['pwa_webpush_subscription']['endpoint_sha256'] = [
'title' => t('sha256 hash'),
'help' => t('Hash of the endpoint URL.'),
'field' => [
'handler' => 'views_handler_field',
'click sortable' => TRUE,
],
'sort' => [
'handler' => 'views_handler_sort',
],
'filter' => [
'handler' => 'views_handler_filter_string',
],
'argument' => [
'handler' => 'views_handler_argument_string',
],
];
$data['pwa_webpush_subscription']['uid'] = [
'title' => t('User ID'),
'help' => t('UID associated with this subscription'),
'field' => [
'handler' => 'views_handler_field_user',
],
'relationship' => [
'title' => t('User'),
'help' => t("UID associated with this subscription."),
'base' => 'users',
'base field' => 'uid',
'handler' => 'views_handler_relationship',
'label' => t('User'),
],
'filter' => [
'handler' => 'views_handler_filter_numeric',
],
'argument' => [
'handler' => 'views_handler_argument_numeric',
],
];
$data['pwa_webpush_subscription']['json'] = [
'title' => t('Subscription JSON data'),
'help' => t('Raw JSON data sent by the browser.'),
'field' => [
'handler' => 'views_handler_field',
'click sortable' => FALSE,
],
'filter' => [
'handler' => 'views_handler_filter_string',
],
'sort' => [
'handler' => 'views_handler_sort',
],
'argument' => [
'handler' => 'views_handler_argument_string',
],
];
$data['pwa_webpush_subscription']['created'] = [
'title' => t('Created'),
'help' => t('When the subscription was created.'),
'field' => [
'handler' => 'views_handler_field_date',
'click sortable' => TRUE,
],
'sort' => [
'handler' => 'views_handler_sort_date',
],
'filter' => [
'handler' => 'views_handler_filter_date',
],
];
$data['pwa_webpush_subscription']['expired'] = [
'title' => t('Expired'),
'help' => t('When the subscription was created.'),
] + $data['pwa_webpush_subscription']['created'];
$data['pwa_webpush_subscription']['last_used'] = [
'title' => t('Last used'),
'help' => t('Last successfully sent push notification.'),
] + $data['pwa_webpush_subscription']['created'];
return $data;
}