feat(web) Individual assets shared mechanism (#1317)

* Create shared link modal for individual asset

* Added API to create asset shared link

* Added viewer for individual shared link

* Added multiselection app bar

* Refactor gallery viewer to its own component

* Refactor

* Refactor

* Add and remove asset from shared link

* Fixed test

* Fixed notification card doesn't wrap

* Add check asset access when created asset shared link

* pr feedback
This commit is contained in:
Alex
2023-01-14 23:49:47 -06:00
committed by GitHub
parent b9b2b559a1
commit e9fda40b2b
66 changed files with 2085 additions and 242 deletions

View File

@@ -21,6 +21,8 @@ Method | HTTP request | Description
### Example
```dart
import 'package:openapi/api.dart';
@@ -62,6 +64,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';
@@ -102,6 +106,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';
@@ -143,6 +149,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';
@@ -180,6 +188,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';

View File

@@ -28,6 +28,8 @@ Method | HTTP request | Description
### Example
```dart
import 'package:openapi/api.dart';
@@ -77,6 +79,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';
@@ -126,6 +130,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';
@@ -173,6 +179,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';
@@ -220,6 +228,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';
@@ -266,6 +276,8 @@ void (empty response body)
### Example
```dart
import 'package:openapi/api.dart';
@@ -315,6 +327,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';
@@ -358,6 +372,8 @@ This endpoint does not need any parameter.
### Example
```dart
import 'package:openapi/api.dart';
@@ -405,6 +421,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';
@@ -454,6 +472,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';
@@ -503,6 +523,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';
@@ -551,6 +573,8 @@ void (empty response body)
### Example
```dart
import 'package:openapi/api.dart';

View File

@@ -11,6 +11,7 @@ Method | HTTP request | Description
------------- | ------------- | -------------
[**checkDuplicateAsset**](AssetApi.md#checkduplicateasset) | **POST** /asset/check |
[**checkExistingAssets**](AssetApi.md#checkexistingassets) | **POST** /asset/exist |
[**createAssetsSharedLink**](AssetApi.md#createassetssharedlink) | **POST** /asset/shared-link |
[**deleteAsset**](AssetApi.md#deleteasset) | **DELETE** /asset |
[**downloadFile**](AssetApi.md#downloadfile) | **GET** /asset/download/{assetId} |
[**downloadFiles**](AssetApi.md#downloadfiles) | **POST** /asset/download-files |
@@ -28,6 +29,7 @@ Method | HTTP request | Description
[**searchAsset**](AssetApi.md#searchasset) | **POST** /asset/search |
[**serveFile**](AssetApi.md#servefile) | **GET** /asset/file/{assetId} |
[**updateAsset**](AssetApi.md#updateasset) | **PUT** /asset/{assetId} |
[**updateAssetsInSharedLink**](AssetApi.md#updateassetsinsharedlink) | **PATCH** /asset/shared-link |
[**uploadFile**](AssetApi.md#uploadfile) | **POST** /asset/upload |
@@ -129,11 +131,62 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **createAssetsSharedLink**
> SharedLinkResponseDto createAssetsSharedLink(createAssetsShareLinkDto)
### Example
```dart
import 'package:openapi/api.dart';
// TODO Configure HTTP Bearer authorization: bearer
// Case 1. Use String Token
//defaultApiClient.getAuthentication<HttpBearerAuth>('bearer').setAccessToken('YOUR_ACCESS_TOKEN');
// Case 2. Use Function which generate token.
// String yourTokenGeneratorFunction() { ... }
//defaultApiClient.getAuthentication<HttpBearerAuth>('bearer').setAccessToken(yourTokenGeneratorFunction);
final api_instance = AssetApi();
final createAssetsShareLinkDto = CreateAssetsShareLinkDto(); // CreateAssetsShareLinkDto |
try {
final result = api_instance.createAssetsSharedLink(createAssetsShareLinkDto);
print(result);
} catch (e) {
print('Exception when calling AssetApi->createAssetsSharedLink: $e\n');
}
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**createAssetsShareLinkDto** | [**CreateAssetsShareLinkDto**](CreateAssetsShareLinkDto.md)| |
### Return type
[**SharedLinkResponseDto**](SharedLinkResponseDto.md)
### Authorization
[bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **deleteAsset**
> List<DeleteAssetResponseDto> deleteAsset(deleteAssetDto)
### Example
```dart
import 'package:openapi/api.dart';
@@ -181,6 +234,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';
@@ -232,6 +287,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';
@@ -279,6 +336,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';
@@ -424,6 +483,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';
@@ -471,6 +532,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';
@@ -518,6 +581,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';
@@ -561,6 +626,8 @@ This endpoint does not need any parameter.
### Example
```dart
import 'package:openapi/api.dart';
@@ -604,6 +671,8 @@ This endpoint does not need any parameter.
### Example
```dart
import 'package:openapi/api.dart';
@@ -653,6 +722,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';
@@ -696,6 +767,8 @@ This endpoint does not need any parameter.
### Example
```dart
import 'package:openapi/api.dart';
@@ -788,6 +861,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';
@@ -835,6 +910,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';
@@ -932,11 +1009,62 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **updateAssetsInSharedLink**
> SharedLinkResponseDto updateAssetsInSharedLink(updateAssetsToSharedLinkDto)
### Example
```dart
import 'package:openapi/api.dart';
// TODO Configure HTTP Bearer authorization: bearer
// Case 1. Use String Token
//defaultApiClient.getAuthentication<HttpBearerAuth>('bearer').setAccessToken('YOUR_ACCESS_TOKEN');
// Case 2. Use Function which generate token.
// String yourTokenGeneratorFunction() { ... }
//defaultApiClient.getAuthentication<HttpBearerAuth>('bearer').setAccessToken(yourTokenGeneratorFunction);
final api_instance = AssetApi();
final updateAssetsToSharedLinkDto = UpdateAssetsToSharedLinkDto(); // UpdateAssetsToSharedLinkDto |
try {
final result = api_instance.updateAssetsInSharedLink(updateAssetsToSharedLinkDto);
print(result);
} catch (e) {
print('Exception when calling AssetApi->updateAssetsInSharedLink: $e\n');
}
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**updateAssetsToSharedLinkDto** | [**UpdateAssetsToSharedLinkDto**](UpdateAssetsToSharedLinkDto.md)| |
### Return type
[**SharedLinkResponseDto**](SharedLinkResponseDto.md)
### Authorization
[bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **uploadFile**
> AssetFileUploadResponseDto uploadFile(assetData)
### Example
```dart
import 'package:openapi/api.dart';

View File

@@ -21,6 +21,8 @@ Method | HTTP request | Description
### Example
```dart
import 'package:openapi/api.dart';
@@ -62,6 +64,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';
@@ -109,6 +113,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';
@@ -150,6 +156,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';
@@ -187,6 +195,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';

View File

@@ -0,0 +1,18 @@
# openapi.model.CreateAssetsShareLinkDto
## Load the model package
```dart
import 'package:openapi/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**assetIds** | **List<String>** | | [default to const []]
**expiredAt** | **String** | | [optional]
**allowUpload** | **bool** | | [optional]
**description** | **String** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@@ -117,6 +117,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';

View File

@@ -19,6 +19,8 @@ Method | HTTP request | Description
### Example
```dart
import 'package:openapi/api.dart';
@@ -62,6 +64,8 @@ This endpoint does not need any parameter.
### Example
```dart
import 'package:openapi/api.dart';
@@ -109,6 +113,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';

View File

@@ -21,6 +21,8 @@ Method | HTTP request | Description
### Example
```dart
import 'package:openapi/api.dart';
@@ -62,6 +64,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';
@@ -103,6 +107,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';
@@ -144,6 +150,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';
@@ -180,6 +188,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';

View File

@@ -20,6 +20,8 @@ Method | HTTP request | Description
### Example
```dart
import 'package:openapi/api.dart';
@@ -57,6 +59,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';
@@ -94,6 +98,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';
@@ -131,6 +137,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';

View File

@@ -21,6 +21,8 @@ Method | HTTP request | Description
### Example
```dart
import 'package:openapi/api.dart';
@@ -64,6 +66,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';
@@ -101,6 +105,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';
@@ -138,6 +144,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';
@@ -179,6 +187,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';

View File

@@ -20,6 +20,8 @@ Method | HTTP request | Description
### Example
```dart
import 'package:openapi/api.dart';
@@ -63,6 +65,8 @@ This endpoint does not need any parameter.
### Example
```dart
import 'package:openapi/api.dart';
@@ -106,6 +110,8 @@ This endpoint does not need any parameter.
### Example
```dart
import 'package:openapi/api.dart';
@@ -149,6 +155,8 @@ This endpoint does not need any parameter.
### Example
```dart
import 'package:openapi/api.dart';

View File

@@ -21,6 +21,8 @@ Method | HTTP request | Description
### Example
```dart
import 'package:openapi/api.dart';
@@ -62,6 +64,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';
@@ -102,6 +106,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';
@@ -139,6 +145,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';
@@ -180,6 +188,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';

View File

@@ -0,0 +1,15 @@
# openapi.model.UpdateAssetsToSharedLinkDto
## Load the model package
```dart
import 'package:openapi/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**assetIds** | **List<String>** | | [default to const []]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@@ -26,6 +26,8 @@ Method | HTTP request | Description
### Example
```dart
import 'package:openapi/api.dart';
@@ -73,6 +75,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';
@@ -120,6 +124,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';
@@ -167,6 +173,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';
@@ -214,6 +222,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';
@@ -257,6 +267,8 @@ This endpoint does not need any parameter.
### Example
```dart
import 'package:openapi/api.dart';
@@ -298,6 +310,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';
@@ -339,6 +353,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';
@@ -380,6 +396,8 @@ No authorization required
### Example
```dart
import 'package:openapi/api.dart';
@@ -427,6 +445,8 @@ Name | Type | Description | Notes
### Example
```dart
import 'package:openapi/api.dart';