mirror of
https://github.com/elastic/kibana.git
synced 2025-04-25 02:09:32 -04:00
## Summary Files management UI that rounds out the files MVP. This is UI is intended to be progressively enhanced and provides a way for system administrators get some insight and manage the files created and stored in Kibana. ## To reviewers * This is UI for retrieval and deletion of files (the R+D of CRUD) * Creating and deleting tags to be supported in a future version * This UI is intended to form part of the broader content management experience * We use the `TableListView` component as far as possible ## How to test 1. Start Kibana with `yarn start --run-examples` 2. Go to the "Developer Examples" from the left nav menu 3. Go to the "Files example" plugin 4. Click the "Upload file" button, upload a few different image types (PNG, JPG and WEBP) 5. Go to "Stack management" > "Files" 6. Behold your files in the management UI 7. (Bonus) check that the UI and API `GET /api/files/find`, `GET /api/files/metrics` and `DELETE /api/files/blobs` are not accessible to non-admin or appropriately privileged users (i.e., those with "Files management" access). ## List of functionality - [x] List all saved objects (scoped to admin) - [x] Is able to bulk-delete files - [x] Shows basic storage diagnostics - [x] Is able to search and filter files ## Screenshots <details> <summary>screenshots</summary> <img width="1545" alt="Screenshot 2022-11-08 at 13 56 54" src="https://user-images.githubusercontent.com/8155004/200570783-cfefdbf3-c5ff-4ece-ba24-48a455fcca75.png"> <img width="910" alt="Screenshot 2022-11-10 at 12 52 35" src="https://user-images.githubusercontent.com/8155004/201083812-bc9f25f5-b423-43a6-9229-5e2a4cdd943a.png"> <img width="451" alt="Screenshot 2022-11-10 at 12 37 07" src="https://user-images.githubusercontent.com/8155004/201081039-832a1980-684c-4abb-bb05-0c7c6a849d4d.png"> <img width="959" alt="Screenshot 2022-11-08 at 13 57 15" src="https://user-images.githubusercontent.com/8155004/200570797-f122cff5-7043-4e01-9b51-d5663c1b26d6.png"> <img width="500" alt="Screenshot 2022-11-08 at 13 57 38" src="https://user-images.githubusercontent.com/8155004/200570801-35cdbd99-0256-4dee-9f78-2f6ad853305f.png"> </details> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
32 lines
947 B
TypeScript
32 lines
947 B
TypeScript
/*
|
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
* Side Public License, v 1.
|
|
*/
|
|
|
|
import type { FileKind, FileImageMetadata } from '@kbn/files-plugin/common';
|
|
|
|
export const PLUGIN_ID = 'filesExample';
|
|
export const PLUGIN_NAME = 'Files example';
|
|
|
|
const httpTags = {
|
|
tags: [`access:${PLUGIN_ID}`],
|
|
};
|
|
|
|
export const exampleFileKind: FileKind = {
|
|
id: PLUGIN_ID,
|
|
allowedMimeTypes: ['image/png', 'image/jpeg', 'image/gif', 'image/webp', 'text/plain'],
|
|
http: {
|
|
create: httpTags,
|
|
delete: httpTags,
|
|
download: httpTags,
|
|
getById: httpTags,
|
|
list: httpTags,
|
|
share: httpTags,
|
|
update: httpTags,
|
|
},
|
|
};
|
|
|
|
export type MyImageMetadata = FileImageMetadata;
|