TF-3096 Add PublicAsset create quota exception

This commit is contained in:
DatDang
2024-08-20 10:24:28 +07:00
committed by Dat H. Pham
parent df692d8d43
commit 2754451d9e
11 changed files with 40 additions and 14 deletions
+1 -1
View File
@@ -612,7 +612,7 @@ packages:
description:
path: "."
ref: sprint26_5aug
resolved-ref: "8dfee5c0386d3848e60673430ca7cb389fa61a54"
resolved-ref: "204c97eaa69c73af2d7740bff18ba4308fe8693f"
url: "https://github.com/linagora/jmap-dart-client.git"
source: git
version: "0.1.0"
+1 -1
View File
@@ -296,7 +296,7 @@ packages:
description:
path: "."
ref: sprint26_5aug
resolved-ref: "8dfee5c0386d3848e60673430ca7cb389fa61a54"
resolved-ref: "204c97eaa69c73af2d7740bff18ba4308fe8693f"
url: "https://github.com/linagora/jmap-dart-client.git"
source: git
version: "0.1.0"
+1 -1
View File
@@ -296,7 +296,7 @@ packages:
description:
path: "."
ref: sprint26_5aug
resolved-ref: "8dfee5c0386d3848e60673430ca7cb389fa61a54"
resolved-ref: "204c97eaa69c73af2d7740bff18ba4308fe8693f"
url: "https://github.com/linagora/jmap-dart-client.git"
source: git
version: "0.1.0"
+1 -1
View File
@@ -296,7 +296,7 @@ packages:
description:
path: "."
ref: sprint26_5aug
resolved-ref: "8dfee5c0386d3848e60673430ca7cb389fa61a54"
resolved-ref: "204c97eaa69c73af2d7740bff18ba4308fe8693f"
url: "https://github.com/linagora/jmap-dart-client.git"
source: git
version: "0.1.0"
@@ -1,6 +1,7 @@
import 'package:jmap_dart_client/http/converter/identities/public_asset_identities_converter.dart';
import 'package:jmap_dart_client/http/http_client.dart';
import 'package:jmap_dart_client/jmap/account_id.dart';
import 'package:jmap_dart_client/jmap/core/error/method/error_method_response.dart';
import 'package:jmap_dart_client/jmap/core/id.dart';
import 'package:jmap_dart_client/jmap/core/patch_object.dart';
import 'package:jmap_dart_client/jmap/core/session/session.dart';
@@ -88,15 +89,22 @@ class PublicAssetApi {
.build()
.execute();
final publicAsset = response.parse<SetPublicAssetResponse>(
invocation.methodCallId,
SetPublicAssetResponse.deserialize
invocation.methodCallId,
SetPublicAssetResponse.deserialize
)?.created?[generateCreateId];
if (publicAsset == null) {
throw const CannotCreatePublicAssetException();
final notCreatedError = response.parse<SetPublicAssetResponse>(
invocation.methodCallId,
SetPublicAssetResponse.deserialize
)?.notCreated?[generateCreateId];
if (notCreatedError == null && publicAsset != null) return publicAsset;
if (notCreatedError?.type == ErrorMethodResponse.overQuota) {
throw PublicAssetQuotaExceededException(message: notCreatedError?.description);
}
return publicAsset;
throw const CannotCreatePublicAssetException();
}
Future<void> destroyPublicAssets(
@@ -2,6 +2,12 @@ class CannotCreatePublicAssetException implements Exception {
const CannotCreatePublicAssetException();
}
class PublicAssetQuotaExceededException implements Exception {
const PublicAssetQuotaExceededException({required this.message});
final String? message;
}
class CannotDestroyPublicAssetException implements Exception {
const CannotDestroyPublicAssetException();
}
+7 -1
View File
@@ -2920,7 +2920,7 @@
"placeholders_order": [],
"placeholders": {}
},
"pleaseChooseAnImageSizeCorrectly": "Please choose an image size <= {maxSize}KB",
"pleaseChooseAnImageSizeCorrectly": "Please choose an image with size less than {maxSize}KB",
"@pleaseChooseAnImageSizeCorrectly": {
"type": "text",
"placeholders_order": [
@@ -3988,6 +3988,12 @@
"placeholders_order": [],
"placeholders": {}
},
"generalSignatureImageUploadError": "There was an error while uploading the image. Please try again.",
"@generalSignatureImageUploadError": {
"type": "text",
"placeholders_order": [],
"placeholders": {}
},
"thisImageCannotBePastedIntoTheEditor": "This image cannot be pasted into the editor.",
"@thisImageCannotBePastedIntoTheEditor": {
"type": "text",
@@ -3026,7 +3026,7 @@ class AppLocalizations {
String pleaseChooseAnImageSizeCorrectly(int maxSize) {
return Intl.message(
'Please choose an image size <= ${maxSize}KB',
'Please choose an image with size less than ${maxSize}KB',
name: 'pleaseChooseAnImageSizeCorrectly',
args: [maxSize]);
}
@@ -4177,6 +4177,12 @@ class AppLocalizations {
);
}
String get generalSignatureImageUploadError {
return Intl.message(
'There was an error while uploading the image. Please try again.',
name: 'generalSignatureImageUploadError');
}
String get thisImageCannotBePastedIntoTheEditor {
return Intl.message(
'This image cannot be pasted into the editor.',
+1 -1
View File
@@ -604,7 +604,7 @@ packages:
description:
path: "."
ref: sprint26_5aug
resolved-ref: "8dfee5c0386d3848e60673430ca7cb389fa61a54"
resolved-ref: "204c97eaa69c73af2d7740bff18ba4308fe8693f"
url: "https://github.com/linagora/jmap-dart-client.git"
source: git
version: "0.1.0"
+1 -1
View File
@@ -1196,7 +1196,7 @@ packages:
description:
path: "."
ref: sprint26_5aug
resolved-ref: "8dfee5c0386d3848e60673430ca7cb389fa61a54"
resolved-ref: "204c97eaa69c73af2d7740bff18ba4308fe8693f"
url: "https://github.com/linagora/jmap-dart-client.git"
source: git
version: "0.1.0"
+1 -1
View File
@@ -296,7 +296,7 @@ packages:
description:
path: "."
ref: sprint26_5aug
resolved-ref: "8dfee5c0386d3848e60673430ca7cb389fa61a54"
resolved-ref: "204c97eaa69c73af2d7740bff18ba4308fe8693f"
url: "https://github.com/linagora/jmap-dart-client.git"
source: git
version: "0.1.0"