diff --git a/app/Http/Transformers/UploadedFilesTransformer.php b/app/Http/Transformers/UploadedFilesTransformer.php new file mode 100644 index 000000000..a18c9f9b6 --- /dev/null +++ b/app/Http/Transformers/UploadedFilesTransformer.php @@ -0,0 +1,56 @@ +transformDatatables($array, $total); + } + + + public function transformFile(Actionlog $file) + { + $snipeModel = $file->item_type; + + + // This will be used later as we extend out this transformer to handle more types of uploads + if ($file->item_type == Asset::class) { + $file_url = route('show/assetfile', [$file->item_id, $file->id]); + } + + $array = [ + 'id' => (int) $file->id, + 'filename' => e($file->filename), + 'url' => $file_url, + 'created_by' => ($file->adminuser) ? [ + 'id' => (int) $file->adminuser->id, + 'name'=> e($file->adminuser->present()->fullName), + ] : null, + 'created_at' => Helper::getFormattedDateObject($file->created_at, 'datetime'), + 'updated_at' => Helper::getFormattedDateObject($file->updated_at, 'datetime'), + 'deleted_at' => Helper::getFormattedDateObject($file->deleted_at, 'datetime'), + ]; + + $permissions_array['available_actions'] = [ + 'delete' => (Gate::allows('update', $snipeModel) && ($file->deleted_at == '')), + ]; + + $array += $permissions_array; + return $array; + } + +}