diff --git a/CHANGELOG.md b/CHANGELOG.md index 40f7039..834c926 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ ## 20.3.1 * Fix passing of `null` values and stripping only non-nullable optional parameters from the request body +* Add `getScreenshot` method to `Avatars` service +* Add `Theme`, `Timezone` and `Output` enums ## 20.3.0 diff --git a/docs/examples/avatars/get-screenshot.md b/docs/examples/avatars/get-screenshot.md index 42a5ca7..0dc9b76 100644 --- a/docs/examples/avatars/get-screenshot.md +++ b/docs/examples/avatars/get-screenshot.md @@ -9,24 +9,27 @@ Avatars avatars = Avatars(client); // Downloading file Uint8List bytes = await avatars.getScreenshot( url: 'https://example.com', - headers: {}, // optional - viewportWidth: 1, // optional - viewportHeight: 1, // optional - scale: 0.1, // optional + headers: { + "Authorization": "Bearer token123", + "X-Custom-Header": "value" + }, // optional + viewportWidth: 1920, // optional + viewportHeight: 1080, // optional + scale: 2, // optional theme: Theme.light, // optional - userAgent: '', // optional - fullpage: false, // optional - locale: '', // optional + userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15', // optional + fullpage: true, // optional + locale: 'en-US', // optional timezone: Timezone.africaAbidjan, // optional - latitude: -90, // optional - longitude: -180, // optional - accuracy: 0, // optional - touch: false, // optional - permissions: [], // optional - sleep: 0, // optional - width: 0, // optional - height: 0, // optional - quality: -1, // optional + latitude: 37.7749, // optional + longitude: -122.4194, // optional + accuracy: 100, // optional + touch: true, // optional + permissions: ["geolocation","notifications"], // optional + sleep: 3, // optional + width: 800, // optional + height: 600, // optional + quality: 85, // optional output: Output.jpg, // optional ) @@ -37,24 +40,27 @@ file.writeAsBytesSync(bytes); FutureBuilder( future: avatars.getScreenshot( url:'https://example.com' , - headers:{} , // optional - viewportWidth:1 , // optional - viewportHeight:1 , // optional - scale:0.1 , // optional + headers:{ + "Authorization": "Bearer token123", + "X-Custom-Header": "value" + } , // optional + viewportWidth:1920 , // optional + viewportHeight:1080 , // optional + scale:2 , // optional theme: Theme.light, // optional - userAgent:'' , // optional - fullpage:false , // optional - locale:'' , // optional + userAgent:'Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15' , // optional + fullpage:true , // optional + locale:'en-US' , // optional timezone: Timezone.africaAbidjan, // optional - latitude:-90 , // optional - longitude:-180 , // optional - accuracy:0 , // optional - touch:false , // optional - permissions:[] , // optional - sleep:0 , // optional - width:0 , // optional - height:0 , // optional - quality:-1 , // optional + latitude:37.7749 , // optional + longitude:-122.4194 , // optional + accuracy:100 , // optional + touch:true , // optional + permissions:["geolocation","notifications"] , // optional + sleep:3 , // optional + width:800 , // optional + height:600 , // optional + quality:85 , // optional output: Output.jpg, // optional ), // Works for both public file and private file, for private files you need to be logged in builder: (context, snapshot) { diff --git a/lib/services/account.dart b/lib/services/account.dart index fcd2ca6..c7997ec 100644 --- a/lib/services/account.dart +++ b/lib/services/account.dart @@ -301,7 +301,7 @@ class Account extends Service { 'This API has been deprecated since 1.8.0. Please use `Account.createMFAChallenge` instead.') Future createMfaChallenge( {required enums.AuthenticationFactor factor}) async { - const String apiPath = '/account/mfa/challenge'; + const String apiPath = '/account/mfa/challenges'; final Map apiParams = { 'factor': factor.value, @@ -322,7 +322,7 @@ class Account extends Service { /// method. Future createMFAChallenge( {required enums.AuthenticationFactor factor}) async { - const String apiPath = '/account/mfa/challenge'; + const String apiPath = '/account/mfa/challenges'; final Map apiParams = { 'factor': factor.value, @@ -347,7 +347,7 @@ class Account extends Service { 'This API has been deprecated since 1.8.0. Please use `Account.updateMFAChallenge` instead.') Future updateMfaChallenge( {required String challengeId, required String otp}) async { - const String apiPath = '/account/mfa/challenge'; + const String apiPath = '/account/mfa/challenges'; final Map apiParams = { 'challengeId': challengeId, @@ -371,7 +371,7 @@ class Account extends Service { /// method. Future updateMFAChallenge( {required String challengeId, required String otp}) async { - const String apiPath = '/account/mfa/challenge'; + const String apiPath = '/account/mfa/challenges'; final Map apiParams = { 'challengeId': challengeId,