25 if ($this->isDataStorable()) {
28 $datastoreService = \Drupal::service(
'dkan_datastore.service');
29 $datastoreService->import($entity->uuid(), TRUE);
31 catch (\Exception $e) {
33 $this->log(
'dkan_datastore', $e->getMessage());
45 public function predelete() {
53 $datastoreService = \Drupal::service(
'dkan_datastore.service');
54 $datastoreService->drop($entity->uuid());
56 catch (\Exception $e) {
58 $this->log(
'dkan_datastore', $e->getMessage());
62 $data = $metadata->data;
63 if (isset($data->downloadURL)) {
64 $url = $data->downloadURL;
65 $pieces = explode(
'sites/default/files/', $url);
66 $path =
"public://" . end($pieces);
68 $fileSystemService = \Drupal::service(
'file_system');
69 $fileSystemService->delete($path);
76 private function isDataStorable() : bool {
78 $data = $metadata->data;
80 if (isset($data->downloadURL) && isset($data->mediaType)) {
81 return in_array($data->mediaType, [
83 'text/tab-separated-values',