-
Notifications
You must be signed in to change notification settings - Fork 172
Open
Labels
Description
User Story
In order to make it possible for external modules to subscribe to events for notifications or tracking use, it would be nice to have Events emitted for API calls.
Detailed Feature Description
Must do:
This one is critical because it would reflect interacting with the dataset page or the querying it.
- Dispatch DkanDatastoreEvents::API_QUERY_RESOURCE at the conclusion of Drupal\datastore\Controller\QueryController::queryResource (/api/1/datastore/query/{identifier})
High value:
- Dispatch DkanDatastoreEvents::API_QUERY at the conclusion of Drupal\datastore\Controller\QueryController::query (/api/1/datastore/query)
- Dispatch DkanDatastoreEvents::API_QUERY_DOWNLOAD at the conclusion of Drupal\datastore\Controller\QueryDownloadController::query (/api/1/datastore/query/download)
- Dispatch DkanDatastoreEvents::API_QUERY_RESOURCE_DOWNLOAD at the conclusion of Drupal\datastore\Controller\QueryDownloadController::queryResource (/api/1/datastore/query/{identifier}/download)
- Dispatch DkanDatastoreEvents::API_QUERY_RESOURCE_??? at the conclusion of Drupal\datastore\Controller\QueryController::queryDatasetResource (/api/1/datastore/query/{dataset}/{index}). I am not sure what to call this one because I do not know how it differs from (/api/1/datastore/query/{identifier})
- Dispatch DkanDatastoreEvents::API_QUERY_RESOURCE_???_DOWNLOAD at the conclusion of Drupal\datastore\Controller\QueryDownloadController::queryDatasetResource (/api/1/datastore/query/{dataset}/{index}/download)
- Dispatch DkanDatastoreEvents::API_QUERY_SQL_QUERY at the conclusion of Drupal\datastore\SqlEndpoint\WebServiceApi::runQueryGet' (/api/1/datastore/sql)
- Dispatch DkanDatastoreEvents::API_QUERY_SQL_QUERY at the conclusion of Drupal\datastore\SqlEndpoint\WebServiceApi::runQueryPost (/api/1/datastore/sql). I think we can capture both get and post with the same event.
Possible other helpful events
I am not sure if any of these are needed at this time. Maybe they go in a follow-up ticket??
- Drupal\datastore\Controller\ImportController::delete (/api/1/datastore/imports/{identifier})
- Drupal\datastore\Controller\ImportController::deleteMultiple (/api/1/datastore/imports)
- Drupal\datastore\Controller\ImportController::summary (/api/1/datastore/imports/{identifier})
- Drupal\datastore\Controller\ImportController::list (/api/1/datastore/imports)
- Drupal\datastore\Controller\ImportController::import (/api/1/datastore/imports post)
- Drupal\common\Controller\OpenApiController::getVersions
- Drupal\common\Controller\OpenApiController::getComplete (/api/1/datastore)
- Drupal\datastore\Controller\QueryController::querySchema (api/1/datastore/query/schema)
Problem and Motivation
See user story
Target Audience
- End Users
- Developers
- Administrators
- Other
Possible Implementation
No response
Acceptance Criteria
No response
Reactions are currently unavailable