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

@@ -16,7 +16,10 @@ class AlbumApi {
final ApiClient apiClient;
/// Performs an HTTP 'PUT /album/{albumId}/assets' operation and returns the [Response].
///
///
/// Note: This method returns the HTTP [Response].
///
/// Parameters:
///
/// * [String] albumId (required):
@@ -48,6 +51,8 @@ class AlbumApi {
);
}
///
///
/// Parameters:
///
/// * [String] albumId (required):
@@ -68,7 +73,10 @@ class AlbumApi {
return null;
}
/// Performs an HTTP 'PUT /album/{albumId}/users' operation and returns the [Response].
///
///
/// Note: This method returns the HTTP [Response].
///
/// Parameters:
///
/// * [String] albumId (required):
@@ -100,6 +108,8 @@ class AlbumApi {
);
}
///
///
/// Parameters:
///
/// * [String] albumId (required):
@@ -120,7 +130,10 @@ class AlbumApi {
return null;
}
/// Performs an HTTP 'POST /album' operation and returns the [Response].
///
///
/// Note: This method returns the HTTP [Response].
///
/// Parameters:
///
/// * [CreateAlbumDto] createAlbumDto (required):
@@ -149,6 +162,8 @@ class AlbumApi {
);
}
///
///
/// Parameters:
///
/// * [CreateAlbumDto] createAlbumDto (required):
@@ -167,7 +182,10 @@ class AlbumApi {
return null;
}
/// Performs an HTTP 'POST /album/create-shared-link' operation and returns the [Response].
///
///
/// Note: This method returns the HTTP [Response].
///
/// Parameters:
///
/// * [CreateAlbumShareLinkDto] createAlbumShareLinkDto (required):
@@ -196,6 +214,8 @@ class AlbumApi {
);
}
///
///
/// Parameters:
///
/// * [CreateAlbumShareLinkDto] createAlbumShareLinkDto (required):
@@ -214,7 +234,10 @@ class AlbumApi {
return null;
}
/// Performs an HTTP 'DELETE /album/{albumId}' operation and returns the [Response].
///
///
/// Note: This method returns the HTTP [Response].
///
/// Parameters:
///
/// * [String] albumId (required):
@@ -244,6 +267,8 @@ class AlbumApi {
);
}
///
///
/// Parameters:
///
/// * [String] albumId (required):
@@ -254,7 +279,10 @@ class AlbumApi {
}
}
/// Performs an HTTP 'GET /album/{albumId}/download' operation and returns the [Response].
///
///
/// Note: This method returns the HTTP [Response].
///
/// Parameters:
///
/// * [String] albumId (required):
@@ -290,6 +318,8 @@ class AlbumApi {
);
}
///
///
/// Parameters:
///
/// * [String] albumId (required):
@@ -310,7 +340,9 @@ class AlbumApi {
return null;
}
/// Performs an HTTP 'GET /album/count-by-user-id' operation and returns the [Response].
///
///
/// Note: This method returns the HTTP [Response].
Future<Response> getAlbumCountByUserIdWithHttpInfo() async {
// ignore: prefer_const_declarations
final path = r'/album/count-by-user-id';
@@ -336,6 +368,7 @@ class AlbumApi {
);
}
///
Future<AlbumCountResponseDto?> getAlbumCountByUserId() async {
final response = await getAlbumCountByUserIdWithHttpInfo();
if (response.statusCode >= HttpStatus.badRequest) {
@@ -351,7 +384,10 @@ class AlbumApi {
return null;
}
/// Performs an HTTP 'GET /album/{albumId}' operation and returns the [Response].
///
///
/// Note: This method returns the HTTP [Response].
///
/// Parameters:
///
/// * [String] albumId (required):
@@ -381,6 +417,8 @@ class AlbumApi {
);
}
///
///
/// Parameters:
///
/// * [String] albumId (required):
@@ -399,7 +437,10 @@ class AlbumApi {
return null;
}
/// Performs an HTTP 'GET /album' operation and returns the [Response].
///
///
/// Note: This method returns the HTTP [Response].
///
/// Parameters:
///
/// * [bool] shared:
@@ -438,6 +479,8 @@ class AlbumApi {
);
}
///
///
/// Parameters:
///
/// * [bool] shared:
@@ -462,7 +505,10 @@ class AlbumApi {
return null;
}
/// Performs an HTTP 'DELETE /album/{albumId}/assets' operation and returns the [Response].
///
///
/// Note: This method returns the HTTP [Response].
///
/// Parameters:
///
/// * [String] albumId (required):
@@ -494,6 +540,8 @@ class AlbumApi {
);
}
///
///
/// Parameters:
///
/// * [String] albumId (required):
@@ -514,7 +562,10 @@ class AlbumApi {
return null;
}
/// Performs an HTTP 'DELETE /album/{albumId}/user/{userId}' operation and returns the [Response].
///
///
/// Note: This method returns the HTTP [Response].
///
/// Parameters:
///
/// * [String] albumId (required):
@@ -547,6 +598,8 @@ class AlbumApi {
);
}
///
///
/// Parameters:
///
/// * [String] albumId (required):
@@ -559,7 +612,10 @@ class AlbumApi {
}
}
/// Performs an HTTP 'PATCH /album/{albumId}' operation and returns the [Response].
///
///
/// Note: This method returns the HTTP [Response].
///
/// Parameters:
///
/// * [String] albumId (required):
@@ -591,6 +647,8 @@ class AlbumApi {
);
}
///
///
/// Parameters:
///
/// * [String] albumId (required):