mirror of
https://github.com/appwrite/sdk-for-flutter.git
synced 2026-04-07 19:27:41 +00:00
Commit from GitHub Actions (Format and push)
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
||||
/// Appwrite Flutter SDK
|
||||
///
|
||||
/// This SDK is compatible with Appwrite server version 1.8.x.
|
||||
/// This SDK is compatible with Appwrite server version 1.8.x.
|
||||
/// For older versions, please check
|
||||
/// [previous releases](https://github.com/appwrite/sdk-for-flutter/releases).
|
||||
library appwrite;
|
||||
|
||||
@@ -1 +1 @@
|
||||
export 'src/client_browser.dart';
|
||||
export 'src/client_browser.dart';
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
export 'src/client_io.dart';
|
||||
export 'src/client_io.dart';
|
||||
|
||||
+43
-28
@@ -10,14 +10,14 @@ class Query {
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final result = <String, dynamic>{};
|
||||
|
||||
|
||||
result['method'] = method;
|
||||
|
||||
if(attribute != null) {
|
||||
|
||||
if (attribute != null) {
|
||||
result['attribute'] = attribute;
|
||||
}
|
||||
|
||||
if(values != null) {
|
||||
|
||||
if (values != null) {
|
||||
result['values'] = values is List ? values : [values];
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ class Query {
|
||||
String toString() => jsonEncode(toJson());
|
||||
|
||||
/// Filter resources where [attribute] is equal to [value].
|
||||
///
|
||||
///
|
||||
/// [value] can be a single value or a list. If a list is used
|
||||
/// the query will return resources where [attribute] is equal
|
||||
/// to any of the values in the list.
|
||||
@@ -130,16 +130,16 @@ class Query {
|
||||
Query._('updatedBetween', null, [start, end]).toString();
|
||||
|
||||
static String or(List<String> queries) => Query._(
|
||||
'or',
|
||||
null,
|
||||
queries.map((query) => jsonDecode(query)).toList(),
|
||||
).toString();
|
||||
'or',
|
||||
null,
|
||||
queries.map((query) => jsonDecode(query)).toList(),
|
||||
).toString();
|
||||
|
||||
static String and(List<String> queries) => Query._(
|
||||
'and',
|
||||
null,
|
||||
queries.map((query) => jsonDecode(query)).toList(),
|
||||
).toString();
|
||||
'and',
|
||||
null,
|
||||
queries.map((query) => jsonDecode(query)).toList(),
|
||||
).toString();
|
||||
|
||||
/// Specify which attributes should be returned by the API call.
|
||||
static String select(List<String> attributes) =>
|
||||
@@ -154,18 +154,17 @@ class Query {
|
||||
Query._('orderDesc', attribute).toString();
|
||||
|
||||
/// Sort results randomly.
|
||||
static String orderRandom() =>
|
||||
Query._('orderRandom').toString();
|
||||
static String orderRandom() => Query._('orderRandom').toString();
|
||||
|
||||
/// Return results before [id].
|
||||
///
|
||||
///
|
||||
/// Refer to the [Cursor Based Pagination](https://appwrite.io/docs/pagination#cursor-pagination)
|
||||
/// docs for more information.
|
||||
static String cursorBefore(String id) =>
|
||||
Query._('cursorBefore', null, id).toString();
|
||||
|
||||
/// Return results after [id].
|
||||
///
|
||||
///
|
||||
/// Refer to the [Cursor Based Pagination](https://appwrite.io/docs/pagination#cursor-pagination)
|
||||
/// docs for more information.
|
||||
static String cursorAfter(String id) =>
|
||||
@@ -175,27 +174,43 @@ class Query {
|
||||
static String limit(int limit) => Query._('limit', null, limit).toString();
|
||||
|
||||
/// Return results from [offset].
|
||||
///
|
||||
///
|
||||
/// Refer to the [Offset Pagination](https://appwrite.io/docs/pagination#offset-pagination)
|
||||
/// docs for more information.
|
||||
static String offset(int offset) =>
|
||||
Query._('offset', null, offset).toString();
|
||||
|
||||
/// Filter resources where [attribute] is at a specific distance from the given coordinates.
|
||||
static String distanceEqual(String attribute, List<dynamic> values, num distance, [bool meters = true]) =>
|
||||
Query._('distanceEqual', attribute, [[values, distance, meters]]).toString();
|
||||
static String distanceEqual(
|
||||
String attribute, List<dynamic> values, num distance,
|
||||
[bool meters = true]) =>
|
||||
Query._('distanceEqual', attribute, [
|
||||
[values, distance, meters]
|
||||
]).toString();
|
||||
|
||||
/// Filter resources where [attribute] is not at a specific distance from the given coordinates.
|
||||
static String distanceNotEqual(String attribute, List<dynamic> values, num distance, [bool meters = true]) =>
|
||||
Query._('distanceNotEqual', attribute, [[values, distance, meters]]).toString();
|
||||
static String distanceNotEqual(
|
||||
String attribute, List<dynamic> values, num distance,
|
||||
[bool meters = true]) =>
|
||||
Query._('distanceNotEqual', attribute, [
|
||||
[values, distance, meters]
|
||||
]).toString();
|
||||
|
||||
/// Filter resources where [attribute] is at a distance greater than the specified value from the given coordinates.
|
||||
static String distanceGreaterThan(String attribute, List<dynamic> values, num distance, [bool meters = true]) =>
|
||||
Query._('distanceGreaterThan', attribute, [[values, distance, meters]]).toString();
|
||||
static String distanceGreaterThan(
|
||||
String attribute, List<dynamic> values, num distance,
|
||||
[bool meters = true]) =>
|
||||
Query._('distanceGreaterThan', attribute, [
|
||||
[values, distance, meters]
|
||||
]).toString();
|
||||
|
||||
/// Filter resources where [attribute] is at a distance less than the specified value from the given coordinates.
|
||||
static String distanceLessThan(String attribute, List<dynamic> values, num distance, [bool meters = true]) =>
|
||||
Query._('distanceLessThan', attribute, [[values, distance, meters]]).toString();
|
||||
static String distanceLessThan(
|
||||
String attribute, List<dynamic> values, num distance,
|
||||
[bool meters = true]) =>
|
||||
Query._('distanceLessThan', attribute, [
|
||||
[values, distance, meters]
|
||||
]).toString();
|
||||
|
||||
/// Filter resources where [attribute] intersects with the given geometry.
|
||||
static String intersects(String attribute, List<dynamic> values) =>
|
||||
@@ -228,4 +243,4 @@ class Query {
|
||||
/// Filter resources where [attribute] does not touch the given geometry.
|
||||
static String notTouches(String attribute, List<dynamic> values) =>
|
||||
Query._('notTouches', attribute, [values]).toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
export 'src/realtime_browser.dart';
|
||||
export 'src/realtime_browser.dart';
|
||||
|
||||
@@ -1 +1 @@
|
||||
export 'src/realtime_io.dart';
|
||||
export 'src/realtime_io.dart';
|
||||
|
||||
+1
-1
@@ -63,4 +63,4 @@ class Role {
|
||||
static String label(String name) {
|
||||
return 'label:$name';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+654
-632
File diff suppressed because it is too large
Load Diff
+102
-94
@@ -1,7 +1,7 @@
|
||||
part of '../appwrite.dart';
|
||||
|
||||
/// The Avatars service aims to help you complete everyday tasks related to
|
||||
/// your app image, icons, and avatars.
|
||||
/// The Avatars service aims to help you complete everyday tasks related to
|
||||
/// your app image, icons, and avatars.
|
||||
class Avatars extends Service {
|
||||
/// Initializes a [Avatars] service
|
||||
Avatars(super.client);
|
||||
@@ -11,121 +11,129 @@ class Avatars extends Service {
|
||||
/// /account/sessions](https://appwrite.io/docs/references/cloud/client-web/account#getSessions)
|
||||
/// endpoint. Use width, height and quality arguments to change the output
|
||||
/// settings.
|
||||
///
|
||||
///
|
||||
/// When one dimension is specified and the other is 0, the image is scaled
|
||||
/// with preserved aspect ratio. If both dimensions are 0, the API provides an
|
||||
/// image at source quality. If dimensions are not specified, the default size
|
||||
/// of image returned is 100x100px.
|
||||
Future<Uint8List> getBrowser({required enums.Browser code, int? width, int? height, int? quality}) async {
|
||||
final String apiPath = '/avatars/browsers/{code}'.replaceAll('{code}', code.value);
|
||||
Future<Uint8List> getBrowser(
|
||||
{required enums.Browser code,
|
||||
int? width,
|
||||
int? height,
|
||||
int? quality}) async {
|
||||
final String apiPath =
|
||||
'/avatars/browsers/{code}'.replaceAll('{code}', code.value);
|
||||
|
||||
final Map<String, dynamic> params = {
|
||||
|
||||
'width': width,
|
||||
'height': height,
|
||||
'quality': quality,
|
||||
|
||||
'project': client.config['project'],
|
||||
};
|
||||
final Map<String, dynamic> params = {
|
||||
'width': width,
|
||||
'height': height,
|
||||
'quality': quality,
|
||||
'project': client.config['project'],
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: params, responseType: ResponseType.bytes);
|
||||
return res.data;
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: params, responseType: ResponseType.bytes);
|
||||
return res.data;
|
||||
}
|
||||
|
||||
/// The credit card endpoint will return you the icon of the credit card
|
||||
/// provider you need. Use width, height and quality arguments to change the
|
||||
/// output settings.
|
||||
///
|
||||
///
|
||||
/// When one dimension is specified and the other is 0, the image is scaled
|
||||
/// with preserved aspect ratio. If both dimensions are 0, the API provides an
|
||||
/// image at source quality. If dimensions are not specified, the default size
|
||||
/// of image returned is 100x100px.
|
||||
///
|
||||
Future<Uint8List> getCreditCard({required enums.CreditCard code, int? width, int? height, int? quality}) async {
|
||||
final String apiPath = '/avatars/credit-cards/{code}'.replaceAll('{code}', code.value);
|
||||
///
|
||||
Future<Uint8List> getCreditCard(
|
||||
{required enums.CreditCard code,
|
||||
int? width,
|
||||
int? height,
|
||||
int? quality}) async {
|
||||
final String apiPath =
|
||||
'/avatars/credit-cards/{code}'.replaceAll('{code}', code.value);
|
||||
|
||||
final Map<String, dynamic> params = {
|
||||
|
||||
'width': width,
|
||||
'height': height,
|
||||
'quality': quality,
|
||||
|
||||
'project': client.config['project'],
|
||||
};
|
||||
final Map<String, dynamic> params = {
|
||||
'width': width,
|
||||
'height': height,
|
||||
'quality': quality,
|
||||
'project': client.config['project'],
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: params, responseType: ResponseType.bytes);
|
||||
return res.data;
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: params, responseType: ResponseType.bytes);
|
||||
return res.data;
|
||||
}
|
||||
|
||||
/// Use this endpoint to fetch the favorite icon (AKA favicon) of any remote
|
||||
/// website URL.
|
||||
///
|
||||
///
|
||||
/// This endpoint does not follow HTTP redirects.
|
||||
Future<Uint8List> getFavicon({required String url}) async {
|
||||
const String apiPath = '/avatars/favicon';
|
||||
|
||||
final Map<String, dynamic> params = {
|
||||
|
||||
'url': url,
|
||||
|
||||
'project': client.config['project'],
|
||||
};
|
||||
final Map<String, dynamic> params = {
|
||||
'url': url,
|
||||
'project': client.config['project'],
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: params, responseType: ResponseType.bytes);
|
||||
return res.data;
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: params, responseType: ResponseType.bytes);
|
||||
return res.data;
|
||||
}
|
||||
|
||||
/// You can use this endpoint to show different country flags icons to your
|
||||
/// users. The code argument receives the 2 letter country code. Use width,
|
||||
/// height and quality arguments to change the output settings. Country codes
|
||||
/// follow the [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) standard.
|
||||
///
|
||||
///
|
||||
/// When one dimension is specified and the other is 0, the image is scaled
|
||||
/// with preserved aspect ratio. If both dimensions are 0, the API provides an
|
||||
/// image at source quality. If dimensions are not specified, the default size
|
||||
/// of image returned is 100x100px.
|
||||
///
|
||||
Future<Uint8List> getFlag({required enums.Flag code, int? width, int? height, int? quality}) async {
|
||||
final String apiPath = '/avatars/flags/{code}'.replaceAll('{code}', code.value);
|
||||
///
|
||||
Future<Uint8List> getFlag(
|
||||
{required enums.Flag code, int? width, int? height, int? quality}) async {
|
||||
final String apiPath =
|
||||
'/avatars/flags/{code}'.replaceAll('{code}', code.value);
|
||||
|
||||
final Map<String, dynamic> params = {
|
||||
|
||||
'width': width,
|
||||
'height': height,
|
||||
'quality': quality,
|
||||
|
||||
'project': client.config['project'],
|
||||
};
|
||||
final Map<String, dynamic> params = {
|
||||
'width': width,
|
||||
'height': height,
|
||||
'quality': quality,
|
||||
'project': client.config['project'],
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: params, responseType: ResponseType.bytes);
|
||||
return res.data;
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: params, responseType: ResponseType.bytes);
|
||||
return res.data;
|
||||
}
|
||||
|
||||
/// Use this endpoint to fetch a remote image URL and crop it to any image size
|
||||
/// you want. This endpoint is very useful if you need to crop and display
|
||||
/// remote images in your app or in case you want to make sure a 3rd party
|
||||
/// image is properly served using a TLS protocol.
|
||||
///
|
||||
///
|
||||
/// When one dimension is specified and the other is 0, the image is scaled
|
||||
/// with preserved aspect ratio. If both dimensions are 0, the API provides an
|
||||
/// image at source quality. If dimensions are not specified, the default size
|
||||
/// of image returned is 400x400px.
|
||||
///
|
||||
///
|
||||
/// This endpoint does not follow HTTP redirects.
|
||||
Future<Uint8List> getImage({required String url, int? width, int? height}) async {
|
||||
Future<Uint8List> getImage(
|
||||
{required String url, int? width, int? height}) async {
|
||||
const String apiPath = '/avatars/image';
|
||||
|
||||
final Map<String, dynamic> params = {
|
||||
|
||||
'url': url,
|
||||
'width': width,
|
||||
'height': height,
|
||||
|
||||
'project': client.config['project'],
|
||||
};
|
||||
final Map<String, dynamic> params = {
|
||||
'url': url,
|
||||
'width': width,
|
||||
'height': height,
|
||||
'project': client.config['project'],
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: params, responseType: ResponseType.bytes);
|
||||
return res.data;
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: params, responseType: ResponseType.bytes);
|
||||
return res.data;
|
||||
}
|
||||
|
||||
/// Use this endpoint to show your user initials avatar icon on your website or
|
||||
@@ -133,51 +141,51 @@ class Avatars extends Service {
|
||||
/// email initials. You can also overwrite the user name if you pass the 'name'
|
||||
/// parameter. If no name is given and no user is logged, an empty avatar will
|
||||
/// be returned.
|
||||
///
|
||||
///
|
||||
/// You can use the color and background params to change the avatar colors. By
|
||||
/// default, a random theme will be selected. The random theme will persist for
|
||||
/// the user's initials when reloading the same theme will always return for
|
||||
/// the same initials.
|
||||
///
|
||||
///
|
||||
/// When one dimension is specified and the other is 0, the image is scaled
|
||||
/// with preserved aspect ratio. If both dimensions are 0, the API provides an
|
||||
/// image at source quality. If dimensions are not specified, the default size
|
||||
/// of image returned is 100x100px.
|
||||
///
|
||||
Future<Uint8List> getInitials({String? name, int? width, int? height, String? background}) async {
|
||||
///
|
||||
Future<Uint8List> getInitials(
|
||||
{String? name, int? width, int? height, String? background}) async {
|
||||
const String apiPath = '/avatars/initials';
|
||||
|
||||
final Map<String, dynamic> params = {
|
||||
|
||||
'name': name,
|
||||
'width': width,
|
||||
'height': height,
|
||||
'background': background,
|
||||
|
||||
'project': client.config['project'],
|
||||
};
|
||||
final Map<String, dynamic> params = {
|
||||
'name': name,
|
||||
'width': width,
|
||||
'height': height,
|
||||
'background': background,
|
||||
'project': client.config['project'],
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: params, responseType: ResponseType.bytes);
|
||||
return res.data;
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: params, responseType: ResponseType.bytes);
|
||||
return res.data;
|
||||
}
|
||||
|
||||
/// Converts a given plain text to a QR code image. You can use the query
|
||||
/// parameters to change the size and style of the resulting image.
|
||||
///
|
||||
Future<Uint8List> getQR({required String text, int? size, int? margin, bool? download}) async {
|
||||
///
|
||||
Future<Uint8List> getQR(
|
||||
{required String text, int? size, int? margin, bool? download}) async {
|
||||
const String apiPath = '/avatars/qr';
|
||||
|
||||
final Map<String, dynamic> params = {
|
||||
|
||||
'text': text,
|
||||
'size': size,
|
||||
'margin': margin,
|
||||
'download': download,
|
||||
|
||||
'project': client.config['project'],
|
||||
};
|
||||
final Map<String, dynamic> params = {
|
||||
'text': text,
|
||||
'size': size,
|
||||
'margin': margin,
|
||||
'download': download,
|
||||
'project': client.config['project'],
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: params, responseType: ResponseType.bytes);
|
||||
return res.data;
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: params, responseType: ResponseType.bytes);
|
||||
return res.data;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+256
-173
@@ -1,289 +1,372 @@
|
||||
part of '../appwrite.dart';
|
||||
|
||||
/// The Databases service allows you to create structured collections of
|
||||
/// documents, query and filter lists of documents
|
||||
/// The Databases service allows you to create structured collections of
|
||||
/// documents, query and filter lists of documents
|
||||
class Databases extends Service {
|
||||
/// Initializes a [Databases] service
|
||||
Databases(super.client);
|
||||
|
||||
/// List transactions across all databases.
|
||||
Future<models.TransactionList> listTransactions({List<String>? queries}) async {
|
||||
Future<models.TransactionList> listTransactions(
|
||||
{List<String>? queries}) async {
|
||||
const String apiPath = '/databases/transactions';
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'queries': queries,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'queries': queries,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.TransactionList.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.TransactionList.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Create a new transaction.
|
||||
Future<models.Transaction> createTransaction({int? ttl}) async {
|
||||
const String apiPath = '/databases/transactions';
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'ttl': ttl,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'ttl': ttl,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.post, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Transaction.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.post,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Transaction.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Get a transaction by its unique ID.
|
||||
Future<models.Transaction> getTransaction({required String transactionId}) async {
|
||||
final String apiPath = '/databases/transactions/{transactionId}'.replaceAll('{transactionId}', transactionId);
|
||||
Future<models.Transaction> getTransaction(
|
||||
{required String transactionId}) async {
|
||||
final String apiPath = '/databases/transactions/{transactionId}'
|
||||
.replaceAll('{transactionId}', transactionId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Transaction.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Transaction.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Update a transaction, to either commit or roll back its operations.
|
||||
Future<models.Transaction> updateTransaction({required String transactionId, bool? commit, bool? rollback}) async {
|
||||
final String apiPath = '/databases/transactions/{transactionId}'.replaceAll('{transactionId}', transactionId);
|
||||
Future<models.Transaction> updateTransaction(
|
||||
{required String transactionId, bool? commit, bool? rollback}) async {
|
||||
final String apiPath = '/databases/transactions/{transactionId}'
|
||||
.replaceAll('{transactionId}', transactionId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'commit': commit,
|
||||
'rollback': rollback,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'commit': commit,
|
||||
'rollback': rollback,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.patch, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Transaction.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.patch,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Transaction.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Delete a transaction by its unique ID.
|
||||
Future deleteTransaction({required String transactionId}) async {
|
||||
final String apiPath = '/databases/transactions/{transactionId}'.replaceAll('{transactionId}', transactionId);
|
||||
final String apiPath = '/databases/transactions/{transactionId}'
|
||||
.replaceAll('{transactionId}', transactionId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.delete, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return res.data;
|
||||
final res = await client.call(HttpMethod.delete,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return res.data;
|
||||
}
|
||||
|
||||
/// Create multiple operations in a single transaction.
|
||||
Future<models.Transaction> createOperations({required String transactionId, List<Map>? operations}) async {
|
||||
final String apiPath = '/databases/transactions/{transactionId}/operations'.replaceAll('{transactionId}', transactionId);
|
||||
Future<models.Transaction> createOperations(
|
||||
{required String transactionId, List<Map>? operations}) async {
|
||||
final String apiPath = '/databases/transactions/{transactionId}/operations'
|
||||
.replaceAll('{transactionId}', transactionId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'operations': operations,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'operations': operations,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.post, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Transaction.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.post,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Transaction.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Get a list of all the user's documents in a given collection. You can use
|
||||
/// the query params to filter your results.
|
||||
@Deprecated('This API has been deprecated since 1.8.0. Please use `TablesDB.listRows` instead.')
|
||||
Future<models.DocumentList> listDocuments({required String databaseId, required String collectionId, List<String>? queries, String? transactionId}) async {
|
||||
final String apiPath = '/databases/{databaseId}/collections/{collectionId}/documents'.replaceAll('{databaseId}', databaseId).replaceAll('{collectionId}', collectionId);
|
||||
@Deprecated(
|
||||
'This API has been deprecated since 1.8.0. Please use `TablesDB.listRows` instead.')
|
||||
Future<models.DocumentList> listDocuments(
|
||||
{required String databaseId,
|
||||
required String collectionId,
|
||||
List<String>? queries,
|
||||
String? transactionId}) async {
|
||||
final String apiPath =
|
||||
'/databases/{databaseId}/collections/{collectionId}/documents'
|
||||
.replaceAll('{databaseId}', databaseId)
|
||||
.replaceAll('{collectionId}', collectionId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'queries': queries,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'queries': queries,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.DocumentList.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.DocumentList.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Create a new Document. Before using this route, you should create a new
|
||||
/// collection resource using either a [server
|
||||
/// integration](https://appwrite.io/docs/server/databases#databasesCreateCollection)
|
||||
/// API or directly from your database console.
|
||||
@Deprecated('This API has been deprecated since 1.8.0. Please use `TablesDB.createRow` instead.')
|
||||
Future<models.Document> createDocument({required String databaseId, required String collectionId, required String documentId, required Map data, List<String>? permissions, String? transactionId}) async {
|
||||
final String apiPath = '/databases/{databaseId}/collections/{collectionId}/documents'.replaceAll('{databaseId}', databaseId).replaceAll('{collectionId}', collectionId);
|
||||
@Deprecated(
|
||||
'This API has been deprecated since 1.8.0. Please use `TablesDB.createRow` instead.')
|
||||
Future<models.Document> createDocument(
|
||||
{required String databaseId,
|
||||
required String collectionId,
|
||||
required String documentId,
|
||||
required Map data,
|
||||
List<String>? permissions,
|
||||
String? transactionId}) async {
|
||||
final String apiPath =
|
||||
'/databases/{databaseId}/collections/{collectionId}/documents'
|
||||
.replaceAll('{databaseId}', databaseId)
|
||||
.replaceAll('{collectionId}', collectionId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'documentId': documentId,
|
||||
'data': data,
|
||||
'permissions': permissions,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'documentId': documentId,
|
||||
'data': data,
|
||||
'permissions': permissions,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.post, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Document.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.post,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Document.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Get a document by its unique ID. This endpoint response returns a JSON
|
||||
/// object with the document data.
|
||||
@Deprecated('This API has been deprecated since 1.8.0. Please use `TablesDB.getRow` instead.')
|
||||
Future<models.Document> getDocument({required String databaseId, required String collectionId, required String documentId, List<String>? queries, String? transactionId}) async {
|
||||
final String apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}'.replaceAll('{databaseId}', databaseId).replaceAll('{collectionId}', collectionId).replaceAll('{documentId}', documentId);
|
||||
@Deprecated(
|
||||
'This API has been deprecated since 1.8.0. Please use `TablesDB.getRow` instead.')
|
||||
Future<models.Document> getDocument(
|
||||
{required String databaseId,
|
||||
required String collectionId,
|
||||
required String documentId,
|
||||
List<String>? queries,
|
||||
String? transactionId}) async {
|
||||
final String apiPath =
|
||||
'/databases/{databaseId}/collections/{collectionId}/documents/{documentId}'
|
||||
.replaceAll('{databaseId}', databaseId)
|
||||
.replaceAll('{collectionId}', collectionId)
|
||||
.replaceAll('{documentId}', documentId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'queries': queries,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'queries': queries,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Document.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Document.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Create or update a Document. Before using this route, you should create a
|
||||
/// new collection resource using either a [server
|
||||
/// integration](https://appwrite.io/docs/server/databases#databasesCreateCollection)
|
||||
/// API or directly from your database console.
|
||||
@Deprecated('This API has been deprecated since 1.8.0. Please use `TablesDB.upsertRow` instead.')
|
||||
Future<models.Document> upsertDocument({required String databaseId, required String collectionId, required String documentId, required Map data, List<String>? permissions, String? transactionId}) async {
|
||||
final String apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}'.replaceAll('{databaseId}', databaseId).replaceAll('{collectionId}', collectionId).replaceAll('{documentId}', documentId);
|
||||
@Deprecated(
|
||||
'This API has been deprecated since 1.8.0. Please use `TablesDB.upsertRow` instead.')
|
||||
Future<models.Document> upsertDocument(
|
||||
{required String databaseId,
|
||||
required String collectionId,
|
||||
required String documentId,
|
||||
required Map data,
|
||||
List<String>? permissions,
|
||||
String? transactionId}) async {
|
||||
final String apiPath =
|
||||
'/databases/{databaseId}/collections/{collectionId}/documents/{documentId}'
|
||||
.replaceAll('{databaseId}', databaseId)
|
||||
.replaceAll('{collectionId}', collectionId)
|
||||
.replaceAll('{documentId}', documentId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'data': data,
|
||||
'permissions': permissions,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'data': data,
|
||||
'permissions': permissions,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.put, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Document.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.put,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Document.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Update a document by its unique ID. Using the patch method you can pass
|
||||
/// only specific fields that will get updated.
|
||||
@Deprecated('This API has been deprecated since 1.8.0. Please use `TablesDB.updateRow` instead.')
|
||||
Future<models.Document> updateDocument({required String databaseId, required String collectionId, required String documentId, Map? data, List<String>? permissions, String? transactionId}) async {
|
||||
final String apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}'.replaceAll('{databaseId}', databaseId).replaceAll('{collectionId}', collectionId).replaceAll('{documentId}', documentId);
|
||||
@Deprecated(
|
||||
'This API has been deprecated since 1.8.0. Please use `TablesDB.updateRow` instead.')
|
||||
Future<models.Document> updateDocument(
|
||||
{required String databaseId,
|
||||
required String collectionId,
|
||||
required String documentId,
|
||||
Map? data,
|
||||
List<String>? permissions,
|
||||
String? transactionId}) async {
|
||||
final String apiPath =
|
||||
'/databases/{databaseId}/collections/{collectionId}/documents/{documentId}'
|
||||
.replaceAll('{databaseId}', databaseId)
|
||||
.replaceAll('{collectionId}', collectionId)
|
||||
.replaceAll('{documentId}', documentId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'data': data,
|
||||
'permissions': permissions,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'data': data,
|
||||
'permissions': permissions,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.patch, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Document.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.patch,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Document.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Delete a document by its unique ID.
|
||||
@Deprecated('This API has been deprecated since 1.8.0. Please use `TablesDB.deleteRow` instead.')
|
||||
Future deleteDocument({required String databaseId, required String collectionId, required String documentId, String? transactionId}) async {
|
||||
final String apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}'.replaceAll('{databaseId}', databaseId).replaceAll('{collectionId}', collectionId).replaceAll('{documentId}', documentId);
|
||||
@Deprecated(
|
||||
'This API has been deprecated since 1.8.0. Please use `TablesDB.deleteRow` instead.')
|
||||
Future deleteDocument(
|
||||
{required String databaseId,
|
||||
required String collectionId,
|
||||
required String documentId,
|
||||
String? transactionId}) async {
|
||||
final String apiPath =
|
||||
'/databases/{databaseId}/collections/{collectionId}/documents/{documentId}'
|
||||
.replaceAll('{databaseId}', databaseId)
|
||||
.replaceAll('{collectionId}', collectionId)
|
||||
.replaceAll('{documentId}', documentId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.delete, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return res.data;
|
||||
final res = await client.call(HttpMethod.delete,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return res.data;
|
||||
}
|
||||
|
||||
/// Decrement a specific attribute of a document by a given value.
|
||||
@Deprecated('This API has been deprecated since 1.8.0. Please use `TablesDB.decrementRowColumn` instead.')
|
||||
Future<models.Document> decrementDocumentAttribute({required String databaseId, required String collectionId, required String documentId, required String attribute, double? value, double? min, String? transactionId}) async {
|
||||
final String apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/decrement'.replaceAll('{databaseId}', databaseId).replaceAll('{collectionId}', collectionId).replaceAll('{documentId}', documentId).replaceAll('{attribute}', attribute);
|
||||
@Deprecated(
|
||||
'This API has been deprecated since 1.8.0. Please use `TablesDB.decrementRowColumn` instead.')
|
||||
Future<models.Document> decrementDocumentAttribute(
|
||||
{required String databaseId,
|
||||
required String collectionId,
|
||||
required String documentId,
|
||||
required String attribute,
|
||||
double? value,
|
||||
double? min,
|
||||
String? transactionId}) async {
|
||||
final String apiPath =
|
||||
'/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/decrement'
|
||||
.replaceAll('{databaseId}', databaseId)
|
||||
.replaceAll('{collectionId}', collectionId)
|
||||
.replaceAll('{documentId}', documentId)
|
||||
.replaceAll('{attribute}', attribute);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'value': value,
|
||||
'min': min,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'value': value,
|
||||
'min': min,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.patch, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Document.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.patch,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Document.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Increment a specific attribute of a document by a given value.
|
||||
@Deprecated('This API has been deprecated since 1.8.0. Please use `TablesDB.incrementRowColumn` instead.')
|
||||
Future<models.Document> incrementDocumentAttribute({required String databaseId, required String collectionId, required String documentId, required String attribute, double? value, double? max, String? transactionId}) async {
|
||||
final String apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/increment'.replaceAll('{databaseId}', databaseId).replaceAll('{collectionId}', collectionId).replaceAll('{documentId}', documentId).replaceAll('{attribute}', attribute);
|
||||
@Deprecated(
|
||||
'This API has been deprecated since 1.8.0. Please use `TablesDB.incrementRowColumn` instead.')
|
||||
Future<models.Document> incrementDocumentAttribute(
|
||||
{required String databaseId,
|
||||
required String collectionId,
|
||||
required String documentId,
|
||||
required String attribute,
|
||||
double? value,
|
||||
double? max,
|
||||
String? transactionId}) async {
|
||||
final String apiPath =
|
||||
'/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/increment'
|
||||
.replaceAll('{databaseId}', databaseId)
|
||||
.replaceAll('{collectionId}', collectionId)
|
||||
.replaceAll('{documentId}', documentId)
|
||||
.replaceAll('{attribute}', attribute);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'value': value,
|
||||
'max': max,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'value': value,
|
||||
'max': max,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.patch, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Document.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.patch,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Document.fromMap(res.data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+48
-40
@@ -1,70 +1,78 @@
|
||||
part of '../appwrite.dart';
|
||||
|
||||
/// The Functions Service allows you view, create and manage your Cloud
|
||||
/// Functions.
|
||||
/// The Functions Service allows you view, create and manage your Cloud
|
||||
/// Functions.
|
||||
class Functions extends Service {
|
||||
/// Initializes a [Functions] service
|
||||
Functions(super.client);
|
||||
|
||||
/// Get a list of all the current user function execution logs. You can use the
|
||||
/// query params to filter your results.
|
||||
Future<models.ExecutionList> listExecutions({required String functionId, List<String>? queries}) async {
|
||||
final String apiPath = '/functions/{functionId}/executions'.replaceAll('{functionId}', functionId);
|
||||
Future<models.ExecutionList> listExecutions(
|
||||
{required String functionId, List<String>? queries}) async {
|
||||
final String apiPath = '/functions/{functionId}/executions'
|
||||
.replaceAll('{functionId}', functionId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'queries': queries,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'queries': queries,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.ExecutionList.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.ExecutionList.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Trigger a function execution. The returned object will return you the
|
||||
/// current execution status. You can ping the `Get Execution` endpoint to get
|
||||
/// updates on the current execution status. Once this endpoint is called, your
|
||||
/// function execution process will start asynchronously.
|
||||
Future<models.Execution> createExecution({required String functionId, String? body, bool? xasync, String? path, enums.ExecutionMethod? method, Map? headers, String? scheduledAt}) async {
|
||||
final String apiPath = '/functions/{functionId}/executions'.replaceAll('{functionId}', functionId);
|
||||
Future<models.Execution> createExecution(
|
||||
{required String functionId,
|
||||
String? body,
|
||||
bool? xasync,
|
||||
String? path,
|
||||
enums.ExecutionMethod? method,
|
||||
Map? headers,
|
||||
String? scheduledAt}) async {
|
||||
final String apiPath = '/functions/{functionId}/executions'
|
||||
.replaceAll('{functionId}', functionId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'body': body,
|
||||
'async': xasync,
|
||||
'path': path,
|
||||
'method': method?.value,
|
||||
'headers': headers,
|
||||
'scheduledAt': scheduledAt,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'body': body,
|
||||
'async': xasync,
|
||||
'path': path,
|
||||
'method': method?.value,
|
||||
'headers': headers,
|
||||
'scheduledAt': scheduledAt,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.post, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Execution.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.post,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Execution.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Get a function execution log by its unique ID.
|
||||
Future<models.Execution> getExecution({required String functionId, required String executionId}) async {
|
||||
final String apiPath = '/functions/{functionId}/executions/{executionId}'.replaceAll('{functionId}', functionId).replaceAll('{executionId}', executionId);
|
||||
Future<models.Execution> getExecution(
|
||||
{required String functionId, required String executionId}) async {
|
||||
final String apiPath = '/functions/{functionId}/executions/{executionId}'
|
||||
.replaceAll('{functionId}', functionId)
|
||||
.replaceAll('{executionId}', executionId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Execution.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Execution.fromMap(res.data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+23
-21
@@ -1,7 +1,7 @@
|
||||
part of '../appwrite.dart';
|
||||
|
||||
/// The GraphQL API allows you to query and mutate your Appwrite server using
|
||||
/// GraphQL.
|
||||
/// The GraphQL API allows you to query and mutate your Appwrite server using
|
||||
/// GraphQL.
|
||||
class Graphql extends Service {
|
||||
/// Initializes a [Graphql] service
|
||||
Graphql(super.client);
|
||||
@@ -10,35 +10,37 @@ class Graphql extends Service {
|
||||
Future query({required Map query}) async {
|
||||
const String apiPath = '/graphql';
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'query': query,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'query': query,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'x-sdk-graphql': 'true', 'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'x-sdk-graphql': 'true',
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.post, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return res.data;
|
||||
final res = await client.call(HttpMethod.post,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return res.data;
|
||||
}
|
||||
|
||||
/// Execute a GraphQL mutation.
|
||||
Future mutation({required Map query}) async {
|
||||
const String apiPath = '/graphql/mutation';
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'query': query,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'query': query,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'x-sdk-graphql': 'true', 'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'x-sdk-graphql': 'true',
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.post, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return res.data;
|
||||
final res = await client.call(HttpMethod.post,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return res.data;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+44
-68
@@ -1,7 +1,7 @@
|
||||
part of '../appwrite.dart';
|
||||
|
||||
/// The Locale service allows you to customize your app based on your users'
|
||||
/// location.
|
||||
/// The Locale service allows you to customize your app based on your users'
|
||||
/// location.
|
||||
class Locale extends Service {
|
||||
/// Initializes a [Locale] service
|
||||
Locale(super.client);
|
||||
@@ -10,22 +10,19 @@ class Locale extends Service {
|
||||
/// country code, country name, continent name, continent code, ip address and
|
||||
/// suggested currency. You can use the locale header to get the data in a
|
||||
/// supported language.
|
||||
///
|
||||
///
|
||||
/// ([IP Geolocation by DB-IP](https://db-ip.com))
|
||||
Future<models.Locale> get() async {
|
||||
const String apiPath = '/locale';
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Locale.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Locale.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// List of all locale codes in [ISO
|
||||
@@ -33,17 +30,14 @@ class Locale extends Service {
|
||||
Future<models.LocaleCodeList> listCodes() async {
|
||||
const String apiPath = '/locale/codes';
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.LocaleCodeList.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.LocaleCodeList.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// List of all continents. You can use the locale header to get the data in a
|
||||
@@ -51,17 +45,14 @@ class Locale extends Service {
|
||||
Future<models.ContinentList> listContinents() async {
|
||||
const String apiPath = '/locale/continents';
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.ContinentList.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.ContinentList.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// List of all countries. You can use the locale header to get the data in a
|
||||
@@ -69,17 +60,14 @@ class Locale extends Service {
|
||||
Future<models.CountryList> listCountries() async {
|
||||
const String apiPath = '/locale/countries';
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.CountryList.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.CountryList.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// List of all countries that are currently members of the EU. You can use the
|
||||
@@ -87,17 +75,14 @@ class Locale extends Service {
|
||||
Future<models.CountryList> listCountriesEU() async {
|
||||
const String apiPath = '/locale/countries/eu';
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.CountryList.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.CountryList.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// List of all countries phone codes. You can use the locale header to get the
|
||||
@@ -105,17 +90,14 @@ class Locale extends Service {
|
||||
Future<models.PhoneList> listCountriesPhones() async {
|
||||
const String apiPath = '/locale/countries/phones';
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.PhoneList.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.PhoneList.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// List of all currencies, including currency symbol, name, plural, and
|
||||
@@ -124,17 +106,14 @@ class Locale extends Service {
|
||||
Future<models.CurrencyList> listCurrencies() async {
|
||||
const String apiPath = '/locale/currencies';
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.CurrencyList.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.CurrencyList.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// List of all languages classified by ISO 639-1 including 2-letter code, name
|
||||
@@ -142,16 +121,13 @@ class Locale extends Service {
|
||||
Future<models.LanguageList> listLanguages() async {
|
||||
const String apiPath = '/locale/languages';
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.LanguageList.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.LanguageList.fromMap(res.data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+32
-25
@@ -1,44 +1,51 @@
|
||||
part of '../appwrite.dart';
|
||||
|
||||
/// The Messaging service allows you to send messages to any provider type
|
||||
/// (SMTP, push notification, SMS, etc.).
|
||||
/// The Messaging service allows you to send messages to any provider type
|
||||
/// (SMTP, push notification, SMS, etc.).
|
||||
class Messaging extends Service {
|
||||
/// Initializes a [Messaging] service
|
||||
Messaging(super.client);
|
||||
|
||||
/// Create a new subscriber.
|
||||
Future<models.Subscriber> createSubscriber({required String topicId, required String subscriberId, required String targetId}) async {
|
||||
final String apiPath = '/messaging/topics/{topicId}/subscribers'.replaceAll('{topicId}', topicId);
|
||||
Future<models.Subscriber> createSubscriber(
|
||||
{required String topicId,
|
||||
required String subscriberId,
|
||||
required String targetId}) async {
|
||||
final String apiPath = '/messaging/topics/{topicId}/subscribers'
|
||||
.replaceAll('{topicId}', topicId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'subscriberId': subscriberId,
|
||||
'targetId': targetId,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'subscriberId': subscriberId,
|
||||
'targetId': targetId,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.post, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Subscriber.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.post,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Subscriber.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Delete a subscriber by its unique ID.
|
||||
Future deleteSubscriber({required String topicId, required String subscriberId}) async {
|
||||
final String apiPath = '/messaging/topics/{topicId}/subscribers/{subscriberId}'.replaceAll('{topicId}', topicId).replaceAll('{subscriberId}', subscriberId);
|
||||
Future deleteSubscriber(
|
||||
{required String topicId, required String subscriberId}) async {
|
||||
final String apiPath =
|
||||
'/messaging/topics/{topicId}/subscribers/{subscriberId}'
|
||||
.replaceAll('{topicId}', topicId)
|
||||
.replaceAll('{subscriberId}', subscriberId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.delete, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return res.data;
|
||||
final res = await client.call(HttpMethod.delete,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return res.data;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+144
-115
@@ -1,150 +1,162 @@
|
||||
part of '../appwrite.dart';
|
||||
|
||||
/// The Storage service allows you to manage your project files.
|
||||
/// The Storage service allows you to manage your project files.
|
||||
class Storage extends Service {
|
||||
/// Initializes a [Storage] service
|
||||
Storage(super.client);
|
||||
|
||||
/// Get a list of all the user files. You can use the query params to filter
|
||||
/// your results.
|
||||
Future<models.FileList> listFiles({required String bucketId, List<String>? queries, String? search}) async {
|
||||
final String apiPath = '/storage/buckets/{bucketId}/files'.replaceAll('{bucketId}', bucketId);
|
||||
Future<models.FileList> listFiles(
|
||||
{required String bucketId, List<String>? queries, String? search}) async {
|
||||
final String apiPath =
|
||||
'/storage/buckets/{bucketId}/files'.replaceAll('{bucketId}', bucketId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'queries': queries,
|
||||
'search': search,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'queries': queries,
|
||||
'search': search,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.FileList.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.FileList.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Create a new file. Before using this route, you should create a new bucket
|
||||
/// resource using either a [server
|
||||
/// integration](https://appwrite.io/docs/server/storage#storageCreateBucket)
|
||||
/// API or directly from your Appwrite console.
|
||||
///
|
||||
///
|
||||
/// Larger files should be uploaded using multiple requests with the
|
||||
/// [content-range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range)
|
||||
/// header to send a partial request with a maximum supported chunk of `5MB`.
|
||||
/// The `content-range` header values should always be in bytes.
|
||||
///
|
||||
///
|
||||
/// When the first request is sent, the server will return the **File** object,
|
||||
/// and the subsequent part request must include the file's **id** in
|
||||
/// `x-appwrite-id` header to allow the server to know that the partial upload
|
||||
/// is for the existing file and not for a new one.
|
||||
///
|
||||
///
|
||||
/// If you're creating a new file using one of the Appwrite SDKs, all the
|
||||
/// chunking logic will be managed by the SDK internally.
|
||||
///
|
||||
Future<models.File> createFile({required String bucketId, required String fileId, required InputFile file, List<String>? permissions, Function(UploadProgress)? onProgress}) async {
|
||||
final String apiPath = '/storage/buckets/{bucketId}/files'.replaceAll('{bucketId}', bucketId);
|
||||
///
|
||||
Future<models.File> createFile(
|
||||
{required String bucketId,
|
||||
required String fileId,
|
||||
required InputFile file,
|
||||
List<String>? permissions,
|
||||
Function(UploadProgress)? onProgress}) async {
|
||||
final String apiPath =
|
||||
'/storage/buckets/{bucketId}/files'.replaceAll('{bucketId}', bucketId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'fileId': fileId,
|
||||
'file': file,
|
||||
'permissions': permissions,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'multipart/form-data',
|
||||
};
|
||||
|
||||
'fileId': fileId,
|
||||
'file': file,
|
||||
'permissions': permissions,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'multipart/form-data',
|
||||
};
|
||||
|
||||
String idParamName = '';
|
||||
idParamName = 'fileId';
|
||||
final paramName = 'file';
|
||||
final res = await client.chunkedUpload(
|
||||
path: apiPath,
|
||||
params: apiParams,
|
||||
paramName: paramName,
|
||||
idParamName: idParamName,
|
||||
headers: apiHeaders,
|
||||
onProgress: onProgress,
|
||||
);
|
||||
|
||||
return models.File.fromMap(res.data);
|
||||
String idParamName = '';
|
||||
idParamName = 'fileId';
|
||||
final paramName = 'file';
|
||||
final res = await client.chunkedUpload(
|
||||
path: apiPath,
|
||||
params: apiParams,
|
||||
paramName: paramName,
|
||||
idParamName: idParamName,
|
||||
headers: apiHeaders,
|
||||
onProgress: onProgress,
|
||||
);
|
||||
|
||||
return models.File.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Get a file by its unique ID. This endpoint response returns a JSON object
|
||||
/// with the file metadata.
|
||||
Future<models.File> getFile({required String bucketId, required String fileId}) async {
|
||||
final String apiPath = '/storage/buckets/{bucketId}/files/{fileId}'.replaceAll('{bucketId}', bucketId).replaceAll('{fileId}', fileId);
|
||||
Future<models.File> getFile(
|
||||
{required String bucketId, required String fileId}) async {
|
||||
final String apiPath = '/storage/buckets/{bucketId}/files/{fileId}'
|
||||
.replaceAll('{bucketId}', bucketId)
|
||||
.replaceAll('{fileId}', fileId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.File.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.File.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Update a file by its unique ID. Only users with write permissions have
|
||||
/// access to update this resource.
|
||||
Future<models.File> updateFile({required String bucketId, required String fileId, String? name, List<String>? permissions}) async {
|
||||
final String apiPath = '/storage/buckets/{bucketId}/files/{fileId}'.replaceAll('{bucketId}', bucketId).replaceAll('{fileId}', fileId);
|
||||
Future<models.File> updateFile(
|
||||
{required String bucketId,
|
||||
required String fileId,
|
||||
String? name,
|
||||
List<String>? permissions}) async {
|
||||
final String apiPath = '/storage/buckets/{bucketId}/files/{fileId}'
|
||||
.replaceAll('{bucketId}', bucketId)
|
||||
.replaceAll('{fileId}', fileId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'name': name,
|
||||
'permissions': permissions,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'name': name,
|
||||
'permissions': permissions,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.put, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.File.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.put,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.File.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Delete a file by its unique ID. Only users with write permissions have
|
||||
/// access to delete this resource.
|
||||
Future deleteFile({required String bucketId, required String fileId}) async {
|
||||
final String apiPath = '/storage/buckets/{bucketId}/files/{fileId}'.replaceAll('{bucketId}', bucketId).replaceAll('{fileId}', fileId);
|
||||
final String apiPath = '/storage/buckets/{bucketId}/files/{fileId}'
|
||||
.replaceAll('{bucketId}', bucketId)
|
||||
.replaceAll('{fileId}', fileId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.delete, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return res.data;
|
||||
final res = await client.call(HttpMethod.delete,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return res.data;
|
||||
}
|
||||
|
||||
/// Get a file content by its unique ID. The endpoint response return with a
|
||||
/// 'Content-Disposition: attachment' header that tells the browser to start
|
||||
/// downloading the file to user downloads directory.
|
||||
Future<Uint8List> getFileDownload({required String bucketId, required String fileId, String? token}) async {
|
||||
final String apiPath = '/storage/buckets/{bucketId}/files/{fileId}/download'.replaceAll('{bucketId}', bucketId).replaceAll('{fileId}', fileId);
|
||||
Future<Uint8List> getFileDownload(
|
||||
{required String bucketId, required String fileId, String? token}) async {
|
||||
final String apiPath = '/storage/buckets/{bucketId}/files/{fileId}/download'
|
||||
.replaceAll('{bucketId}', bucketId)
|
||||
.replaceAll('{fileId}', fileId);
|
||||
|
||||
final Map<String, dynamic> params = {
|
||||
|
||||
'token': token,
|
||||
|
||||
'project': client.config['project'],
|
||||
};
|
||||
final Map<String, dynamic> params = {
|
||||
'token': token,
|
||||
'project': client.config['project'],
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: params, responseType: ResponseType.bytes);
|
||||
return res.data;
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: params, responseType: ResponseType.bytes);
|
||||
return res.data;
|
||||
}
|
||||
|
||||
/// Get a file preview image. Currently, this method supports preview for image
|
||||
@@ -152,45 +164,62 @@ class Storage extends Service {
|
||||
/// and spreadsheets, will return the file icon image. You can also pass query
|
||||
/// string arguments for cutting and resizing your preview image. Preview is
|
||||
/// supported only for image files smaller than 10MB.
|
||||
Future<Uint8List> getFilePreview({required String bucketId, required String fileId, int? width, int? height, enums.ImageGravity? gravity, int? quality, int? borderWidth, String? borderColor, int? borderRadius, double? opacity, int? rotation, String? background, enums.ImageFormat? output, String? token}) async {
|
||||
final String apiPath = '/storage/buckets/{bucketId}/files/{fileId}/preview'.replaceAll('{bucketId}', bucketId).replaceAll('{fileId}', fileId);
|
||||
Future<Uint8List> getFilePreview(
|
||||
{required String bucketId,
|
||||
required String fileId,
|
||||
int? width,
|
||||
int? height,
|
||||
enums.ImageGravity? gravity,
|
||||
int? quality,
|
||||
int? borderWidth,
|
||||
String? borderColor,
|
||||
int? borderRadius,
|
||||
double? opacity,
|
||||
int? rotation,
|
||||
String? background,
|
||||
enums.ImageFormat? output,
|
||||
String? token}) async {
|
||||
final String apiPath = '/storage/buckets/{bucketId}/files/{fileId}/preview'
|
||||
.replaceAll('{bucketId}', bucketId)
|
||||
.replaceAll('{fileId}', fileId);
|
||||
|
||||
final Map<String, dynamic> params = {
|
||||
|
||||
'width': width,
|
||||
'height': height,
|
||||
'gravity': gravity?.value,
|
||||
'quality': quality,
|
||||
'borderWidth': borderWidth,
|
||||
'borderColor': borderColor,
|
||||
'borderRadius': borderRadius,
|
||||
'opacity': opacity,
|
||||
'rotation': rotation,
|
||||
'background': background,
|
||||
'output': output?.value,
|
||||
'token': token,
|
||||
|
||||
'project': client.config['project'],
|
||||
};
|
||||
final Map<String, dynamic> params = {
|
||||
'width': width,
|
||||
'height': height,
|
||||
'gravity': gravity?.value,
|
||||
'quality': quality,
|
||||
'borderWidth': borderWidth,
|
||||
'borderColor': borderColor,
|
||||
'borderRadius': borderRadius,
|
||||
'opacity': opacity,
|
||||
'rotation': rotation,
|
||||
'background': background,
|
||||
'output': output?.value,
|
||||
'token': token,
|
||||
'project': client.config['project'],
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: params, responseType: ResponseType.bytes);
|
||||
return res.data;
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: params, responseType: ResponseType.bytes);
|
||||
return res.data;
|
||||
}
|
||||
|
||||
/// Get a file content by its unique ID. This endpoint is similar to the
|
||||
/// download method but returns with no 'Content-Disposition: attachment'
|
||||
/// header.
|
||||
Future<Uint8List> getFileView({required String bucketId, required String fileId, String? token}) async {
|
||||
final String apiPath = '/storage/buckets/{bucketId}/files/{fileId}/view'.replaceAll('{bucketId}', bucketId).replaceAll('{fileId}', fileId);
|
||||
Future<Uint8List> getFileView(
|
||||
{required String bucketId, required String fileId, String? token}) async {
|
||||
final String apiPath = '/storage/buckets/{bucketId}/files/{fileId}/view'
|
||||
.replaceAll('{bucketId}', bucketId)
|
||||
.replaceAll('{fileId}', fileId);
|
||||
|
||||
final Map<String, dynamic> params = {
|
||||
|
||||
'token': token,
|
||||
|
||||
'project': client.config['project'],
|
||||
};
|
||||
final Map<String, dynamic> params = {
|
||||
'token': token,
|
||||
'project': client.config['project'],
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: params, responseType: ResponseType.bytes);
|
||||
return res.data;
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: params, responseType: ResponseType.bytes);
|
||||
return res.data;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+236
-163
@@ -5,275 +5,348 @@ class TablesDB extends Service {
|
||||
TablesDB(super.client);
|
||||
|
||||
/// List transactions across all databases.
|
||||
Future<models.TransactionList> listTransactions({List<String>? queries}) async {
|
||||
Future<models.TransactionList> listTransactions(
|
||||
{List<String>? queries}) async {
|
||||
const String apiPath = '/tablesdb/transactions';
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'queries': queries,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'queries': queries,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.TransactionList.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.TransactionList.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Create a new transaction.
|
||||
Future<models.Transaction> createTransaction({int? ttl}) async {
|
||||
const String apiPath = '/tablesdb/transactions';
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'ttl': ttl,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'ttl': ttl,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.post, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Transaction.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.post,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Transaction.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Get a transaction by its unique ID.
|
||||
Future<models.Transaction> getTransaction({required String transactionId}) async {
|
||||
final String apiPath = '/tablesdb/transactions/{transactionId}'.replaceAll('{transactionId}', transactionId);
|
||||
Future<models.Transaction> getTransaction(
|
||||
{required String transactionId}) async {
|
||||
final String apiPath = '/tablesdb/transactions/{transactionId}'
|
||||
.replaceAll('{transactionId}', transactionId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Transaction.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Transaction.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Update a transaction, to either commit or roll back its operations.
|
||||
Future<models.Transaction> updateTransaction({required String transactionId, bool? commit, bool? rollback}) async {
|
||||
final String apiPath = '/tablesdb/transactions/{transactionId}'.replaceAll('{transactionId}', transactionId);
|
||||
Future<models.Transaction> updateTransaction(
|
||||
{required String transactionId, bool? commit, bool? rollback}) async {
|
||||
final String apiPath = '/tablesdb/transactions/{transactionId}'
|
||||
.replaceAll('{transactionId}', transactionId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'commit': commit,
|
||||
'rollback': rollback,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'commit': commit,
|
||||
'rollback': rollback,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.patch, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Transaction.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.patch,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Transaction.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Delete a transaction by its unique ID.
|
||||
Future deleteTransaction({required String transactionId}) async {
|
||||
final String apiPath = '/tablesdb/transactions/{transactionId}'.replaceAll('{transactionId}', transactionId);
|
||||
final String apiPath = '/tablesdb/transactions/{transactionId}'
|
||||
.replaceAll('{transactionId}', transactionId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.delete, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return res.data;
|
||||
final res = await client.call(HttpMethod.delete,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return res.data;
|
||||
}
|
||||
|
||||
/// Create multiple operations in a single transaction.
|
||||
Future<models.Transaction> createOperations({required String transactionId, List<Map>? operations}) async {
|
||||
final String apiPath = '/tablesdb/transactions/{transactionId}/operations'.replaceAll('{transactionId}', transactionId);
|
||||
Future<models.Transaction> createOperations(
|
||||
{required String transactionId, List<Map>? operations}) async {
|
||||
final String apiPath = '/tablesdb/transactions/{transactionId}/operations'
|
||||
.replaceAll('{transactionId}', transactionId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'operations': operations,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'operations': operations,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.post, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Transaction.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.post,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Transaction.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Get a list of all the user's rows in a given table. You can use the query
|
||||
/// params to filter your results.
|
||||
Future<models.RowList> listRows({required String databaseId, required String tableId, List<String>? queries, String? transactionId}) async {
|
||||
final String apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows'.replaceAll('{databaseId}', databaseId).replaceAll('{tableId}', tableId);
|
||||
Future<models.RowList> listRows(
|
||||
{required String databaseId,
|
||||
required String tableId,
|
||||
List<String>? queries,
|
||||
String? transactionId}) async {
|
||||
final String apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows'
|
||||
.replaceAll('{databaseId}', databaseId)
|
||||
.replaceAll('{tableId}', tableId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'queries': queries,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'queries': queries,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.RowList.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.RowList.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Create a new Row. Before using this route, you should create a new table
|
||||
/// resource using either a [server
|
||||
/// integration](https://appwrite.io/docs/references/cloud/server-dart/tablesDB#createTable)
|
||||
/// API or directly from your database console.
|
||||
Future<models.Row> createRow({required String databaseId, required String tableId, required String rowId, required Map data, List<String>? permissions, String? transactionId}) async {
|
||||
final String apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows'.replaceAll('{databaseId}', databaseId).replaceAll('{tableId}', tableId);
|
||||
Future<models.Row> createRow(
|
||||
{required String databaseId,
|
||||
required String tableId,
|
||||
required String rowId,
|
||||
required Map data,
|
||||
List<String>? permissions,
|
||||
String? transactionId}) async {
|
||||
final String apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows'
|
||||
.replaceAll('{databaseId}', databaseId)
|
||||
.replaceAll('{tableId}', tableId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'rowId': rowId,
|
||||
'data': data,
|
||||
'permissions': permissions,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'rowId': rowId,
|
||||
'data': data,
|
||||
'permissions': permissions,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.post, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Row.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.post,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Row.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Get a row by its unique ID. This endpoint response returns a JSON object
|
||||
/// with the row data.
|
||||
Future<models.Row> getRow({required String databaseId, required String tableId, required String rowId, List<String>? queries, String? transactionId}) async {
|
||||
final String apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}'.replaceAll('{databaseId}', databaseId).replaceAll('{tableId}', tableId).replaceAll('{rowId}', rowId);
|
||||
Future<models.Row> getRow(
|
||||
{required String databaseId,
|
||||
required String tableId,
|
||||
required String rowId,
|
||||
List<String>? queries,
|
||||
String? transactionId}) async {
|
||||
final String apiPath =
|
||||
'/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}'
|
||||
.replaceAll('{databaseId}', databaseId)
|
||||
.replaceAll('{tableId}', tableId)
|
||||
.replaceAll('{rowId}', rowId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'queries': queries,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'queries': queries,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Row.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Row.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Create or update a Row. Before using this route, you should create a new
|
||||
/// table resource using either a [server
|
||||
/// integration](https://appwrite.io/docs/references/cloud/server-dart/tablesDB#createTable)
|
||||
/// API or directly from your database console.
|
||||
Future<models.Row> upsertRow({required String databaseId, required String tableId, required String rowId, Map? data, List<String>? permissions, String? transactionId}) async {
|
||||
final String apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}'.replaceAll('{databaseId}', databaseId).replaceAll('{tableId}', tableId).replaceAll('{rowId}', rowId);
|
||||
Future<models.Row> upsertRow(
|
||||
{required String databaseId,
|
||||
required String tableId,
|
||||
required String rowId,
|
||||
Map? data,
|
||||
List<String>? permissions,
|
||||
String? transactionId}) async {
|
||||
final String apiPath =
|
||||
'/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}'
|
||||
.replaceAll('{databaseId}', databaseId)
|
||||
.replaceAll('{tableId}', tableId)
|
||||
.replaceAll('{rowId}', rowId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'data': data,
|
||||
'permissions': permissions,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'data': data,
|
||||
'permissions': permissions,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.put, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Row.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.put,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Row.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Update a row by its unique ID. Using the patch method you can pass only
|
||||
/// specific fields that will get updated.
|
||||
Future<models.Row> updateRow({required String databaseId, required String tableId, required String rowId, Map? data, List<String>? permissions, String? transactionId}) async {
|
||||
final String apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}'.replaceAll('{databaseId}', databaseId).replaceAll('{tableId}', tableId).replaceAll('{rowId}', rowId);
|
||||
Future<models.Row> updateRow(
|
||||
{required String databaseId,
|
||||
required String tableId,
|
||||
required String rowId,
|
||||
Map? data,
|
||||
List<String>? permissions,
|
||||
String? transactionId}) async {
|
||||
final String apiPath =
|
||||
'/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}'
|
||||
.replaceAll('{databaseId}', databaseId)
|
||||
.replaceAll('{tableId}', tableId)
|
||||
.replaceAll('{rowId}', rowId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'data': data,
|
||||
'permissions': permissions,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'data': data,
|
||||
'permissions': permissions,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.patch, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Row.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.patch,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Row.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Delete a row by its unique ID.
|
||||
Future deleteRow({required String databaseId, required String tableId, required String rowId, String? transactionId}) async {
|
||||
final String apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}'.replaceAll('{databaseId}', databaseId).replaceAll('{tableId}', tableId).replaceAll('{rowId}', rowId);
|
||||
Future deleteRow(
|
||||
{required String databaseId,
|
||||
required String tableId,
|
||||
required String rowId,
|
||||
String? transactionId}) async {
|
||||
final String apiPath =
|
||||
'/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}'
|
||||
.replaceAll('{databaseId}', databaseId)
|
||||
.replaceAll('{tableId}', tableId)
|
||||
.replaceAll('{rowId}', rowId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.delete, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return res.data;
|
||||
final res = await client.call(HttpMethod.delete,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return res.data;
|
||||
}
|
||||
|
||||
/// Decrement a specific column of a row by a given value.
|
||||
Future<models.Row> decrementRowColumn({required String databaseId, required String tableId, required String rowId, required String column, double? value, double? min, String? transactionId}) async {
|
||||
final String apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}/{column}/decrement'.replaceAll('{databaseId}', databaseId).replaceAll('{tableId}', tableId).replaceAll('{rowId}', rowId).replaceAll('{column}', column);
|
||||
Future<models.Row> decrementRowColumn(
|
||||
{required String databaseId,
|
||||
required String tableId,
|
||||
required String rowId,
|
||||
required String column,
|
||||
double? value,
|
||||
double? min,
|
||||
String? transactionId}) async {
|
||||
final String apiPath =
|
||||
'/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}/{column}/decrement'
|
||||
.replaceAll('{databaseId}', databaseId)
|
||||
.replaceAll('{tableId}', tableId)
|
||||
.replaceAll('{rowId}', rowId)
|
||||
.replaceAll('{column}', column);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'value': value,
|
||||
'min': min,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'value': value,
|
||||
'min': min,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.patch, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Row.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.patch,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Row.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Increment a specific column of a row by a given value.
|
||||
Future<models.Row> incrementRowColumn({required String databaseId, required String tableId, required String rowId, required String column, double? value, double? max, String? transactionId}) async {
|
||||
final String apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}/{column}/increment'.replaceAll('{databaseId}', databaseId).replaceAll('{tableId}', tableId).replaceAll('{rowId}', rowId).replaceAll('{column}', column);
|
||||
Future<models.Row> incrementRowColumn(
|
||||
{required String databaseId,
|
||||
required String tableId,
|
||||
required String rowId,
|
||||
required String column,
|
||||
double? value,
|
||||
double? max,
|
||||
String? transactionId}) async {
|
||||
final String apiPath =
|
||||
'/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}/{column}/increment'
|
||||
.replaceAll('{databaseId}', databaseId)
|
||||
.replaceAll('{tableId}', tableId)
|
||||
.replaceAll('{rowId}', rowId)
|
||||
.replaceAll('{column}', column);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'value': value,
|
||||
'max': max,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'value': value,
|
||||
'max': max,
|
||||
'transactionId': transactionId,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.patch, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Row.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.patch,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Row.fromMap(res.data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+169
-150
@@ -1,7 +1,7 @@
|
||||
part of '../appwrite.dart';
|
||||
|
||||
/// The Teams service allows you to group users of your project and to enable
|
||||
/// them to share read and write access to your project resources
|
||||
/// The Teams service allows you to group users of your project and to enable
|
||||
/// them to share read and write access to your project resources
|
||||
class Teams extends Service {
|
||||
/// Initializes a [Teams] service
|
||||
Teams(super.client);
|
||||
@@ -11,76 +11,75 @@ class Teams extends Service {
|
||||
Future<models.TeamList> list({List<String>? queries, String? search}) async {
|
||||
const String apiPath = '/teams';
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'queries': queries,
|
||||
'search': search,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'queries': queries,
|
||||
'search': search,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.TeamList.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.TeamList.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Create a new team. The user who creates the team will automatically be
|
||||
/// assigned as the owner of the team. Only the users with the owner role can
|
||||
/// invite new members, add new owners and delete or update the team.
|
||||
Future<models.Team> create({required String teamId, required String name, List<String>? roles}) async {
|
||||
Future<models.Team> create(
|
||||
{required String teamId,
|
||||
required String name,
|
||||
List<String>? roles}) async {
|
||||
const String apiPath = '/teams';
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'teamId': teamId,
|
||||
'name': name,
|
||||
'roles': roles,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'teamId': teamId,
|
||||
'name': name,
|
||||
'roles': roles,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.post, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Team.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.post,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Team.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Get a team by its ID. All team members have read access for this resource.
|
||||
Future<models.Team> get({required String teamId}) async {
|
||||
final String apiPath = '/teams/{teamId}'.replaceAll('{teamId}', teamId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Team.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Team.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Update the team's name by its unique ID.
|
||||
Future<models.Team> updateName({required String teamId, required String name}) async {
|
||||
Future<models.Team> updateName(
|
||||
{required String teamId, required String name}) async {
|
||||
final String apiPath = '/teams/{teamId}'.replaceAll('{teamId}', teamId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'name': name,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'name': name,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.put, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Team.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.put,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Team.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Delete a team using its ID. Only team members with the owner role can
|
||||
@@ -88,38 +87,37 @@ class Teams extends Service {
|
||||
Future delete({required String teamId}) async {
|
||||
final String apiPath = '/teams/{teamId}'.replaceAll('{teamId}', teamId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.delete, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return res.data;
|
||||
final res = await client.call(HttpMethod.delete,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return res.data;
|
||||
}
|
||||
|
||||
/// Use this endpoint to list a team's members using the team's ID. All team
|
||||
/// members have read access to this endpoint. Hide sensitive attributes from
|
||||
/// the response by toggling membership privacy in the Console.
|
||||
Future<models.MembershipList> listMemberships({required String teamId, List<String>? queries, String? search}) async {
|
||||
final String apiPath = '/teams/{teamId}/memberships'.replaceAll('{teamId}', teamId);
|
||||
Future<models.MembershipList> listMemberships(
|
||||
{required String teamId, List<String>? queries, String? search}) async {
|
||||
final String apiPath =
|
||||
'/teams/{teamId}/memberships'.replaceAll('{teamId}', teamId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'queries': queries,
|
||||
'search': search,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'queries': queries,
|
||||
'search': search,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.MembershipList.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.MembershipList.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Invite a new member to join your team. Provide an ID for existing users, or
|
||||
@@ -128,163 +126,184 @@ class Teams extends Service {
|
||||
/// team to the invited user, and an account will be created for them if one
|
||||
/// doesn't exist. If initiated from a Server SDK, the new member will be added
|
||||
/// automatically to the team.
|
||||
///
|
||||
///
|
||||
/// You only need to provide one of a user ID, email, or phone number. Appwrite
|
||||
/// will prioritize accepting the user ID > email > phone number if you provide
|
||||
/// more than one of these parameters.
|
||||
///
|
||||
///
|
||||
/// Use the `url` parameter to redirect the user from the invitation email to
|
||||
/// your app. After the user is redirected, use the [Update Team Membership
|
||||
/// Status](https://appwrite.io/docs/references/cloud/client-web/teams#updateMembershipStatus)
|
||||
/// endpoint to allow the user to accept the invitation to the team.
|
||||
///
|
||||
/// endpoint to allow the user to accept the invitation to the team.
|
||||
///
|
||||
/// Please note that to avoid a [Redirect
|
||||
/// Attack](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md)
|
||||
/// Appwrite will accept the only redirect URLs under the domains you have
|
||||
/// added as a platform on the Appwrite Console.
|
||||
///
|
||||
Future<models.Membership> createMembership({required String teamId, required List<String> roles, String? email, String? userId, String? phone, String? url, String? name}) async {
|
||||
final String apiPath = '/teams/{teamId}/memberships'.replaceAll('{teamId}', teamId);
|
||||
///
|
||||
Future<models.Membership> createMembership(
|
||||
{required String teamId,
|
||||
required List<String> roles,
|
||||
String? email,
|
||||
String? userId,
|
||||
String? phone,
|
||||
String? url,
|
||||
String? name}) async {
|
||||
final String apiPath =
|
||||
'/teams/{teamId}/memberships'.replaceAll('{teamId}', teamId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'email': email,
|
||||
'userId': userId,
|
||||
'phone': phone,
|
||||
'roles': roles,
|
||||
'url': url,
|
||||
'name': name,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'email': email,
|
||||
'userId': userId,
|
||||
'phone': phone,
|
||||
'roles': roles,
|
||||
'url': url,
|
||||
'name': name,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.post, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Membership.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.post,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Membership.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Get a team member by the membership unique id. All team members have read
|
||||
/// access for this resource. Hide sensitive attributes from the response by
|
||||
/// toggling membership privacy in the Console.
|
||||
Future<models.Membership> getMembership({required String teamId, required String membershipId}) async {
|
||||
final String apiPath = '/teams/{teamId}/memberships/{membershipId}'.replaceAll('{teamId}', teamId).replaceAll('{membershipId}', membershipId);
|
||||
Future<models.Membership> getMembership(
|
||||
{required String teamId, required String membershipId}) async {
|
||||
final String apiPath = '/teams/{teamId}/memberships/{membershipId}'
|
||||
.replaceAll('{teamId}', teamId)
|
||||
.replaceAll('{membershipId}', membershipId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Membership.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Membership.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Modify the roles of a team member. Only team members with the owner role
|
||||
/// have access to this endpoint. Learn more about [roles and
|
||||
/// permissions](https://appwrite.io/docs/permissions).
|
||||
///
|
||||
Future<models.Membership> updateMembership({required String teamId, required String membershipId, required List<String> roles}) async {
|
||||
final String apiPath = '/teams/{teamId}/memberships/{membershipId}'.replaceAll('{teamId}', teamId).replaceAll('{membershipId}', membershipId);
|
||||
///
|
||||
Future<models.Membership> updateMembership(
|
||||
{required String teamId,
|
||||
required String membershipId,
|
||||
required List<String> roles}) async {
|
||||
final String apiPath = '/teams/{teamId}/memberships/{membershipId}'
|
||||
.replaceAll('{teamId}', teamId)
|
||||
.replaceAll('{membershipId}', membershipId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'roles': roles,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'roles': roles,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.patch, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Membership.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.patch,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Membership.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// This endpoint allows a user to leave a team or for a team owner to delete
|
||||
/// the membership of any other team member. You can also use this endpoint to
|
||||
/// delete a user membership even if it is not accepted.
|
||||
Future deleteMembership({required String teamId, required String membershipId}) async {
|
||||
final String apiPath = '/teams/{teamId}/memberships/{membershipId}'.replaceAll('{teamId}', teamId).replaceAll('{membershipId}', membershipId);
|
||||
Future deleteMembership(
|
||||
{required String teamId, required String membershipId}) async {
|
||||
final String apiPath = '/teams/{teamId}/memberships/{membershipId}'
|
||||
.replaceAll('{teamId}', teamId)
|
||||
.replaceAll('{membershipId}', membershipId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.delete, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return res.data;
|
||||
final res = await client.call(HttpMethod.delete,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return res.data;
|
||||
}
|
||||
|
||||
/// Use this endpoint to allow a user to accept an invitation to join a team
|
||||
/// after being redirected back to your app from the invitation email received
|
||||
/// by the user.
|
||||
///
|
||||
///
|
||||
/// If the request is successful, a session for the user is automatically
|
||||
/// created.
|
||||
///
|
||||
Future<models.Membership> updateMembershipStatus({required String teamId, required String membershipId, required String userId, required String secret}) async {
|
||||
final String apiPath = '/teams/{teamId}/memberships/{membershipId}/status'.replaceAll('{teamId}', teamId).replaceAll('{membershipId}', membershipId);
|
||||
///
|
||||
Future<models.Membership> updateMembershipStatus(
|
||||
{required String teamId,
|
||||
required String membershipId,
|
||||
required String userId,
|
||||
required String secret}) async {
|
||||
final String apiPath = '/teams/{teamId}/memberships/{membershipId}/status'
|
||||
.replaceAll('{teamId}', teamId)
|
||||
.replaceAll('{membershipId}', membershipId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'userId': userId,
|
||||
'secret': secret,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'userId': userId,
|
||||
'secret': secret,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.patch, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Membership.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.patch,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Membership.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Get the team's shared preferences by its unique ID. If a preference doesn't
|
||||
/// need to be shared by all team members, prefer storing them in [user
|
||||
/// preferences](https://appwrite.io/docs/references/cloud/client-web/account#getPrefs).
|
||||
Future<models.Preferences> getPrefs({required String teamId}) async {
|
||||
final String apiPath = '/teams/{teamId}/prefs'.replaceAll('{teamId}', teamId);
|
||||
final String apiPath =
|
||||
'/teams/{teamId}/prefs'.replaceAll('{teamId}', teamId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
final Map<String, String> apiHeaders = {};
|
||||
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.get, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Preferences.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.get,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Preferences.fromMap(res.data);
|
||||
}
|
||||
|
||||
/// Update the team's preferences by its unique ID. The object you pass is
|
||||
/// stored as is and replaces any previous value. The maximum allowed prefs
|
||||
/// size is 64kB and throws an error if exceeded.
|
||||
Future<models.Preferences> updatePrefs({required String teamId, required Map prefs}) async {
|
||||
final String apiPath = '/teams/{teamId}/prefs'.replaceAll('{teamId}', teamId);
|
||||
Future<models.Preferences> updatePrefs(
|
||||
{required String teamId, required Map prefs}) async {
|
||||
final String apiPath =
|
||||
'/teams/{teamId}/prefs'.replaceAll('{teamId}', teamId);
|
||||
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'prefs': prefs,
|
||||
};
|
||||
final Map<String, dynamic> apiParams = {
|
||||
'prefs': prefs,
|
||||
};
|
||||
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
final Map<String, String> apiHeaders = {
|
||||
'content-type': 'application/json',
|
||||
};
|
||||
|
||||
final res = await client.call(HttpMethod.put, path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Preferences.fromMap(res.data);
|
||||
final res = await client.call(HttpMethod.put,
|
||||
path: apiPath, params: apiParams, headers: apiHeaders);
|
||||
|
||||
return models.Preferences.fromMap(res.data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -27,7 +27,8 @@ abstract class Client {
|
||||
factory Client({
|
||||
String endPoint = 'https://cloud.appwrite.io/v1',
|
||||
bool selfSigned = false,
|
||||
}) => createClient(endPoint: endPoint, selfSigned: selfSigned);
|
||||
}) =>
|
||||
createClient(endPoint: endPoint, selfSigned: selfSigned);
|
||||
|
||||
/// Handle OAuth2 session creation.
|
||||
Future webAuth(Uri url, {String? callbackUrlScheme});
|
||||
|
||||
@@ -6,14 +6,17 @@ abstract class ClientBase implements Client {
|
||||
/// Your project ID
|
||||
@override
|
||||
ClientBase setProject(value);
|
||||
|
||||
/// Your secret JSON Web Token
|
||||
@override
|
||||
ClientBase setJWT(value);
|
||||
@override
|
||||
ClientBase setLocale(value);
|
||||
|
||||
/// The user session to authenticate with
|
||||
@override
|
||||
ClientBase setSession(value);
|
||||
|
||||
/// Your secret dev API key
|
||||
@override
|
||||
ClientBase setDevKey(value);
|
||||
|
||||
@@ -63,6 +63,7 @@ class ClientBrowser extends ClientBase with ClientMixin {
|
||||
addHeader('X-Appwrite-Project', value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/// Your secret JSON Web Token
|
||||
@override
|
||||
ClientBrowser setJWT(value) {
|
||||
@@ -70,12 +71,14 @@ class ClientBrowser extends ClientBase with ClientMixin {
|
||||
addHeader('X-Appwrite-JWT', value);
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
ClientBrowser setLocale(value) {
|
||||
config['locale'] = value;
|
||||
addHeader('X-Appwrite-Locale', value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/// The user session to authenticate with
|
||||
@override
|
||||
ClientBrowser setSession(value) {
|
||||
@@ -83,6 +86,7 @@ class ClientBrowser extends ClientBase with ClientMixin {
|
||||
addHeader('X-Appwrite-Session', value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/// Your secret dev API key
|
||||
@override
|
||||
ClientBrowser setDevKey(value) {
|
||||
|
||||
@@ -89,6 +89,7 @@ class ClientIO extends ClientBase with ClientMixin {
|
||||
addHeader('X-Appwrite-Project', value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/// Your secret JSON Web Token
|
||||
@override
|
||||
ClientIO setJWT(value) {
|
||||
@@ -96,12 +97,14 @@ class ClientIO extends ClientBase with ClientMixin {
|
||||
addHeader('X-Appwrite-JWT', value);
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
ClientIO setLocale(value) {
|
||||
config['locale'] = value;
|
||||
addHeader('X-Appwrite-Locale', value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/// The user session to authenticate with
|
||||
@override
|
||||
ClientIO setSession(value) {
|
||||
@@ -109,6 +112,7 @@ class ClientIO extends ClientBase with ClientMixin {
|
||||
addHeader('X-Appwrite-Session', value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/// Your secret dev API key
|
||||
@override
|
||||
ClientIO setDevKey(value) {
|
||||
|
||||
@@ -40,7 +40,7 @@ mixin ClientMixin {
|
||||
}
|
||||
} else if (method == HttpMethod.get) {
|
||||
if (params.isNotEmpty) {
|
||||
params = params.map((key, value){
|
||||
params = params.map((key, value) {
|
||||
if (value is int || value is double) {
|
||||
return MapEntry(key, value.toString());
|
||||
}
|
||||
@@ -120,9 +120,13 @@ mixin ClientMixin {
|
||||
http.StreamedResponse streamedResponse,
|
||||
) async {
|
||||
if (streamedResponse.statusCode == 204) {
|
||||
return http.Response('',
|
||||
return http.Response(
|
||||
'',
|
||||
streamedResponse.statusCode,
|
||||
headers: streamedResponse.headers.map((k,v) => k.toLowerCase()=='content-type' ? MapEntry(k, 'text/plain') : MapEntry(k,v)),
|
||||
headers: streamedResponse.headers.map((k, v) =>
|
||||
k.toLowerCase() == 'content-type'
|
||||
? MapEntry(k, 'text/plain')
|
||||
: MapEntry(k, v)),
|
||||
request: streamedResponse.request,
|
||||
isRedirect: streamedResponse.isRedirect,
|
||||
persistentConnection: streamedResponse.persistentConnection,
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
part of '../../enums.dart';
|
||||
|
||||
enum AuthenticationFactor {
|
||||
email(value: 'email'),
|
||||
phone(value: 'phone'),
|
||||
totp(value: 'totp'),
|
||||
recoverycode(value: 'recoverycode');
|
||||
email(value: 'email'),
|
||||
phone(value: 'phone'),
|
||||
totp(value: 'totp'),
|
||||
recoverycode(value: 'recoverycode');
|
||||
|
||||
const AuthenticationFactor({
|
||||
required this.value
|
||||
});
|
||||
const AuthenticationFactor({required this.value});
|
||||
|
||||
final String value;
|
||||
final String value;
|
||||
|
||||
String toJson() => value;
|
||||
}
|
||||
String toJson() => value;
|
||||
}
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
part of '../../enums.dart';
|
||||
|
||||
enum AuthenticatorType {
|
||||
totp(value: 'totp');
|
||||
totp(value: 'totp');
|
||||
|
||||
const AuthenticatorType({
|
||||
required this.value
|
||||
});
|
||||
const AuthenticatorType({required this.value});
|
||||
|
||||
final String value;
|
||||
final String value;
|
||||
|
||||
String toJson() => value;
|
||||
}
|
||||
String toJson() => value;
|
||||
}
|
||||
|
||||
+18
-20
@@ -1,26 +1,24 @@
|
||||
part of '../../enums.dart';
|
||||
|
||||
enum Browser {
|
||||
avantBrowser(value: 'aa'),
|
||||
androidWebViewBeta(value: 'an'),
|
||||
googleChrome(value: 'ch'),
|
||||
googleChromeIOS(value: 'ci'),
|
||||
googleChromeMobile(value: 'cm'),
|
||||
chromium(value: 'cr'),
|
||||
mozillaFirefox(value: 'ff'),
|
||||
safari(value: 'sf'),
|
||||
mobileSafari(value: 'mf'),
|
||||
microsoftEdge(value: 'ps'),
|
||||
microsoftEdgeIOS(value: 'oi'),
|
||||
operaMini(value: 'om'),
|
||||
opera(value: 'op'),
|
||||
operaNext(value: 'on');
|
||||
avantBrowser(value: 'aa'),
|
||||
androidWebViewBeta(value: 'an'),
|
||||
googleChrome(value: 'ch'),
|
||||
googleChromeIOS(value: 'ci'),
|
||||
googleChromeMobile(value: 'cm'),
|
||||
chromium(value: 'cr'),
|
||||
mozillaFirefox(value: 'ff'),
|
||||
safari(value: 'sf'),
|
||||
mobileSafari(value: 'mf'),
|
||||
microsoftEdge(value: 'ps'),
|
||||
microsoftEdgeIOS(value: 'oi'),
|
||||
operaMini(value: 'om'),
|
||||
opera(value: 'op'),
|
||||
operaNext(value: 'on');
|
||||
|
||||
const Browser({
|
||||
required this.value
|
||||
});
|
||||
const Browser({required this.value});
|
||||
|
||||
final String value;
|
||||
final String value;
|
||||
|
||||
String toJson() => value;
|
||||
}
|
||||
String toJson() => value;
|
||||
}
|
||||
|
||||
@@ -1,29 +1,27 @@
|
||||
part of '../../enums.dart';
|
||||
|
||||
enum CreditCard {
|
||||
americanExpress(value: 'amex'),
|
||||
argencard(value: 'argencard'),
|
||||
cabal(value: 'cabal'),
|
||||
cencosud(value: 'cencosud'),
|
||||
dinersClub(value: 'diners'),
|
||||
discover(value: 'discover'),
|
||||
elo(value: 'elo'),
|
||||
hipercard(value: 'hipercard'),
|
||||
jCB(value: 'jcb'),
|
||||
mastercard(value: 'mastercard'),
|
||||
naranja(value: 'naranja'),
|
||||
tarjetaShopping(value: 'targeta-shopping'),
|
||||
unionPay(value: 'unionpay'),
|
||||
visa(value: 'visa'),
|
||||
mIR(value: 'mir'),
|
||||
maestro(value: 'maestro'),
|
||||
rupay(value: 'rupay');
|
||||
americanExpress(value: 'amex'),
|
||||
argencard(value: 'argencard'),
|
||||
cabal(value: 'cabal'),
|
||||
cencosud(value: 'cencosud'),
|
||||
dinersClub(value: 'diners'),
|
||||
discover(value: 'discover'),
|
||||
elo(value: 'elo'),
|
||||
hipercard(value: 'hipercard'),
|
||||
jCB(value: 'jcb'),
|
||||
mastercard(value: 'mastercard'),
|
||||
naranja(value: 'naranja'),
|
||||
tarjetaShopping(value: 'targeta-shopping'),
|
||||
unionPay(value: 'unionpay'),
|
||||
visa(value: 'visa'),
|
||||
mIR(value: 'mir'),
|
||||
maestro(value: 'maestro'),
|
||||
rupay(value: 'rupay');
|
||||
|
||||
const CreditCard({
|
||||
required this.value
|
||||
});
|
||||
const CreditCard({required this.value});
|
||||
|
||||
final String value;
|
||||
final String value;
|
||||
|
||||
String toJson() => value;
|
||||
}
|
||||
String toJson() => value;
|
||||
}
|
||||
|
||||
@@ -1,19 +1,17 @@
|
||||
part of '../../enums.dart';
|
||||
|
||||
enum ExecutionMethod {
|
||||
gET(value: 'GET'),
|
||||
pOST(value: 'POST'),
|
||||
pUT(value: 'PUT'),
|
||||
pATCH(value: 'PATCH'),
|
||||
dELETE(value: 'DELETE'),
|
||||
oPTIONS(value: 'OPTIONS'),
|
||||
hEAD(value: 'HEAD');
|
||||
gET(value: 'GET'),
|
||||
pOST(value: 'POST'),
|
||||
pUT(value: 'PUT'),
|
||||
pATCH(value: 'PATCH'),
|
||||
dELETE(value: 'DELETE'),
|
||||
oPTIONS(value: 'OPTIONS'),
|
||||
hEAD(value: 'HEAD');
|
||||
|
||||
const ExecutionMethod({
|
||||
required this.value
|
||||
});
|
||||
const ExecutionMethod({required this.value});
|
||||
|
||||
final String value;
|
||||
final String value;
|
||||
|
||||
String toJson() => value;
|
||||
}
|
||||
String toJson() => value;
|
||||
}
|
||||
|
||||
@@ -1,17 +1,15 @@
|
||||
part of '../../enums.dart';
|
||||
|
||||
enum ExecutionStatus {
|
||||
waiting(value: 'waiting'),
|
||||
processing(value: 'processing'),
|
||||
completed(value: 'completed'),
|
||||
failed(value: 'failed'),
|
||||
scheduled(value: 'scheduled');
|
||||
waiting(value: 'waiting'),
|
||||
processing(value: 'processing'),
|
||||
completed(value: 'completed'),
|
||||
failed(value: 'failed'),
|
||||
scheduled(value: 'scheduled');
|
||||
|
||||
const ExecutionStatus({
|
||||
required this.value
|
||||
});
|
||||
const ExecutionStatus({required this.value});
|
||||
|
||||
final String value;
|
||||
final String value;
|
||||
|
||||
String toJson() => value;
|
||||
}
|
||||
String toJson() => value;
|
||||
}
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
part of '../../enums.dart';
|
||||
|
||||
enum ExecutionTrigger {
|
||||
http(value: 'http'),
|
||||
schedule(value: 'schedule'),
|
||||
event(value: 'event');
|
||||
http(value: 'http'),
|
||||
schedule(value: 'schedule'),
|
||||
event(value: 'event');
|
||||
|
||||
const ExecutionTrigger({
|
||||
required this.value
|
||||
});
|
||||
const ExecutionTrigger({required this.value});
|
||||
|
||||
final String value;
|
||||
final String value;
|
||||
|
||||
String toJson() => value;
|
||||
}
|
||||
String toJson() => value;
|
||||
}
|
||||
|
||||
+199
-201
@@ -1,207 +1,205 @@
|
||||
part of '../../enums.dart';
|
||||
|
||||
enum Flag {
|
||||
afghanistan(value: 'af'),
|
||||
angola(value: 'ao'),
|
||||
albania(value: 'al'),
|
||||
andorra(value: 'ad'),
|
||||
unitedArabEmirates(value: 'ae'),
|
||||
argentina(value: 'ar'),
|
||||
armenia(value: 'am'),
|
||||
antiguaAndBarbuda(value: 'ag'),
|
||||
australia(value: 'au'),
|
||||
austria(value: 'at'),
|
||||
azerbaijan(value: 'az'),
|
||||
burundi(value: 'bi'),
|
||||
belgium(value: 'be'),
|
||||
benin(value: 'bj'),
|
||||
burkinaFaso(value: 'bf'),
|
||||
bangladesh(value: 'bd'),
|
||||
bulgaria(value: 'bg'),
|
||||
bahrain(value: 'bh'),
|
||||
bahamas(value: 'bs'),
|
||||
bosniaAndHerzegovina(value: 'ba'),
|
||||
belarus(value: 'by'),
|
||||
belize(value: 'bz'),
|
||||
bolivia(value: 'bo'),
|
||||
brazil(value: 'br'),
|
||||
barbados(value: 'bb'),
|
||||
bruneiDarussalam(value: 'bn'),
|
||||
bhutan(value: 'bt'),
|
||||
botswana(value: 'bw'),
|
||||
centralAfricanRepublic(value: 'cf'),
|
||||
canada(value: 'ca'),
|
||||
switzerland(value: 'ch'),
|
||||
chile(value: 'cl'),
|
||||
china(value: 'cn'),
|
||||
coteDIvoire(value: 'ci'),
|
||||
cameroon(value: 'cm'),
|
||||
democraticRepublicOfTheCongo(value: 'cd'),
|
||||
republicOfTheCongo(value: 'cg'),
|
||||
colombia(value: 'co'),
|
||||
comoros(value: 'km'),
|
||||
capeVerde(value: 'cv'),
|
||||
costaRica(value: 'cr'),
|
||||
cuba(value: 'cu'),
|
||||
cyprus(value: 'cy'),
|
||||
czechRepublic(value: 'cz'),
|
||||
germany(value: 'de'),
|
||||
djibouti(value: 'dj'),
|
||||
dominica(value: 'dm'),
|
||||
denmark(value: 'dk'),
|
||||
dominicanRepublic(value: 'do'),
|
||||
algeria(value: 'dz'),
|
||||
ecuador(value: 'ec'),
|
||||
egypt(value: 'eg'),
|
||||
eritrea(value: 'er'),
|
||||
spain(value: 'es'),
|
||||
estonia(value: 'ee'),
|
||||
ethiopia(value: 'et'),
|
||||
finland(value: 'fi'),
|
||||
fiji(value: 'fj'),
|
||||
france(value: 'fr'),
|
||||
micronesiaFederatedStatesOf(value: 'fm'),
|
||||
gabon(value: 'ga'),
|
||||
unitedKingdom(value: 'gb'),
|
||||
georgia(value: 'ge'),
|
||||
ghana(value: 'gh'),
|
||||
guinea(value: 'gn'),
|
||||
gambia(value: 'gm'),
|
||||
guineaBissau(value: 'gw'),
|
||||
equatorialGuinea(value: 'gq'),
|
||||
greece(value: 'gr'),
|
||||
grenada(value: 'gd'),
|
||||
guatemala(value: 'gt'),
|
||||
guyana(value: 'gy'),
|
||||
honduras(value: 'hn'),
|
||||
croatia(value: 'hr'),
|
||||
haiti(value: 'ht'),
|
||||
hungary(value: 'hu'),
|
||||
indonesia(value: 'id'),
|
||||
india(value: 'in'),
|
||||
ireland(value: 'ie'),
|
||||
iranIslamicRepublicOf(value: 'ir'),
|
||||
iraq(value: 'iq'),
|
||||
iceland(value: 'is'),
|
||||
israel(value: 'il'),
|
||||
italy(value: 'it'),
|
||||
jamaica(value: 'jm'),
|
||||
jordan(value: 'jo'),
|
||||
japan(value: 'jp'),
|
||||
kazakhstan(value: 'kz'),
|
||||
kenya(value: 'ke'),
|
||||
kyrgyzstan(value: 'kg'),
|
||||
cambodia(value: 'kh'),
|
||||
kiribati(value: 'ki'),
|
||||
saintKittsAndNevis(value: 'kn'),
|
||||
southKorea(value: 'kr'),
|
||||
kuwait(value: 'kw'),
|
||||
laoPeopleSDemocraticRepublic(value: 'la'),
|
||||
lebanon(value: 'lb'),
|
||||
liberia(value: 'lr'),
|
||||
libya(value: 'ly'),
|
||||
saintLucia(value: 'lc'),
|
||||
liechtenstein(value: 'li'),
|
||||
sriLanka(value: 'lk'),
|
||||
lesotho(value: 'ls'),
|
||||
lithuania(value: 'lt'),
|
||||
luxembourg(value: 'lu'),
|
||||
latvia(value: 'lv'),
|
||||
morocco(value: 'ma'),
|
||||
monaco(value: 'mc'),
|
||||
moldova(value: 'md'),
|
||||
madagascar(value: 'mg'),
|
||||
maldives(value: 'mv'),
|
||||
mexico(value: 'mx'),
|
||||
marshallIslands(value: 'mh'),
|
||||
northMacedonia(value: 'mk'),
|
||||
mali(value: 'ml'),
|
||||
malta(value: 'mt'),
|
||||
myanmar(value: 'mm'),
|
||||
montenegro(value: 'me'),
|
||||
mongolia(value: 'mn'),
|
||||
mozambique(value: 'mz'),
|
||||
mauritania(value: 'mr'),
|
||||
mauritius(value: 'mu'),
|
||||
malawi(value: 'mw'),
|
||||
malaysia(value: 'my'),
|
||||
namibia(value: 'na'),
|
||||
niger(value: 'ne'),
|
||||
nigeria(value: 'ng'),
|
||||
nicaragua(value: 'ni'),
|
||||
netherlands(value: 'nl'),
|
||||
norway(value: 'no'),
|
||||
nepal(value: 'np'),
|
||||
nauru(value: 'nr'),
|
||||
newZealand(value: 'nz'),
|
||||
oman(value: 'om'),
|
||||
pakistan(value: 'pk'),
|
||||
panama(value: 'pa'),
|
||||
peru(value: 'pe'),
|
||||
philippines(value: 'ph'),
|
||||
palau(value: 'pw'),
|
||||
papuaNewGuinea(value: 'pg'),
|
||||
poland(value: 'pl'),
|
||||
frenchPolynesia(value: 'pf'),
|
||||
northKorea(value: 'kp'),
|
||||
portugal(value: 'pt'),
|
||||
paraguay(value: 'py'),
|
||||
qatar(value: 'qa'),
|
||||
romania(value: 'ro'),
|
||||
russia(value: 'ru'),
|
||||
rwanda(value: 'rw'),
|
||||
saudiArabia(value: 'sa'),
|
||||
sudan(value: 'sd'),
|
||||
senegal(value: 'sn'),
|
||||
singapore(value: 'sg'),
|
||||
solomonIslands(value: 'sb'),
|
||||
sierraLeone(value: 'sl'),
|
||||
elSalvador(value: 'sv'),
|
||||
sanMarino(value: 'sm'),
|
||||
somalia(value: 'so'),
|
||||
serbia(value: 'rs'),
|
||||
southSudan(value: 'ss'),
|
||||
saoTomeAndPrincipe(value: 'st'),
|
||||
suriname(value: 'sr'),
|
||||
slovakia(value: 'sk'),
|
||||
slovenia(value: 'si'),
|
||||
sweden(value: 'se'),
|
||||
eswatini(value: 'sz'),
|
||||
seychelles(value: 'sc'),
|
||||
syria(value: 'sy'),
|
||||
chad(value: 'td'),
|
||||
togo(value: 'tg'),
|
||||
thailand(value: 'th'),
|
||||
tajikistan(value: 'tj'),
|
||||
turkmenistan(value: 'tm'),
|
||||
timorLeste(value: 'tl'),
|
||||
tonga(value: 'to'),
|
||||
trinidadAndTobago(value: 'tt'),
|
||||
tunisia(value: 'tn'),
|
||||
turkey(value: 'tr'),
|
||||
tuvalu(value: 'tv'),
|
||||
tanzania(value: 'tz'),
|
||||
uganda(value: 'ug'),
|
||||
ukraine(value: 'ua'),
|
||||
uruguay(value: 'uy'),
|
||||
unitedStates(value: 'us'),
|
||||
uzbekistan(value: 'uz'),
|
||||
vaticanCity(value: 'va'),
|
||||
saintVincentAndTheGrenadines(value: 'vc'),
|
||||
venezuela(value: 've'),
|
||||
vietnam(value: 'vn'),
|
||||
vanuatu(value: 'vu'),
|
||||
samoa(value: 'ws'),
|
||||
yemen(value: 'ye'),
|
||||
southAfrica(value: 'za'),
|
||||
zambia(value: 'zm'),
|
||||
zimbabwe(value: 'zw');
|
||||
afghanistan(value: 'af'),
|
||||
angola(value: 'ao'),
|
||||
albania(value: 'al'),
|
||||
andorra(value: 'ad'),
|
||||
unitedArabEmirates(value: 'ae'),
|
||||
argentina(value: 'ar'),
|
||||
armenia(value: 'am'),
|
||||
antiguaAndBarbuda(value: 'ag'),
|
||||
australia(value: 'au'),
|
||||
austria(value: 'at'),
|
||||
azerbaijan(value: 'az'),
|
||||
burundi(value: 'bi'),
|
||||
belgium(value: 'be'),
|
||||
benin(value: 'bj'),
|
||||
burkinaFaso(value: 'bf'),
|
||||
bangladesh(value: 'bd'),
|
||||
bulgaria(value: 'bg'),
|
||||
bahrain(value: 'bh'),
|
||||
bahamas(value: 'bs'),
|
||||
bosniaAndHerzegovina(value: 'ba'),
|
||||
belarus(value: 'by'),
|
||||
belize(value: 'bz'),
|
||||
bolivia(value: 'bo'),
|
||||
brazil(value: 'br'),
|
||||
barbados(value: 'bb'),
|
||||
bruneiDarussalam(value: 'bn'),
|
||||
bhutan(value: 'bt'),
|
||||
botswana(value: 'bw'),
|
||||
centralAfricanRepublic(value: 'cf'),
|
||||
canada(value: 'ca'),
|
||||
switzerland(value: 'ch'),
|
||||
chile(value: 'cl'),
|
||||
china(value: 'cn'),
|
||||
coteDIvoire(value: 'ci'),
|
||||
cameroon(value: 'cm'),
|
||||
democraticRepublicOfTheCongo(value: 'cd'),
|
||||
republicOfTheCongo(value: 'cg'),
|
||||
colombia(value: 'co'),
|
||||
comoros(value: 'km'),
|
||||
capeVerde(value: 'cv'),
|
||||
costaRica(value: 'cr'),
|
||||
cuba(value: 'cu'),
|
||||
cyprus(value: 'cy'),
|
||||
czechRepublic(value: 'cz'),
|
||||
germany(value: 'de'),
|
||||
djibouti(value: 'dj'),
|
||||
dominica(value: 'dm'),
|
||||
denmark(value: 'dk'),
|
||||
dominicanRepublic(value: 'do'),
|
||||
algeria(value: 'dz'),
|
||||
ecuador(value: 'ec'),
|
||||
egypt(value: 'eg'),
|
||||
eritrea(value: 'er'),
|
||||
spain(value: 'es'),
|
||||
estonia(value: 'ee'),
|
||||
ethiopia(value: 'et'),
|
||||
finland(value: 'fi'),
|
||||
fiji(value: 'fj'),
|
||||
france(value: 'fr'),
|
||||
micronesiaFederatedStatesOf(value: 'fm'),
|
||||
gabon(value: 'ga'),
|
||||
unitedKingdom(value: 'gb'),
|
||||
georgia(value: 'ge'),
|
||||
ghana(value: 'gh'),
|
||||
guinea(value: 'gn'),
|
||||
gambia(value: 'gm'),
|
||||
guineaBissau(value: 'gw'),
|
||||
equatorialGuinea(value: 'gq'),
|
||||
greece(value: 'gr'),
|
||||
grenada(value: 'gd'),
|
||||
guatemala(value: 'gt'),
|
||||
guyana(value: 'gy'),
|
||||
honduras(value: 'hn'),
|
||||
croatia(value: 'hr'),
|
||||
haiti(value: 'ht'),
|
||||
hungary(value: 'hu'),
|
||||
indonesia(value: 'id'),
|
||||
india(value: 'in'),
|
||||
ireland(value: 'ie'),
|
||||
iranIslamicRepublicOf(value: 'ir'),
|
||||
iraq(value: 'iq'),
|
||||
iceland(value: 'is'),
|
||||
israel(value: 'il'),
|
||||
italy(value: 'it'),
|
||||
jamaica(value: 'jm'),
|
||||
jordan(value: 'jo'),
|
||||
japan(value: 'jp'),
|
||||
kazakhstan(value: 'kz'),
|
||||
kenya(value: 'ke'),
|
||||
kyrgyzstan(value: 'kg'),
|
||||
cambodia(value: 'kh'),
|
||||
kiribati(value: 'ki'),
|
||||
saintKittsAndNevis(value: 'kn'),
|
||||
southKorea(value: 'kr'),
|
||||
kuwait(value: 'kw'),
|
||||
laoPeopleSDemocraticRepublic(value: 'la'),
|
||||
lebanon(value: 'lb'),
|
||||
liberia(value: 'lr'),
|
||||
libya(value: 'ly'),
|
||||
saintLucia(value: 'lc'),
|
||||
liechtenstein(value: 'li'),
|
||||
sriLanka(value: 'lk'),
|
||||
lesotho(value: 'ls'),
|
||||
lithuania(value: 'lt'),
|
||||
luxembourg(value: 'lu'),
|
||||
latvia(value: 'lv'),
|
||||
morocco(value: 'ma'),
|
||||
monaco(value: 'mc'),
|
||||
moldova(value: 'md'),
|
||||
madagascar(value: 'mg'),
|
||||
maldives(value: 'mv'),
|
||||
mexico(value: 'mx'),
|
||||
marshallIslands(value: 'mh'),
|
||||
northMacedonia(value: 'mk'),
|
||||
mali(value: 'ml'),
|
||||
malta(value: 'mt'),
|
||||
myanmar(value: 'mm'),
|
||||
montenegro(value: 'me'),
|
||||
mongolia(value: 'mn'),
|
||||
mozambique(value: 'mz'),
|
||||
mauritania(value: 'mr'),
|
||||
mauritius(value: 'mu'),
|
||||
malawi(value: 'mw'),
|
||||
malaysia(value: 'my'),
|
||||
namibia(value: 'na'),
|
||||
niger(value: 'ne'),
|
||||
nigeria(value: 'ng'),
|
||||
nicaragua(value: 'ni'),
|
||||
netherlands(value: 'nl'),
|
||||
norway(value: 'no'),
|
||||
nepal(value: 'np'),
|
||||
nauru(value: 'nr'),
|
||||
newZealand(value: 'nz'),
|
||||
oman(value: 'om'),
|
||||
pakistan(value: 'pk'),
|
||||
panama(value: 'pa'),
|
||||
peru(value: 'pe'),
|
||||
philippines(value: 'ph'),
|
||||
palau(value: 'pw'),
|
||||
papuaNewGuinea(value: 'pg'),
|
||||
poland(value: 'pl'),
|
||||
frenchPolynesia(value: 'pf'),
|
||||
northKorea(value: 'kp'),
|
||||
portugal(value: 'pt'),
|
||||
paraguay(value: 'py'),
|
||||
qatar(value: 'qa'),
|
||||
romania(value: 'ro'),
|
||||
russia(value: 'ru'),
|
||||
rwanda(value: 'rw'),
|
||||
saudiArabia(value: 'sa'),
|
||||
sudan(value: 'sd'),
|
||||
senegal(value: 'sn'),
|
||||
singapore(value: 'sg'),
|
||||
solomonIslands(value: 'sb'),
|
||||
sierraLeone(value: 'sl'),
|
||||
elSalvador(value: 'sv'),
|
||||
sanMarino(value: 'sm'),
|
||||
somalia(value: 'so'),
|
||||
serbia(value: 'rs'),
|
||||
southSudan(value: 'ss'),
|
||||
saoTomeAndPrincipe(value: 'st'),
|
||||
suriname(value: 'sr'),
|
||||
slovakia(value: 'sk'),
|
||||
slovenia(value: 'si'),
|
||||
sweden(value: 'se'),
|
||||
eswatini(value: 'sz'),
|
||||
seychelles(value: 'sc'),
|
||||
syria(value: 'sy'),
|
||||
chad(value: 'td'),
|
||||
togo(value: 'tg'),
|
||||
thailand(value: 'th'),
|
||||
tajikistan(value: 'tj'),
|
||||
turkmenistan(value: 'tm'),
|
||||
timorLeste(value: 'tl'),
|
||||
tonga(value: 'to'),
|
||||
trinidadAndTobago(value: 'tt'),
|
||||
tunisia(value: 'tn'),
|
||||
turkey(value: 'tr'),
|
||||
tuvalu(value: 'tv'),
|
||||
tanzania(value: 'tz'),
|
||||
uganda(value: 'ug'),
|
||||
ukraine(value: 'ua'),
|
||||
uruguay(value: 'uy'),
|
||||
unitedStates(value: 'us'),
|
||||
uzbekistan(value: 'uz'),
|
||||
vaticanCity(value: 'va'),
|
||||
saintVincentAndTheGrenadines(value: 'vc'),
|
||||
venezuela(value: 've'),
|
||||
vietnam(value: 'vn'),
|
||||
vanuatu(value: 'vu'),
|
||||
samoa(value: 'ws'),
|
||||
yemen(value: 'ye'),
|
||||
southAfrica(value: 'za'),
|
||||
zambia(value: 'zm'),
|
||||
zimbabwe(value: 'zw');
|
||||
|
||||
const Flag({
|
||||
required this.value
|
||||
});
|
||||
const Flag({required this.value});
|
||||
|
||||
final String value;
|
||||
final String value;
|
||||
|
||||
String toJson() => value;
|
||||
}
|
||||
String toJson() => value;
|
||||
}
|
||||
|
||||
@@ -1,19 +1,17 @@
|
||||
part of '../../enums.dart';
|
||||
|
||||
enum ImageFormat {
|
||||
jpg(value: 'jpg'),
|
||||
jpeg(value: 'jpeg'),
|
||||
png(value: 'png'),
|
||||
webp(value: 'webp'),
|
||||
heic(value: 'heic'),
|
||||
avif(value: 'avif'),
|
||||
gif(value: 'gif');
|
||||
jpg(value: 'jpg'),
|
||||
jpeg(value: 'jpeg'),
|
||||
png(value: 'png'),
|
||||
webp(value: 'webp'),
|
||||
heic(value: 'heic'),
|
||||
avif(value: 'avif'),
|
||||
gif(value: 'gif');
|
||||
|
||||
const ImageFormat({
|
||||
required this.value
|
||||
});
|
||||
const ImageFormat({required this.value});
|
||||
|
||||
final String value;
|
||||
final String value;
|
||||
|
||||
String toJson() => value;
|
||||
}
|
||||
String toJson() => value;
|
||||
}
|
||||
|
||||
@@ -1,21 +1,19 @@
|
||||
part of '../../enums.dart';
|
||||
|
||||
enum ImageGravity {
|
||||
center(value: 'center'),
|
||||
topLeft(value: 'top-left'),
|
||||
top(value: 'top'),
|
||||
topRight(value: 'top-right'),
|
||||
left(value: 'left'),
|
||||
right(value: 'right'),
|
||||
bottomLeft(value: 'bottom-left'),
|
||||
bottom(value: 'bottom'),
|
||||
bottomRight(value: 'bottom-right');
|
||||
center(value: 'center'),
|
||||
topLeft(value: 'top-left'),
|
||||
top(value: 'top'),
|
||||
topRight(value: 'top-right'),
|
||||
left(value: 'left'),
|
||||
right(value: 'right'),
|
||||
bottomLeft(value: 'bottom-left'),
|
||||
bottom(value: 'bottom'),
|
||||
bottomRight(value: 'bottom-right');
|
||||
|
||||
const ImageGravity({
|
||||
required this.value
|
||||
});
|
||||
const ImageGravity({required this.value});
|
||||
|
||||
final String value;
|
||||
final String value;
|
||||
|
||||
String toJson() => value;
|
||||
}
|
||||
String toJson() => value;
|
||||
}
|
||||
|
||||
@@ -1,52 +1,50 @@
|
||||
part of '../../enums.dart';
|
||||
|
||||
enum OAuthProvider {
|
||||
amazon(value: 'amazon'),
|
||||
apple(value: 'apple'),
|
||||
auth0(value: 'auth0'),
|
||||
authentik(value: 'authentik'),
|
||||
autodesk(value: 'autodesk'),
|
||||
bitbucket(value: 'bitbucket'),
|
||||
bitly(value: 'bitly'),
|
||||
box(value: 'box'),
|
||||
dailymotion(value: 'dailymotion'),
|
||||
discord(value: 'discord'),
|
||||
disqus(value: 'disqus'),
|
||||
dropbox(value: 'dropbox'),
|
||||
etsy(value: 'etsy'),
|
||||
facebook(value: 'facebook'),
|
||||
figma(value: 'figma'),
|
||||
github(value: 'github'),
|
||||
gitlab(value: 'gitlab'),
|
||||
google(value: 'google'),
|
||||
linkedin(value: 'linkedin'),
|
||||
microsoft(value: 'microsoft'),
|
||||
notion(value: 'notion'),
|
||||
oidc(value: 'oidc'),
|
||||
okta(value: 'okta'),
|
||||
paypal(value: 'paypal'),
|
||||
paypalSandbox(value: 'paypalSandbox'),
|
||||
podio(value: 'podio'),
|
||||
salesforce(value: 'salesforce'),
|
||||
slack(value: 'slack'),
|
||||
spotify(value: 'spotify'),
|
||||
stripe(value: 'stripe'),
|
||||
tradeshift(value: 'tradeshift'),
|
||||
tradeshiftBox(value: 'tradeshiftBox'),
|
||||
twitch(value: 'twitch'),
|
||||
wordpress(value: 'wordpress'),
|
||||
yahoo(value: 'yahoo'),
|
||||
yammer(value: 'yammer'),
|
||||
yandex(value: 'yandex'),
|
||||
zoho(value: 'zoho'),
|
||||
zoom(value: 'zoom'),
|
||||
mock(value: 'mock');
|
||||
amazon(value: 'amazon'),
|
||||
apple(value: 'apple'),
|
||||
auth0(value: 'auth0'),
|
||||
authentik(value: 'authentik'),
|
||||
autodesk(value: 'autodesk'),
|
||||
bitbucket(value: 'bitbucket'),
|
||||
bitly(value: 'bitly'),
|
||||
box(value: 'box'),
|
||||
dailymotion(value: 'dailymotion'),
|
||||
discord(value: 'discord'),
|
||||
disqus(value: 'disqus'),
|
||||
dropbox(value: 'dropbox'),
|
||||
etsy(value: 'etsy'),
|
||||
facebook(value: 'facebook'),
|
||||
figma(value: 'figma'),
|
||||
github(value: 'github'),
|
||||
gitlab(value: 'gitlab'),
|
||||
google(value: 'google'),
|
||||
linkedin(value: 'linkedin'),
|
||||
microsoft(value: 'microsoft'),
|
||||
notion(value: 'notion'),
|
||||
oidc(value: 'oidc'),
|
||||
okta(value: 'okta'),
|
||||
paypal(value: 'paypal'),
|
||||
paypalSandbox(value: 'paypalSandbox'),
|
||||
podio(value: 'podio'),
|
||||
salesforce(value: 'salesforce'),
|
||||
slack(value: 'slack'),
|
||||
spotify(value: 'spotify'),
|
||||
stripe(value: 'stripe'),
|
||||
tradeshift(value: 'tradeshift'),
|
||||
tradeshiftBox(value: 'tradeshiftBox'),
|
||||
twitch(value: 'twitch'),
|
||||
wordpress(value: 'wordpress'),
|
||||
yahoo(value: 'yahoo'),
|
||||
yammer(value: 'yammer'),
|
||||
yandex(value: 'yandex'),
|
||||
zoho(value: 'zoho'),
|
||||
zoom(value: 'zoom'),
|
||||
mock(value: 'mock');
|
||||
|
||||
const OAuthProvider({
|
||||
required this.value
|
||||
});
|
||||
const OAuthProvider({required this.value});
|
||||
|
||||
final String value;
|
||||
final String value;
|
||||
|
||||
String toJson() => value;
|
||||
}
|
||||
String toJson() => value;
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ class AppwriteException implements Exception {
|
||||
|
||||
/// Initializes an Appwrite Exception.
|
||||
AppwriteException([this.message = "", this.code, this.type, this.response]);
|
||||
|
||||
|
||||
/// Returns the error type, message, and code.
|
||||
@override
|
||||
String toString() {
|
||||
|
||||
@@ -2,41 +2,41 @@ part of '../../models.dart';
|
||||
|
||||
/// AlgoArgon2
|
||||
class AlgoArgon2 implements Model {
|
||||
/// Algo type.
|
||||
final String type;
|
||||
/// Algo type.
|
||||
final String type;
|
||||
|
||||
/// Memory used to compute hash.
|
||||
final int memoryCost;
|
||||
/// Memory used to compute hash.
|
||||
final int memoryCost;
|
||||
|
||||
/// Amount of time consumed to compute hash
|
||||
final int timeCost;
|
||||
/// Amount of time consumed to compute hash
|
||||
final int timeCost;
|
||||
|
||||
/// Number of threads used to compute hash.
|
||||
final int threads;
|
||||
/// Number of threads used to compute hash.
|
||||
final int threads;
|
||||
|
||||
AlgoArgon2({
|
||||
required this.type,
|
||||
required this.memoryCost,
|
||||
required this.timeCost,
|
||||
required this.threads,
|
||||
});
|
||||
AlgoArgon2({
|
||||
required this.type,
|
||||
required this.memoryCost,
|
||||
required this.timeCost,
|
||||
required this.threads,
|
||||
});
|
||||
|
||||
factory AlgoArgon2.fromMap(Map<String, dynamic> map) {
|
||||
return AlgoArgon2(
|
||||
type: map['type'].toString(),
|
||||
memoryCost: map['memoryCost'],
|
||||
timeCost: map['timeCost'],
|
||||
threads: map['threads'],
|
||||
);
|
||||
}
|
||||
factory AlgoArgon2.fromMap(Map<String, dynamic> map) {
|
||||
return AlgoArgon2(
|
||||
type: map['type'].toString(),
|
||||
memoryCost: map['memoryCost'],
|
||||
timeCost: map['timeCost'],
|
||||
threads: map['threads'],
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"type": type,
|
||||
"memoryCost": memoryCost,
|
||||
"timeCost": timeCost,
|
||||
"threads": threads,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"type": type,
|
||||
"memoryCost": memoryCost,
|
||||
"timeCost": timeCost,
|
||||
"threads": threads,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,23 +2,23 @@ part of '../../models.dart';
|
||||
|
||||
/// AlgoBcrypt
|
||||
class AlgoBcrypt implements Model {
|
||||
/// Algo type.
|
||||
final String type;
|
||||
/// Algo type.
|
||||
final String type;
|
||||
|
||||
AlgoBcrypt({
|
||||
required this.type,
|
||||
});
|
||||
AlgoBcrypt({
|
||||
required this.type,
|
||||
});
|
||||
|
||||
factory AlgoBcrypt.fromMap(Map<String, dynamic> map) {
|
||||
return AlgoBcrypt(
|
||||
type: map['type'].toString(),
|
||||
);
|
||||
}
|
||||
factory AlgoBcrypt.fromMap(Map<String, dynamic> map) {
|
||||
return AlgoBcrypt(
|
||||
type: map['type'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"type": type,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"type": type,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,23 +2,23 @@ part of '../../models.dart';
|
||||
|
||||
/// AlgoMD5
|
||||
class AlgoMd5 implements Model {
|
||||
/// Algo type.
|
||||
final String type;
|
||||
/// Algo type.
|
||||
final String type;
|
||||
|
||||
AlgoMd5({
|
||||
required this.type,
|
||||
});
|
||||
AlgoMd5({
|
||||
required this.type,
|
||||
});
|
||||
|
||||
factory AlgoMd5.fromMap(Map<String, dynamic> map) {
|
||||
return AlgoMd5(
|
||||
type: map['type'].toString(),
|
||||
);
|
||||
}
|
||||
factory AlgoMd5.fromMap(Map<String, dynamic> map) {
|
||||
return AlgoMd5(
|
||||
type: map['type'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"type": type,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"type": type,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,23 +2,23 @@ part of '../../models.dart';
|
||||
|
||||
/// AlgoPHPass
|
||||
class AlgoPhpass implements Model {
|
||||
/// Algo type.
|
||||
final String type;
|
||||
/// Algo type.
|
||||
final String type;
|
||||
|
||||
AlgoPhpass({
|
||||
required this.type,
|
||||
});
|
||||
AlgoPhpass({
|
||||
required this.type,
|
||||
});
|
||||
|
||||
factory AlgoPhpass.fromMap(Map<String, dynamic> map) {
|
||||
return AlgoPhpass(
|
||||
type: map['type'].toString(),
|
||||
);
|
||||
}
|
||||
factory AlgoPhpass.fromMap(Map<String, dynamic> map) {
|
||||
return AlgoPhpass(
|
||||
type: map['type'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"type": type,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"type": type,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,47 +2,47 @@ part of '../../models.dart';
|
||||
|
||||
/// AlgoScrypt
|
||||
class AlgoScrypt implements Model {
|
||||
/// Algo type.
|
||||
final String type;
|
||||
/// Algo type.
|
||||
final String type;
|
||||
|
||||
/// CPU complexity of computed hash.
|
||||
final int costCpu;
|
||||
/// CPU complexity of computed hash.
|
||||
final int costCpu;
|
||||
|
||||
/// Memory complexity of computed hash.
|
||||
final int costMemory;
|
||||
/// Memory complexity of computed hash.
|
||||
final int costMemory;
|
||||
|
||||
/// Parallelization of computed hash.
|
||||
final int costParallel;
|
||||
/// Parallelization of computed hash.
|
||||
final int costParallel;
|
||||
|
||||
/// Length used to compute hash.
|
||||
final int length;
|
||||
/// Length used to compute hash.
|
||||
final int length;
|
||||
|
||||
AlgoScrypt({
|
||||
required this.type,
|
||||
required this.costCpu,
|
||||
required this.costMemory,
|
||||
required this.costParallel,
|
||||
required this.length,
|
||||
});
|
||||
AlgoScrypt({
|
||||
required this.type,
|
||||
required this.costCpu,
|
||||
required this.costMemory,
|
||||
required this.costParallel,
|
||||
required this.length,
|
||||
});
|
||||
|
||||
factory AlgoScrypt.fromMap(Map<String, dynamic> map) {
|
||||
return AlgoScrypt(
|
||||
type: map['type'].toString(),
|
||||
costCpu: map['costCpu'],
|
||||
costMemory: map['costMemory'],
|
||||
costParallel: map['costParallel'],
|
||||
length: map['length'],
|
||||
);
|
||||
}
|
||||
factory AlgoScrypt.fromMap(Map<String, dynamic> map) {
|
||||
return AlgoScrypt(
|
||||
type: map['type'].toString(),
|
||||
costCpu: map['costCpu'],
|
||||
costMemory: map['costMemory'],
|
||||
costParallel: map['costParallel'],
|
||||
length: map['length'],
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"type": type,
|
||||
"costCpu": costCpu,
|
||||
"costMemory": costMemory,
|
||||
"costParallel": costParallel,
|
||||
"length": length,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"type": type,
|
||||
"costCpu": costCpu,
|
||||
"costMemory": costMemory,
|
||||
"costParallel": costParallel,
|
||||
"length": length,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,41 +2,41 @@ part of '../../models.dart';
|
||||
|
||||
/// AlgoScryptModified
|
||||
class AlgoScryptModified implements Model {
|
||||
/// Algo type.
|
||||
final String type;
|
||||
/// Algo type.
|
||||
final String type;
|
||||
|
||||
/// Salt used to compute hash.
|
||||
final String salt;
|
||||
/// Salt used to compute hash.
|
||||
final String salt;
|
||||
|
||||
/// Separator used to compute hash.
|
||||
final String saltSeparator;
|
||||
/// Separator used to compute hash.
|
||||
final String saltSeparator;
|
||||
|
||||
/// Key used to compute hash.
|
||||
final String signerKey;
|
||||
/// Key used to compute hash.
|
||||
final String signerKey;
|
||||
|
||||
AlgoScryptModified({
|
||||
required this.type,
|
||||
required this.salt,
|
||||
required this.saltSeparator,
|
||||
required this.signerKey,
|
||||
});
|
||||
AlgoScryptModified({
|
||||
required this.type,
|
||||
required this.salt,
|
||||
required this.saltSeparator,
|
||||
required this.signerKey,
|
||||
});
|
||||
|
||||
factory AlgoScryptModified.fromMap(Map<String, dynamic> map) {
|
||||
return AlgoScryptModified(
|
||||
type: map['type'].toString(),
|
||||
salt: map['salt'].toString(),
|
||||
saltSeparator: map['saltSeparator'].toString(),
|
||||
signerKey: map['signerKey'].toString(),
|
||||
);
|
||||
}
|
||||
factory AlgoScryptModified.fromMap(Map<String, dynamic> map) {
|
||||
return AlgoScryptModified(
|
||||
type: map['type'].toString(),
|
||||
salt: map['salt'].toString(),
|
||||
saltSeparator: map['saltSeparator'].toString(),
|
||||
signerKey: map['signerKey'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"type": type,
|
||||
"salt": salt,
|
||||
"saltSeparator": saltSeparator,
|
||||
"signerKey": signerKey,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"type": type,
|
||||
"salt": salt,
|
||||
"saltSeparator": saltSeparator,
|
||||
"signerKey": signerKey,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,23 +2,23 @@ part of '../../models.dart';
|
||||
|
||||
/// AlgoSHA
|
||||
class AlgoSha implements Model {
|
||||
/// Algo type.
|
||||
final String type;
|
||||
/// Algo type.
|
||||
final String type;
|
||||
|
||||
AlgoSha({
|
||||
required this.type,
|
||||
});
|
||||
AlgoSha({
|
||||
required this.type,
|
||||
});
|
||||
|
||||
factory AlgoSha.fromMap(Map<String, dynamic> map) {
|
||||
return AlgoSha(
|
||||
type: map['type'].toString(),
|
||||
);
|
||||
}
|
||||
factory AlgoSha.fromMap(Map<String, dynamic> map) {
|
||||
return AlgoSha(
|
||||
type: map['type'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"type": type,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"type": type,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,29 +2,29 @@ part of '../../models.dart';
|
||||
|
||||
/// Continent
|
||||
class Continent implements Model {
|
||||
/// Continent name.
|
||||
final String name;
|
||||
/// Continent name.
|
||||
final String name;
|
||||
|
||||
/// Continent two letter code.
|
||||
final String code;
|
||||
/// Continent two letter code.
|
||||
final String code;
|
||||
|
||||
Continent({
|
||||
required this.name,
|
||||
required this.code,
|
||||
});
|
||||
Continent({
|
||||
required this.name,
|
||||
required this.code,
|
||||
});
|
||||
|
||||
factory Continent.fromMap(Map<String, dynamic> map) {
|
||||
return Continent(
|
||||
name: map['name'].toString(),
|
||||
code: map['code'].toString(),
|
||||
);
|
||||
}
|
||||
factory Continent.fromMap(Map<String, dynamic> map) {
|
||||
return Continent(
|
||||
name: map['name'].toString(),
|
||||
code: map['code'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"name": name,
|
||||
"code": code,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"name": name,
|
||||
"code": code,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,29 +2,30 @@ part of '../../models.dart';
|
||||
|
||||
/// Continents List
|
||||
class ContinentList implements Model {
|
||||
/// Total number of continents that matched your query.
|
||||
final int total;
|
||||
/// Total number of continents that matched your query.
|
||||
final int total;
|
||||
|
||||
/// List of continents.
|
||||
final List<Continent> continents;
|
||||
/// List of continents.
|
||||
final List<Continent> continents;
|
||||
|
||||
ContinentList({
|
||||
required this.total,
|
||||
required this.continents,
|
||||
});
|
||||
ContinentList({
|
||||
required this.total,
|
||||
required this.continents,
|
||||
});
|
||||
|
||||
factory ContinentList.fromMap(Map<String, dynamic> map) {
|
||||
return ContinentList(
|
||||
total: map['total'],
|
||||
continents: List<Continent>.from(map['continents'].map((p) => Continent.fromMap(p))),
|
||||
);
|
||||
}
|
||||
factory ContinentList.fromMap(Map<String, dynamic> map) {
|
||||
return ContinentList(
|
||||
total: map['total'],
|
||||
continents: List<Continent>.from(
|
||||
map['continents'].map((p) => Continent.fromMap(p))),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"continents": continents.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"continents": continents.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
+21
-21
@@ -2,29 +2,29 @@ part of '../../models.dart';
|
||||
|
||||
/// Country
|
||||
class Country implements Model {
|
||||
/// Country name.
|
||||
final String name;
|
||||
/// Country name.
|
||||
final String name;
|
||||
|
||||
/// Country two-character ISO 3166-1 alpha code.
|
||||
final String code;
|
||||
/// Country two-character ISO 3166-1 alpha code.
|
||||
final String code;
|
||||
|
||||
Country({
|
||||
required this.name,
|
||||
required this.code,
|
||||
});
|
||||
Country({
|
||||
required this.name,
|
||||
required this.code,
|
||||
});
|
||||
|
||||
factory Country.fromMap(Map<String, dynamic> map) {
|
||||
return Country(
|
||||
name: map['name'].toString(),
|
||||
code: map['code'].toString(),
|
||||
);
|
||||
}
|
||||
factory Country.fromMap(Map<String, dynamic> map) {
|
||||
return Country(
|
||||
name: map['name'].toString(),
|
||||
code: map['code'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"name": name,
|
||||
"code": code,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"name": name,
|
||||
"code": code,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,29 +2,30 @@ part of '../../models.dart';
|
||||
|
||||
/// Countries List
|
||||
class CountryList implements Model {
|
||||
/// Total number of countries that matched your query.
|
||||
final int total;
|
||||
/// Total number of countries that matched your query.
|
||||
final int total;
|
||||
|
||||
/// List of countries.
|
||||
final List<Country> countries;
|
||||
/// List of countries.
|
||||
final List<Country> countries;
|
||||
|
||||
CountryList({
|
||||
required this.total,
|
||||
required this.countries,
|
||||
});
|
||||
CountryList({
|
||||
required this.total,
|
||||
required this.countries,
|
||||
});
|
||||
|
||||
factory CountryList.fromMap(Map<String, dynamic> map) {
|
||||
return CountryList(
|
||||
total: map['total'],
|
||||
countries: List<Country>.from(map['countries'].map((p) => Country.fromMap(p))),
|
||||
);
|
||||
}
|
||||
factory CountryList.fromMap(Map<String, dynamic> map) {
|
||||
return CountryList(
|
||||
total: map['total'],
|
||||
countries:
|
||||
List<Country>.from(map['countries'].map((p) => Country.fromMap(p))),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"countries": countries.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"countries": countries.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,59 +2,59 @@ part of '../../models.dart';
|
||||
|
||||
/// Currency
|
||||
class Currency implements Model {
|
||||
/// Currency symbol.
|
||||
final String symbol;
|
||||
/// Currency symbol.
|
||||
final String symbol;
|
||||
|
||||
/// Currency name.
|
||||
final String name;
|
||||
/// Currency name.
|
||||
final String name;
|
||||
|
||||
/// Currency native symbol.
|
||||
final String symbolNative;
|
||||
/// Currency native symbol.
|
||||
final String symbolNative;
|
||||
|
||||
/// Number of decimal digits.
|
||||
final int decimalDigits;
|
||||
/// Number of decimal digits.
|
||||
final int decimalDigits;
|
||||
|
||||
/// Currency digit rounding.
|
||||
final double rounding;
|
||||
/// Currency digit rounding.
|
||||
final double rounding;
|
||||
|
||||
/// Currency code in [ISO 4217-1](http://en.wikipedia.org/wiki/ISO_4217) three-character format.
|
||||
final String code;
|
||||
/// Currency code in [ISO 4217-1](http://en.wikipedia.org/wiki/ISO_4217) three-character format.
|
||||
final String code;
|
||||
|
||||
/// Currency plural name
|
||||
final String namePlural;
|
||||
/// Currency plural name
|
||||
final String namePlural;
|
||||
|
||||
Currency({
|
||||
required this.symbol,
|
||||
required this.name,
|
||||
required this.symbolNative,
|
||||
required this.decimalDigits,
|
||||
required this.rounding,
|
||||
required this.code,
|
||||
required this.namePlural,
|
||||
});
|
||||
Currency({
|
||||
required this.symbol,
|
||||
required this.name,
|
||||
required this.symbolNative,
|
||||
required this.decimalDigits,
|
||||
required this.rounding,
|
||||
required this.code,
|
||||
required this.namePlural,
|
||||
});
|
||||
|
||||
factory Currency.fromMap(Map<String, dynamic> map) {
|
||||
return Currency(
|
||||
symbol: map['symbol'].toString(),
|
||||
name: map['name'].toString(),
|
||||
symbolNative: map['symbolNative'].toString(),
|
||||
decimalDigits: map['decimalDigits'],
|
||||
rounding: map['rounding'].toDouble(),
|
||||
code: map['code'].toString(),
|
||||
namePlural: map['namePlural'].toString(),
|
||||
);
|
||||
}
|
||||
factory Currency.fromMap(Map<String, dynamic> map) {
|
||||
return Currency(
|
||||
symbol: map['symbol'].toString(),
|
||||
name: map['name'].toString(),
|
||||
symbolNative: map['symbolNative'].toString(),
|
||||
decimalDigits: map['decimalDigits'],
|
||||
rounding: map['rounding'].toDouble(),
|
||||
code: map['code'].toString(),
|
||||
namePlural: map['namePlural'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"symbol": symbol,
|
||||
"name": name,
|
||||
"symbolNative": symbolNative,
|
||||
"decimalDigits": decimalDigits,
|
||||
"rounding": rounding,
|
||||
"code": code,
|
||||
"namePlural": namePlural,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"symbol": symbol,
|
||||
"name": name,
|
||||
"symbolNative": symbolNative,
|
||||
"decimalDigits": decimalDigits,
|
||||
"rounding": rounding,
|
||||
"code": code,
|
||||
"namePlural": namePlural,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,29 +2,30 @@ part of '../../models.dart';
|
||||
|
||||
/// Currencies List
|
||||
class CurrencyList implements Model {
|
||||
/// Total number of currencies that matched your query.
|
||||
final int total;
|
||||
/// Total number of currencies that matched your query.
|
||||
final int total;
|
||||
|
||||
/// List of currencies.
|
||||
final List<Currency> currencies;
|
||||
/// List of currencies.
|
||||
final List<Currency> currencies;
|
||||
|
||||
CurrencyList({
|
||||
required this.total,
|
||||
required this.currencies,
|
||||
});
|
||||
CurrencyList({
|
||||
required this.total,
|
||||
required this.currencies,
|
||||
});
|
||||
|
||||
factory CurrencyList.fromMap(Map<String, dynamic> map) {
|
||||
return CurrencyList(
|
||||
total: map['total'],
|
||||
currencies: List<Currency>.from(map['currencies'].map((p) => Currency.fromMap(p))),
|
||||
);
|
||||
}
|
||||
factory CurrencyList.fromMap(Map<String, dynamic> map) {
|
||||
return CurrencyList(
|
||||
total: map['total'],
|
||||
currencies: List<Currency>.from(
|
||||
map['currencies'].map((p) => Currency.fromMap(p))),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"currencies": currencies.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"currencies": currencies.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,66 +2,66 @@ part of '../../models.dart';
|
||||
|
||||
/// Document
|
||||
class Document implements Model {
|
||||
/// Document ID.
|
||||
final String $id;
|
||||
/// Document ID.
|
||||
final String $id;
|
||||
|
||||
/// Document automatically incrementing ID.
|
||||
final int $sequence;
|
||||
/// Document automatically incrementing ID.
|
||||
final int $sequence;
|
||||
|
||||
/// Collection ID.
|
||||
final String $collectionId;
|
||||
/// Collection ID.
|
||||
final String $collectionId;
|
||||
|
||||
/// Database ID.
|
||||
final String $databaseId;
|
||||
/// Database ID.
|
||||
final String $databaseId;
|
||||
|
||||
/// Document creation date in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
/// Document creation date in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
|
||||
/// Document update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
/// Document update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
|
||||
/// Document permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).
|
||||
final List<String> $permissions;
|
||||
/// Document permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).
|
||||
final List<String> $permissions;
|
||||
|
||||
final Map<String, dynamic> data;
|
||||
final Map<String, dynamic> data;
|
||||
|
||||
Document({
|
||||
required this.$id,
|
||||
required this.$sequence,
|
||||
required this.$collectionId,
|
||||
required this.$databaseId,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.$permissions,
|
||||
required this.data,
|
||||
});
|
||||
Document({
|
||||
required this.$id,
|
||||
required this.$sequence,
|
||||
required this.$collectionId,
|
||||
required this.$databaseId,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.$permissions,
|
||||
required this.data,
|
||||
});
|
||||
|
||||
factory Document.fromMap(Map<String, dynamic> map) {
|
||||
return Document(
|
||||
$id: map['\$id'].toString(),
|
||||
$sequence: map['\$sequence'],
|
||||
$collectionId: map['\$collectionId'].toString(),
|
||||
$databaseId: map['\$databaseId'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
$permissions: List.from(map['\$permissions'] ?? []),
|
||||
data: map["data"] ?? map,
|
||||
);
|
||||
}
|
||||
factory Document.fromMap(Map<String, dynamic> map) {
|
||||
return Document(
|
||||
$id: map['\$id'].toString(),
|
||||
$sequence: map['\$sequence'],
|
||||
$collectionId: map['\$collectionId'].toString(),
|
||||
$databaseId: map['\$databaseId'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
$permissions: List.from(map['\$permissions'] ?? []),
|
||||
data: map["data"] ?? map,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$sequence": $sequence,
|
||||
"\$collectionId": $collectionId,
|
||||
"\$databaseId": $databaseId,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"\$permissions": $permissions,
|
||||
"data": data,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$sequence": $sequence,
|
||||
"\$collectionId": $collectionId,
|
||||
"\$databaseId": $databaseId,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"\$permissions": $permissions,
|
||||
"data": data,
|
||||
};
|
||||
}
|
||||
|
||||
T convertTo<T>(T Function(Map<String, dynamic>) fromJson) => fromJson(data);
|
||||
T convertTo<T>(T Function(Map<String, dynamic>) fromJson) => fromJson(data);
|
||||
}
|
||||
|
||||
@@ -2,32 +2,33 @@ part of '../../models.dart';
|
||||
|
||||
/// Documents List
|
||||
class DocumentList implements Model {
|
||||
/// Total number of documents that matched your query.
|
||||
final int total;
|
||||
/// Total number of documents that matched your query.
|
||||
final int total;
|
||||
|
||||
/// List of documents.
|
||||
final List<Document> documents;
|
||||
/// List of documents.
|
||||
final List<Document> documents;
|
||||
|
||||
DocumentList({
|
||||
required this.total,
|
||||
required this.documents,
|
||||
});
|
||||
DocumentList({
|
||||
required this.total,
|
||||
required this.documents,
|
||||
});
|
||||
|
||||
factory DocumentList.fromMap(Map<String, dynamic> map) {
|
||||
return DocumentList(
|
||||
total: map['total'],
|
||||
documents: List<Document>.from(map['documents'].map((p) => Document.fromMap(p))),
|
||||
);
|
||||
}
|
||||
factory DocumentList.fromMap(Map<String, dynamic> map) {
|
||||
return DocumentList(
|
||||
total: map['total'],
|
||||
documents:
|
||||
List<Document>.from(map['documents'].map((p) => Document.fromMap(p))),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"documents": documents.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"documents": documents.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
|
||||
List<T> convertTo<T>(T Function(Map) fromJson) =>
|
||||
documents.map((d) => d.convertTo<T>(fromJson)).toList();
|
||||
List<T> convertTo<T>(T Function(Map) fromJson) =>
|
||||
documents.map((d) => d.convertTo<T>(fromJson)).toList();
|
||||
}
|
||||
|
||||
+105
-101
@@ -2,125 +2,129 @@ part of '../../models.dart';
|
||||
|
||||
/// Execution
|
||||
class Execution implements Model {
|
||||
/// Execution ID.
|
||||
final String $id;
|
||||
/// Execution ID.
|
||||
final String $id;
|
||||
|
||||
/// Execution creation date in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
/// Execution creation date in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
|
||||
/// Execution update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
/// Execution update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
|
||||
/// Execution roles.
|
||||
final List<String> $permissions;
|
||||
/// Execution roles.
|
||||
final List<String> $permissions;
|
||||
|
||||
/// Function ID.
|
||||
final String functionId;
|
||||
/// Function ID.
|
||||
final String functionId;
|
||||
|
||||
/// Function's deployment ID used to create the execution.
|
||||
final String deploymentId;
|
||||
/// Function's deployment ID used to create the execution.
|
||||
final String deploymentId;
|
||||
|
||||
/// The trigger that caused the function to execute. Possible values can be: `http`, `schedule`, or `event`.
|
||||
final enums.ExecutionTrigger trigger;
|
||||
/// The trigger that caused the function to execute. Possible values can be: `http`, `schedule`, or `event`.
|
||||
final enums.ExecutionTrigger trigger;
|
||||
|
||||
/// The status of the function execution. Possible values can be: `waiting`, `processing`, `completed`, `failed`, or `scheduled`.
|
||||
final enums.ExecutionStatus status;
|
||||
/// The status of the function execution. Possible values can be: `waiting`, `processing`, `completed`, `failed`, or `scheduled`.
|
||||
final enums.ExecutionStatus status;
|
||||
|
||||
/// HTTP request method type.
|
||||
final String requestMethod;
|
||||
/// HTTP request method type.
|
||||
final String requestMethod;
|
||||
|
||||
/// HTTP request path and query.
|
||||
final String requestPath;
|
||||
/// HTTP request path and query.
|
||||
final String requestPath;
|
||||
|
||||
/// HTTP request headers as a key-value object. This will return only whitelisted headers. All headers are returned if execution is created as synchronous.
|
||||
final List<Headers> requestHeaders;
|
||||
/// HTTP request headers as a key-value object. This will return only whitelisted headers. All headers are returned if execution is created as synchronous.
|
||||
final List<Headers> requestHeaders;
|
||||
|
||||
/// HTTP response status code.
|
||||
final int responseStatusCode;
|
||||
/// HTTP response status code.
|
||||
final int responseStatusCode;
|
||||
|
||||
/// HTTP response body. This will return empty unless execution is created as synchronous.
|
||||
final String responseBody;
|
||||
/// HTTP response body. This will return empty unless execution is created as synchronous.
|
||||
final String responseBody;
|
||||
|
||||
/// HTTP response headers as a key-value object. This will return only whitelisted headers. All headers are returned if execution is created as synchronous.
|
||||
final List<Headers> responseHeaders;
|
||||
/// HTTP response headers as a key-value object. This will return only whitelisted headers. All headers are returned if execution is created as synchronous.
|
||||
final List<Headers> responseHeaders;
|
||||
|
||||
/// Function logs. Includes the last 4,000 characters. This will return an empty string unless the response is returned using an API key or as part of a webhook payload.
|
||||
final String logs;
|
||||
/// Function logs. Includes the last 4,000 characters. This will return an empty string unless the response is returned using an API key or as part of a webhook payload.
|
||||
final String logs;
|
||||
|
||||
/// Function errors. Includes the last 4,000 characters. This will return an empty string unless the response is returned using an API key or as part of a webhook payload.
|
||||
final String errors;
|
||||
/// Function errors. Includes the last 4,000 characters. This will return an empty string unless the response is returned using an API key or as part of a webhook payload.
|
||||
final String errors;
|
||||
|
||||
/// Resource(function/site) execution duration in seconds.
|
||||
final double duration;
|
||||
/// Resource(function/site) execution duration in seconds.
|
||||
final double duration;
|
||||
|
||||
/// The scheduled time for execution. If left empty, execution will be queued immediately.
|
||||
final String? scheduledAt;
|
||||
/// The scheduled time for execution. If left empty, execution will be queued immediately.
|
||||
final String? scheduledAt;
|
||||
|
||||
Execution({
|
||||
required this.$id,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.$permissions,
|
||||
required this.functionId,
|
||||
required this.deploymentId,
|
||||
required this.trigger,
|
||||
required this.status,
|
||||
required this.requestMethod,
|
||||
required this.requestPath,
|
||||
required this.requestHeaders,
|
||||
required this.responseStatusCode,
|
||||
required this.responseBody,
|
||||
required this.responseHeaders,
|
||||
required this.logs,
|
||||
required this.errors,
|
||||
required this.duration,
|
||||
this.scheduledAt,
|
||||
});
|
||||
Execution({
|
||||
required this.$id,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.$permissions,
|
||||
required this.functionId,
|
||||
required this.deploymentId,
|
||||
required this.trigger,
|
||||
required this.status,
|
||||
required this.requestMethod,
|
||||
required this.requestPath,
|
||||
required this.requestHeaders,
|
||||
required this.responseStatusCode,
|
||||
required this.responseBody,
|
||||
required this.responseHeaders,
|
||||
required this.logs,
|
||||
required this.errors,
|
||||
required this.duration,
|
||||
this.scheduledAt,
|
||||
});
|
||||
|
||||
factory Execution.fromMap(Map<String, dynamic> map) {
|
||||
return Execution(
|
||||
$id: map['\$id'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
$permissions: List.from(map['\$permissions'] ?? []),
|
||||
functionId: map['functionId'].toString(),
|
||||
deploymentId: map['deploymentId'].toString(),
|
||||
trigger: enums.ExecutionTrigger.values.firstWhere((e) => e.value == map['trigger']),
|
||||
status: enums.ExecutionStatus.values.firstWhere((e) => e.value == map['status']),
|
||||
requestMethod: map['requestMethod'].toString(),
|
||||
requestPath: map['requestPath'].toString(),
|
||||
requestHeaders: List<Headers>.from(map['requestHeaders'].map((p) => Headers.fromMap(p))),
|
||||
responseStatusCode: map['responseStatusCode'],
|
||||
responseBody: map['responseBody'].toString(),
|
||||
responseHeaders: List<Headers>.from(map['responseHeaders'].map((p) => Headers.fromMap(p))),
|
||||
logs: map['logs'].toString(),
|
||||
errors: map['errors'].toString(),
|
||||
duration: map['duration'].toDouble(),
|
||||
scheduledAt: map['scheduledAt']?.toString(),
|
||||
);
|
||||
}
|
||||
factory Execution.fromMap(Map<String, dynamic> map) {
|
||||
return Execution(
|
||||
$id: map['\$id'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
$permissions: List.from(map['\$permissions'] ?? []),
|
||||
functionId: map['functionId'].toString(),
|
||||
deploymentId: map['deploymentId'].toString(),
|
||||
trigger: enums.ExecutionTrigger.values
|
||||
.firstWhere((e) => e.value == map['trigger']),
|
||||
status: enums.ExecutionStatus.values
|
||||
.firstWhere((e) => e.value == map['status']),
|
||||
requestMethod: map['requestMethod'].toString(),
|
||||
requestPath: map['requestPath'].toString(),
|
||||
requestHeaders: List<Headers>.from(
|
||||
map['requestHeaders'].map((p) => Headers.fromMap(p))),
|
||||
responseStatusCode: map['responseStatusCode'],
|
||||
responseBody: map['responseBody'].toString(),
|
||||
responseHeaders: List<Headers>.from(
|
||||
map['responseHeaders'].map((p) => Headers.fromMap(p))),
|
||||
logs: map['logs'].toString(),
|
||||
errors: map['errors'].toString(),
|
||||
duration: map['duration'].toDouble(),
|
||||
scheduledAt: map['scheduledAt']?.toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"\$permissions": $permissions,
|
||||
"functionId": functionId,
|
||||
"deploymentId": deploymentId,
|
||||
"trigger": trigger.value,
|
||||
"status": status.value,
|
||||
"requestMethod": requestMethod,
|
||||
"requestPath": requestPath,
|
||||
"requestHeaders": requestHeaders.map((p) => p.toMap()).toList(),
|
||||
"responseStatusCode": responseStatusCode,
|
||||
"responseBody": responseBody,
|
||||
"responseHeaders": responseHeaders.map((p) => p.toMap()).toList(),
|
||||
"logs": logs,
|
||||
"errors": errors,
|
||||
"duration": duration,
|
||||
"scheduledAt": scheduledAt,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"\$permissions": $permissions,
|
||||
"functionId": functionId,
|
||||
"deploymentId": deploymentId,
|
||||
"trigger": trigger.value,
|
||||
"status": status.value,
|
||||
"requestMethod": requestMethod,
|
||||
"requestPath": requestPath,
|
||||
"requestHeaders": requestHeaders.map((p) => p.toMap()).toList(),
|
||||
"responseStatusCode": responseStatusCode,
|
||||
"responseBody": responseBody,
|
||||
"responseHeaders": responseHeaders.map((p) => p.toMap()).toList(),
|
||||
"logs": logs,
|
||||
"errors": errors,
|
||||
"duration": duration,
|
||||
"scheduledAt": scheduledAt,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,29 +2,30 @@ part of '../../models.dart';
|
||||
|
||||
/// Executions List
|
||||
class ExecutionList implements Model {
|
||||
/// Total number of executions that matched your query.
|
||||
final int total;
|
||||
/// Total number of executions that matched your query.
|
||||
final int total;
|
||||
|
||||
/// List of executions.
|
||||
final List<Execution> executions;
|
||||
/// List of executions.
|
||||
final List<Execution> executions;
|
||||
|
||||
ExecutionList({
|
||||
required this.total,
|
||||
required this.executions,
|
||||
});
|
||||
ExecutionList({
|
||||
required this.total,
|
||||
required this.executions,
|
||||
});
|
||||
|
||||
factory ExecutionList.fromMap(Map<String, dynamic> map) {
|
||||
return ExecutionList(
|
||||
total: map['total'],
|
||||
executions: List<Execution>.from(map['executions'].map((p) => Execution.fromMap(p))),
|
||||
);
|
||||
}
|
||||
factory ExecutionList.fromMap(Map<String, dynamic> map) {
|
||||
return ExecutionList(
|
||||
total: map['total'],
|
||||
executions: List<Execution>.from(
|
||||
map['executions'].map((p) => Execution.fromMap(p))),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"executions": executions.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"executions": executions.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
+66
-66
@@ -2,83 +2,83 @@ part of '../../models.dart';
|
||||
|
||||
/// File
|
||||
class File implements Model {
|
||||
/// File ID.
|
||||
final String $id;
|
||||
/// File ID.
|
||||
final String $id;
|
||||
|
||||
/// Bucket ID.
|
||||
final String bucketId;
|
||||
/// Bucket ID.
|
||||
final String bucketId;
|
||||
|
||||
/// File creation date in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
/// File creation date in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
|
||||
/// File update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
/// File update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
|
||||
/// File permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).
|
||||
final List<String> $permissions;
|
||||
/// File permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).
|
||||
final List<String> $permissions;
|
||||
|
||||
/// File name.
|
||||
final String name;
|
||||
/// File name.
|
||||
final String name;
|
||||
|
||||
/// File MD5 signature.
|
||||
final String signature;
|
||||
/// File MD5 signature.
|
||||
final String signature;
|
||||
|
||||
/// File mime type.
|
||||
final String mimeType;
|
||||
/// File mime type.
|
||||
final String mimeType;
|
||||
|
||||
/// File original size in bytes.
|
||||
final int sizeOriginal;
|
||||
/// File original size in bytes.
|
||||
final int sizeOriginal;
|
||||
|
||||
/// Total number of chunks available
|
||||
final int chunksTotal;
|
||||
/// Total number of chunks available
|
||||
final int chunksTotal;
|
||||
|
||||
/// Total number of chunks uploaded
|
||||
final int chunksUploaded;
|
||||
/// Total number of chunks uploaded
|
||||
final int chunksUploaded;
|
||||
|
||||
File({
|
||||
required this.$id,
|
||||
required this.bucketId,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.$permissions,
|
||||
required this.name,
|
||||
required this.signature,
|
||||
required this.mimeType,
|
||||
required this.sizeOriginal,
|
||||
required this.chunksTotal,
|
||||
required this.chunksUploaded,
|
||||
});
|
||||
File({
|
||||
required this.$id,
|
||||
required this.bucketId,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.$permissions,
|
||||
required this.name,
|
||||
required this.signature,
|
||||
required this.mimeType,
|
||||
required this.sizeOriginal,
|
||||
required this.chunksTotal,
|
||||
required this.chunksUploaded,
|
||||
});
|
||||
|
||||
factory File.fromMap(Map<String, dynamic> map) {
|
||||
return File(
|
||||
$id: map['\$id'].toString(),
|
||||
bucketId: map['bucketId'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
$permissions: List.from(map['\$permissions'] ?? []),
|
||||
name: map['name'].toString(),
|
||||
signature: map['signature'].toString(),
|
||||
mimeType: map['mimeType'].toString(),
|
||||
sizeOriginal: map['sizeOriginal'],
|
||||
chunksTotal: map['chunksTotal'],
|
||||
chunksUploaded: map['chunksUploaded'],
|
||||
);
|
||||
}
|
||||
factory File.fromMap(Map<String, dynamic> map) {
|
||||
return File(
|
||||
$id: map['\$id'].toString(),
|
||||
bucketId: map['bucketId'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
$permissions: List.from(map['\$permissions'] ?? []),
|
||||
name: map['name'].toString(),
|
||||
signature: map['signature'].toString(),
|
||||
mimeType: map['mimeType'].toString(),
|
||||
sizeOriginal: map['sizeOriginal'],
|
||||
chunksTotal: map['chunksTotal'],
|
||||
chunksUploaded: map['chunksUploaded'],
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"bucketId": bucketId,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"\$permissions": $permissions,
|
||||
"name": name,
|
||||
"signature": signature,
|
||||
"mimeType": mimeType,
|
||||
"sizeOriginal": sizeOriginal,
|
||||
"chunksTotal": chunksTotal,
|
||||
"chunksUploaded": chunksUploaded,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"bucketId": bucketId,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"\$permissions": $permissions,
|
||||
"name": name,
|
||||
"signature": signature,
|
||||
"mimeType": mimeType,
|
||||
"sizeOriginal": sizeOriginal,
|
||||
"chunksTotal": chunksTotal,
|
||||
"chunksUploaded": chunksUploaded,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,29 +2,29 @@ part of '../../models.dart';
|
||||
|
||||
/// Files List
|
||||
class FileList implements Model {
|
||||
/// Total number of files that matched your query.
|
||||
final int total;
|
||||
/// Total number of files that matched your query.
|
||||
final int total;
|
||||
|
||||
/// List of files.
|
||||
final List<File> files;
|
||||
/// List of files.
|
||||
final List<File> files;
|
||||
|
||||
FileList({
|
||||
required this.total,
|
||||
required this.files,
|
||||
});
|
||||
FileList({
|
||||
required this.total,
|
||||
required this.files,
|
||||
});
|
||||
|
||||
factory FileList.fromMap(Map<String, dynamic> map) {
|
||||
return FileList(
|
||||
total: map['total'],
|
||||
files: List<File>.from(map['files'].map((p) => File.fromMap(p))),
|
||||
);
|
||||
}
|
||||
factory FileList.fromMap(Map<String, dynamic> map) {
|
||||
return FileList(
|
||||
total: map['total'],
|
||||
files: List<File>.from(map['files'].map((p) => File.fromMap(p))),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"files": files.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"files": files.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
+21
-21
@@ -2,29 +2,29 @@ part of '../../models.dart';
|
||||
|
||||
/// Headers
|
||||
class Headers implements Model {
|
||||
/// Header name.
|
||||
final String name;
|
||||
/// Header name.
|
||||
final String name;
|
||||
|
||||
/// Header value.
|
||||
final String value;
|
||||
/// Header value.
|
||||
final String value;
|
||||
|
||||
Headers({
|
||||
required this.name,
|
||||
required this.value,
|
||||
});
|
||||
Headers({
|
||||
required this.name,
|
||||
required this.value,
|
||||
});
|
||||
|
||||
factory Headers.fromMap(Map<String, dynamic> map) {
|
||||
return Headers(
|
||||
name: map['name'].toString(),
|
||||
value: map['value'].toString(),
|
||||
);
|
||||
}
|
||||
factory Headers.fromMap(Map<String, dynamic> map) {
|
||||
return Headers(
|
||||
name: map['name'].toString(),
|
||||
value: map['value'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"name": name,
|
||||
"value": value,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"name": name,
|
||||
"value": value,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,77 +2,77 @@ part of '../../models.dart';
|
||||
|
||||
/// Identity
|
||||
class Identity implements Model {
|
||||
/// Identity ID.
|
||||
final String $id;
|
||||
/// Identity ID.
|
||||
final String $id;
|
||||
|
||||
/// Identity creation date in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
/// Identity creation date in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
|
||||
/// Identity update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
/// Identity update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
|
||||
/// User ID.
|
||||
final String userId;
|
||||
/// User ID.
|
||||
final String userId;
|
||||
|
||||
/// Identity Provider.
|
||||
final String provider;
|
||||
/// Identity Provider.
|
||||
final String provider;
|
||||
|
||||
/// ID of the User in the Identity Provider.
|
||||
final String providerUid;
|
||||
/// ID of the User in the Identity Provider.
|
||||
final String providerUid;
|
||||
|
||||
/// Email of the User in the Identity Provider.
|
||||
final String providerEmail;
|
||||
/// Email of the User in the Identity Provider.
|
||||
final String providerEmail;
|
||||
|
||||
/// Identity Provider Access Token.
|
||||
final String providerAccessToken;
|
||||
/// Identity Provider Access Token.
|
||||
final String providerAccessToken;
|
||||
|
||||
/// The date of when the access token expires in ISO 8601 format.
|
||||
final String providerAccessTokenExpiry;
|
||||
/// The date of when the access token expires in ISO 8601 format.
|
||||
final String providerAccessTokenExpiry;
|
||||
|
||||
/// Identity Provider Refresh Token.
|
||||
final String providerRefreshToken;
|
||||
/// Identity Provider Refresh Token.
|
||||
final String providerRefreshToken;
|
||||
|
||||
Identity({
|
||||
required this.$id,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.userId,
|
||||
required this.provider,
|
||||
required this.providerUid,
|
||||
required this.providerEmail,
|
||||
required this.providerAccessToken,
|
||||
required this.providerAccessTokenExpiry,
|
||||
required this.providerRefreshToken,
|
||||
});
|
||||
Identity({
|
||||
required this.$id,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.userId,
|
||||
required this.provider,
|
||||
required this.providerUid,
|
||||
required this.providerEmail,
|
||||
required this.providerAccessToken,
|
||||
required this.providerAccessTokenExpiry,
|
||||
required this.providerRefreshToken,
|
||||
});
|
||||
|
||||
factory Identity.fromMap(Map<String, dynamic> map) {
|
||||
return Identity(
|
||||
$id: map['\$id'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
userId: map['userId'].toString(),
|
||||
provider: map['provider'].toString(),
|
||||
providerUid: map['providerUid'].toString(),
|
||||
providerEmail: map['providerEmail'].toString(),
|
||||
providerAccessToken: map['providerAccessToken'].toString(),
|
||||
providerAccessTokenExpiry: map['providerAccessTokenExpiry'].toString(),
|
||||
providerRefreshToken: map['providerRefreshToken'].toString(),
|
||||
);
|
||||
}
|
||||
factory Identity.fromMap(Map<String, dynamic> map) {
|
||||
return Identity(
|
||||
$id: map['\$id'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
userId: map['userId'].toString(),
|
||||
provider: map['provider'].toString(),
|
||||
providerUid: map['providerUid'].toString(),
|
||||
providerEmail: map['providerEmail'].toString(),
|
||||
providerAccessToken: map['providerAccessToken'].toString(),
|
||||
providerAccessTokenExpiry: map['providerAccessTokenExpiry'].toString(),
|
||||
providerRefreshToken: map['providerRefreshToken'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"userId": userId,
|
||||
"provider": provider,
|
||||
"providerUid": providerUid,
|
||||
"providerEmail": providerEmail,
|
||||
"providerAccessToken": providerAccessToken,
|
||||
"providerAccessTokenExpiry": providerAccessTokenExpiry,
|
||||
"providerRefreshToken": providerRefreshToken,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"userId": userId,
|
||||
"provider": provider,
|
||||
"providerUid": providerUid,
|
||||
"providerEmail": providerEmail,
|
||||
"providerAccessToken": providerAccessToken,
|
||||
"providerAccessTokenExpiry": providerAccessTokenExpiry,
|
||||
"providerRefreshToken": providerRefreshToken,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,29 +2,30 @@ part of '../../models.dart';
|
||||
|
||||
/// Identities List
|
||||
class IdentityList implements Model {
|
||||
/// Total number of identities that matched your query.
|
||||
final int total;
|
||||
/// Total number of identities that matched your query.
|
||||
final int total;
|
||||
|
||||
/// List of identities.
|
||||
final List<Identity> identities;
|
||||
/// List of identities.
|
||||
final List<Identity> identities;
|
||||
|
||||
IdentityList({
|
||||
required this.total,
|
||||
required this.identities,
|
||||
});
|
||||
IdentityList({
|
||||
required this.total,
|
||||
required this.identities,
|
||||
});
|
||||
|
||||
factory IdentityList.fromMap(Map<String, dynamic> map) {
|
||||
return IdentityList(
|
||||
total: map['total'],
|
||||
identities: List<Identity>.from(map['identities'].map((p) => Identity.fromMap(p))),
|
||||
);
|
||||
}
|
||||
factory IdentityList.fromMap(Map<String, dynamic> map) {
|
||||
return IdentityList(
|
||||
total: map['total'],
|
||||
identities: List<Identity>.from(
|
||||
map['identities'].map((p) => Identity.fromMap(p))),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"identities": identities.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"identities": identities.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
+16
-16
@@ -2,23 +2,23 @@ part of '../../models.dart';
|
||||
|
||||
/// JWT
|
||||
class Jwt implements Model {
|
||||
/// JWT encoded string.
|
||||
final String jwt;
|
||||
/// JWT encoded string.
|
||||
final String jwt;
|
||||
|
||||
Jwt({
|
||||
required this.jwt,
|
||||
});
|
||||
Jwt({
|
||||
required this.jwt,
|
||||
});
|
||||
|
||||
factory Jwt.fromMap(Map<String, dynamic> map) {
|
||||
return Jwt(
|
||||
jwt: map['jwt'].toString(),
|
||||
);
|
||||
}
|
||||
factory Jwt.fromMap(Map<String, dynamic> map) {
|
||||
return Jwt(
|
||||
jwt: map['jwt'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"jwt": jwt,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"jwt": jwt,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,35 +2,35 @@ part of '../../models.dart';
|
||||
|
||||
/// Language
|
||||
class Language implements Model {
|
||||
/// Language name.
|
||||
final String name;
|
||||
/// Language name.
|
||||
final String name;
|
||||
|
||||
/// Language two-character ISO 639-1 codes.
|
||||
final String code;
|
||||
/// Language two-character ISO 639-1 codes.
|
||||
final String code;
|
||||
|
||||
/// Language native name.
|
||||
final String nativeName;
|
||||
/// Language native name.
|
||||
final String nativeName;
|
||||
|
||||
Language({
|
||||
required this.name,
|
||||
required this.code,
|
||||
required this.nativeName,
|
||||
});
|
||||
Language({
|
||||
required this.name,
|
||||
required this.code,
|
||||
required this.nativeName,
|
||||
});
|
||||
|
||||
factory Language.fromMap(Map<String, dynamic> map) {
|
||||
return Language(
|
||||
name: map['name'].toString(),
|
||||
code: map['code'].toString(),
|
||||
nativeName: map['nativeName'].toString(),
|
||||
);
|
||||
}
|
||||
factory Language.fromMap(Map<String, dynamic> map) {
|
||||
return Language(
|
||||
name: map['name'].toString(),
|
||||
code: map['code'].toString(),
|
||||
nativeName: map['nativeName'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"name": name,
|
||||
"code": code,
|
||||
"nativeName": nativeName,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"name": name,
|
||||
"code": code,
|
||||
"nativeName": nativeName,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,29 +2,30 @@ part of '../../models.dart';
|
||||
|
||||
/// Languages List
|
||||
class LanguageList implements Model {
|
||||
/// Total number of languages that matched your query.
|
||||
final int total;
|
||||
/// Total number of languages that matched your query.
|
||||
final int total;
|
||||
|
||||
/// List of languages.
|
||||
final List<Language> languages;
|
||||
/// List of languages.
|
||||
final List<Language> languages;
|
||||
|
||||
LanguageList({
|
||||
required this.total,
|
||||
required this.languages,
|
||||
});
|
||||
LanguageList({
|
||||
required this.total,
|
||||
required this.languages,
|
||||
});
|
||||
|
||||
factory LanguageList.fromMap(Map<String, dynamic> map) {
|
||||
return LanguageList(
|
||||
total: map['total'],
|
||||
languages: List<Language>.from(map['languages'].map((p) => Language.fromMap(p))),
|
||||
);
|
||||
}
|
||||
factory LanguageList.fromMap(Map<String, dynamic> map) {
|
||||
return LanguageList(
|
||||
total: map['total'],
|
||||
languages:
|
||||
List<Language>.from(map['languages'].map((p) => Language.fromMap(p))),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"languages": languages.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"languages": languages.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
+46
-46
@@ -2,59 +2,59 @@ part of '../../models.dart';
|
||||
|
||||
/// Locale
|
||||
class Locale implements Model {
|
||||
/// User IP address.
|
||||
final String ip;
|
||||
/// User IP address.
|
||||
final String ip;
|
||||
|
||||
/// Country code in [ISO 3166-1](http://en.wikipedia.org/wiki/ISO_3166-1) two-character format
|
||||
final String countryCode;
|
||||
/// Country code in [ISO 3166-1](http://en.wikipedia.org/wiki/ISO_3166-1) two-character format
|
||||
final String countryCode;
|
||||
|
||||
/// Country name. This field support localization.
|
||||
final String country;
|
||||
/// Country name. This field support localization.
|
||||
final String country;
|
||||
|
||||
/// Continent code. A two character continent code "AF" for Africa, "AN" for Antarctica, "AS" for Asia, "EU" for Europe, "NA" for North America, "OC" for Oceania, and "SA" for South America.
|
||||
final String continentCode;
|
||||
/// Continent code. A two character continent code "AF" for Africa, "AN" for Antarctica, "AS" for Asia, "EU" for Europe, "NA" for North America, "OC" for Oceania, and "SA" for South America.
|
||||
final String continentCode;
|
||||
|
||||
/// Continent name. This field support localization.
|
||||
final String continent;
|
||||
/// Continent name. This field support localization.
|
||||
final String continent;
|
||||
|
||||
/// True if country is part of the European Union.
|
||||
final bool eu;
|
||||
/// True if country is part of the European Union.
|
||||
final bool eu;
|
||||
|
||||
/// Currency code in [ISO 4217-1](http://en.wikipedia.org/wiki/ISO_4217) three-character format
|
||||
final String currency;
|
||||
/// Currency code in [ISO 4217-1](http://en.wikipedia.org/wiki/ISO_4217) three-character format
|
||||
final String currency;
|
||||
|
||||
Locale({
|
||||
required this.ip,
|
||||
required this.countryCode,
|
||||
required this.country,
|
||||
required this.continentCode,
|
||||
required this.continent,
|
||||
required this.eu,
|
||||
required this.currency,
|
||||
});
|
||||
Locale({
|
||||
required this.ip,
|
||||
required this.countryCode,
|
||||
required this.country,
|
||||
required this.continentCode,
|
||||
required this.continent,
|
||||
required this.eu,
|
||||
required this.currency,
|
||||
});
|
||||
|
||||
factory Locale.fromMap(Map<String, dynamic> map) {
|
||||
return Locale(
|
||||
ip: map['ip'].toString(),
|
||||
countryCode: map['countryCode'].toString(),
|
||||
country: map['country'].toString(),
|
||||
continentCode: map['continentCode'].toString(),
|
||||
continent: map['continent'].toString(),
|
||||
eu: map['eu'],
|
||||
currency: map['currency'].toString(),
|
||||
);
|
||||
}
|
||||
factory Locale.fromMap(Map<String, dynamic> map) {
|
||||
return Locale(
|
||||
ip: map['ip'].toString(),
|
||||
countryCode: map['countryCode'].toString(),
|
||||
country: map['country'].toString(),
|
||||
continentCode: map['continentCode'].toString(),
|
||||
continent: map['continent'].toString(),
|
||||
eu: map['eu'],
|
||||
currency: map['currency'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"ip": ip,
|
||||
"countryCode": countryCode,
|
||||
"country": country,
|
||||
"continentCode": continentCode,
|
||||
"continent": continent,
|
||||
"eu": eu,
|
||||
"currency": currency,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"ip": ip,
|
||||
"countryCode": countryCode,
|
||||
"country": country,
|
||||
"continentCode": continentCode,
|
||||
"continent": continent,
|
||||
"eu": eu,
|
||||
"currency": currency,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,29 +2,29 @@ part of '../../models.dart';
|
||||
|
||||
/// LocaleCode
|
||||
class LocaleCode implements Model {
|
||||
/// Locale codes in [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)
|
||||
final String code;
|
||||
/// Locale codes in [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)
|
||||
final String code;
|
||||
|
||||
/// Locale name
|
||||
final String name;
|
||||
/// Locale name
|
||||
final String name;
|
||||
|
||||
LocaleCode({
|
||||
required this.code,
|
||||
required this.name,
|
||||
});
|
||||
LocaleCode({
|
||||
required this.code,
|
||||
required this.name,
|
||||
});
|
||||
|
||||
factory LocaleCode.fromMap(Map<String, dynamic> map) {
|
||||
return LocaleCode(
|
||||
code: map['code'].toString(),
|
||||
name: map['name'].toString(),
|
||||
);
|
||||
}
|
||||
factory LocaleCode.fromMap(Map<String, dynamic> map) {
|
||||
return LocaleCode(
|
||||
code: map['code'].toString(),
|
||||
name: map['name'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"code": code,
|
||||
"name": name,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"code": code,
|
||||
"name": name,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,29 +2,30 @@ part of '../../models.dart';
|
||||
|
||||
/// Locale codes list
|
||||
class LocaleCodeList implements Model {
|
||||
/// Total number of localeCodes that matched your query.
|
||||
final int total;
|
||||
/// Total number of localeCodes that matched your query.
|
||||
final int total;
|
||||
|
||||
/// List of localeCodes.
|
||||
final List<LocaleCode> localeCodes;
|
||||
/// List of localeCodes.
|
||||
final List<LocaleCode> localeCodes;
|
||||
|
||||
LocaleCodeList({
|
||||
required this.total,
|
||||
required this.localeCodes,
|
||||
});
|
||||
LocaleCodeList({
|
||||
required this.total,
|
||||
required this.localeCodes,
|
||||
});
|
||||
|
||||
factory LocaleCodeList.fromMap(Map<String, dynamic> map) {
|
||||
return LocaleCodeList(
|
||||
total: map['total'],
|
||||
localeCodes: List<LocaleCode>.from(map['localeCodes'].map((p) => LocaleCode.fromMap(p))),
|
||||
);
|
||||
}
|
||||
factory LocaleCodeList.fromMap(Map<String, dynamic> map) {
|
||||
return LocaleCodeList(
|
||||
total: map['total'],
|
||||
localeCodes: List<LocaleCode>.from(
|
||||
map['localeCodes'].map((p) => LocaleCode.fromMap(p))),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"localeCodes": localeCodes.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"localeCodes": localeCodes.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
+116
-116
@@ -2,143 +2,143 @@ part of '../../models.dart';
|
||||
|
||||
/// Log
|
||||
class Log implements Model {
|
||||
/// Event name.
|
||||
final String event;
|
||||
/// Event name.
|
||||
final String event;
|
||||
|
||||
/// User ID.
|
||||
final String userId;
|
||||
/// User ID.
|
||||
final String userId;
|
||||
|
||||
/// User Email.
|
||||
final String userEmail;
|
||||
/// User Email.
|
||||
final String userEmail;
|
||||
|
||||
/// User Name.
|
||||
final String userName;
|
||||
/// User Name.
|
||||
final String userName;
|
||||
|
||||
/// API mode when event triggered.
|
||||
final String mode;
|
||||
/// API mode when event triggered.
|
||||
final String mode;
|
||||
|
||||
/// IP session in use when the session was created.
|
||||
final String ip;
|
||||
/// IP session in use when the session was created.
|
||||
final String ip;
|
||||
|
||||
/// Log creation date in ISO 8601 format.
|
||||
final String time;
|
||||
/// Log creation date in ISO 8601 format.
|
||||
final String time;
|
||||
|
||||
/// Operating system code name. View list of [available options](https://github.com/appwrite/appwrite/blob/master/docs/lists/os.json).
|
||||
final String osCode;
|
||||
/// Operating system code name. View list of [available options](https://github.com/appwrite/appwrite/blob/master/docs/lists/os.json).
|
||||
final String osCode;
|
||||
|
||||
/// Operating system name.
|
||||
final String osName;
|
||||
/// Operating system name.
|
||||
final String osName;
|
||||
|
||||
/// Operating system version.
|
||||
final String osVersion;
|
||||
/// Operating system version.
|
||||
final String osVersion;
|
||||
|
||||
/// Client type.
|
||||
final String clientType;
|
||||
/// Client type.
|
||||
final String clientType;
|
||||
|
||||
/// Client code name. View list of [available options](https://github.com/appwrite/appwrite/blob/master/docs/lists/clients.json).
|
||||
final String clientCode;
|
||||
/// Client code name. View list of [available options](https://github.com/appwrite/appwrite/blob/master/docs/lists/clients.json).
|
||||
final String clientCode;
|
||||
|
||||
/// Client name.
|
||||
final String clientName;
|
||||
/// Client name.
|
||||
final String clientName;
|
||||
|
||||
/// Client version.
|
||||
final String clientVersion;
|
||||
/// Client version.
|
||||
final String clientVersion;
|
||||
|
||||
/// Client engine name.
|
||||
final String clientEngine;
|
||||
/// Client engine name.
|
||||
final String clientEngine;
|
||||
|
||||
/// Client engine name.
|
||||
final String clientEngineVersion;
|
||||
/// Client engine name.
|
||||
final String clientEngineVersion;
|
||||
|
||||
/// Device name.
|
||||
final String deviceName;
|
||||
/// Device name.
|
||||
final String deviceName;
|
||||
|
||||
/// Device brand name.
|
||||
final String deviceBrand;
|
||||
/// Device brand name.
|
||||
final String deviceBrand;
|
||||
|
||||
/// Device model name.
|
||||
final String deviceModel;
|
||||
/// Device model name.
|
||||
final String deviceModel;
|
||||
|
||||
/// Country two-character ISO 3166-1 alpha code.
|
||||
final String countryCode;
|
||||
/// Country two-character ISO 3166-1 alpha code.
|
||||
final String countryCode;
|
||||
|
||||
/// Country name.
|
||||
final String countryName;
|
||||
/// Country name.
|
||||
final String countryName;
|
||||
|
||||
Log({
|
||||
required this.event,
|
||||
required this.userId,
|
||||
required this.userEmail,
|
||||
required this.userName,
|
||||
required this.mode,
|
||||
required this.ip,
|
||||
required this.time,
|
||||
required this.osCode,
|
||||
required this.osName,
|
||||
required this.osVersion,
|
||||
required this.clientType,
|
||||
required this.clientCode,
|
||||
required this.clientName,
|
||||
required this.clientVersion,
|
||||
required this.clientEngine,
|
||||
required this.clientEngineVersion,
|
||||
required this.deviceName,
|
||||
required this.deviceBrand,
|
||||
required this.deviceModel,
|
||||
required this.countryCode,
|
||||
required this.countryName,
|
||||
});
|
||||
Log({
|
||||
required this.event,
|
||||
required this.userId,
|
||||
required this.userEmail,
|
||||
required this.userName,
|
||||
required this.mode,
|
||||
required this.ip,
|
||||
required this.time,
|
||||
required this.osCode,
|
||||
required this.osName,
|
||||
required this.osVersion,
|
||||
required this.clientType,
|
||||
required this.clientCode,
|
||||
required this.clientName,
|
||||
required this.clientVersion,
|
||||
required this.clientEngine,
|
||||
required this.clientEngineVersion,
|
||||
required this.deviceName,
|
||||
required this.deviceBrand,
|
||||
required this.deviceModel,
|
||||
required this.countryCode,
|
||||
required this.countryName,
|
||||
});
|
||||
|
||||
factory Log.fromMap(Map<String, dynamic> map) {
|
||||
return Log(
|
||||
event: map['event'].toString(),
|
||||
userId: map['userId'].toString(),
|
||||
userEmail: map['userEmail'].toString(),
|
||||
userName: map['userName'].toString(),
|
||||
mode: map['mode'].toString(),
|
||||
ip: map['ip'].toString(),
|
||||
time: map['time'].toString(),
|
||||
osCode: map['osCode'].toString(),
|
||||
osName: map['osName'].toString(),
|
||||
osVersion: map['osVersion'].toString(),
|
||||
clientType: map['clientType'].toString(),
|
||||
clientCode: map['clientCode'].toString(),
|
||||
clientName: map['clientName'].toString(),
|
||||
clientVersion: map['clientVersion'].toString(),
|
||||
clientEngine: map['clientEngine'].toString(),
|
||||
clientEngineVersion: map['clientEngineVersion'].toString(),
|
||||
deviceName: map['deviceName'].toString(),
|
||||
deviceBrand: map['deviceBrand'].toString(),
|
||||
deviceModel: map['deviceModel'].toString(),
|
||||
countryCode: map['countryCode'].toString(),
|
||||
countryName: map['countryName'].toString(),
|
||||
);
|
||||
}
|
||||
factory Log.fromMap(Map<String, dynamic> map) {
|
||||
return Log(
|
||||
event: map['event'].toString(),
|
||||
userId: map['userId'].toString(),
|
||||
userEmail: map['userEmail'].toString(),
|
||||
userName: map['userName'].toString(),
|
||||
mode: map['mode'].toString(),
|
||||
ip: map['ip'].toString(),
|
||||
time: map['time'].toString(),
|
||||
osCode: map['osCode'].toString(),
|
||||
osName: map['osName'].toString(),
|
||||
osVersion: map['osVersion'].toString(),
|
||||
clientType: map['clientType'].toString(),
|
||||
clientCode: map['clientCode'].toString(),
|
||||
clientName: map['clientName'].toString(),
|
||||
clientVersion: map['clientVersion'].toString(),
|
||||
clientEngine: map['clientEngine'].toString(),
|
||||
clientEngineVersion: map['clientEngineVersion'].toString(),
|
||||
deviceName: map['deviceName'].toString(),
|
||||
deviceBrand: map['deviceBrand'].toString(),
|
||||
deviceModel: map['deviceModel'].toString(),
|
||||
countryCode: map['countryCode'].toString(),
|
||||
countryName: map['countryName'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"event": event,
|
||||
"userId": userId,
|
||||
"userEmail": userEmail,
|
||||
"userName": userName,
|
||||
"mode": mode,
|
||||
"ip": ip,
|
||||
"time": time,
|
||||
"osCode": osCode,
|
||||
"osName": osName,
|
||||
"osVersion": osVersion,
|
||||
"clientType": clientType,
|
||||
"clientCode": clientCode,
|
||||
"clientName": clientName,
|
||||
"clientVersion": clientVersion,
|
||||
"clientEngine": clientEngine,
|
||||
"clientEngineVersion": clientEngineVersion,
|
||||
"deviceName": deviceName,
|
||||
"deviceBrand": deviceBrand,
|
||||
"deviceModel": deviceModel,
|
||||
"countryCode": countryCode,
|
||||
"countryName": countryName,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"event": event,
|
||||
"userId": userId,
|
||||
"userEmail": userEmail,
|
||||
"userName": userName,
|
||||
"mode": mode,
|
||||
"ip": ip,
|
||||
"time": time,
|
||||
"osCode": osCode,
|
||||
"osName": osName,
|
||||
"osVersion": osVersion,
|
||||
"clientType": clientType,
|
||||
"clientCode": clientCode,
|
||||
"clientName": clientName,
|
||||
"clientVersion": clientVersion,
|
||||
"clientEngine": clientEngine,
|
||||
"clientEngineVersion": clientEngineVersion,
|
||||
"deviceName": deviceName,
|
||||
"deviceBrand": deviceBrand,
|
||||
"deviceModel": deviceModel,
|
||||
"countryCode": countryCode,
|
||||
"countryName": countryName,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,29 +2,29 @@ part of '../../models.dart';
|
||||
|
||||
/// Logs List
|
||||
class LogList implements Model {
|
||||
/// Total number of logs that matched your query.
|
||||
final int total;
|
||||
/// Total number of logs that matched your query.
|
||||
final int total;
|
||||
|
||||
/// List of logs.
|
||||
final List<Log> logs;
|
||||
/// List of logs.
|
||||
final List<Log> logs;
|
||||
|
||||
LogList({
|
||||
required this.total,
|
||||
required this.logs,
|
||||
});
|
||||
LogList({
|
||||
required this.total,
|
||||
required this.logs,
|
||||
});
|
||||
|
||||
factory LogList.fromMap(Map<String, dynamic> map) {
|
||||
return LogList(
|
||||
total: map['total'],
|
||||
logs: List<Log>.from(map['logs'].map((p) => Log.fromMap(p))),
|
||||
);
|
||||
}
|
||||
factory LogList.fromMap(Map<String, dynamic> map) {
|
||||
return LogList(
|
||||
total: map['total'],
|
||||
logs: List<Log>.from(map['logs'].map((p) => Log.fromMap(p))),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"logs": logs.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"logs": logs.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,95 +2,95 @@ part of '../../models.dart';
|
||||
|
||||
/// Membership
|
||||
class Membership implements Model {
|
||||
/// Membership ID.
|
||||
final String $id;
|
||||
/// Membership ID.
|
||||
final String $id;
|
||||
|
||||
/// Membership creation date in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
/// Membership creation date in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
|
||||
/// Membership update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
/// Membership update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
|
||||
/// User ID.
|
||||
final String userId;
|
||||
/// User ID.
|
||||
final String userId;
|
||||
|
||||
/// User name. Hide this attribute by toggling membership privacy in the Console.
|
||||
final String userName;
|
||||
/// User name. Hide this attribute by toggling membership privacy in the Console.
|
||||
final String userName;
|
||||
|
||||
/// User email address. Hide this attribute by toggling membership privacy in the Console.
|
||||
final String userEmail;
|
||||
/// User email address. Hide this attribute by toggling membership privacy in the Console.
|
||||
final String userEmail;
|
||||
|
||||
/// Team ID.
|
||||
final String teamId;
|
||||
/// Team ID.
|
||||
final String teamId;
|
||||
|
||||
/// Team name.
|
||||
final String teamName;
|
||||
/// Team name.
|
||||
final String teamName;
|
||||
|
||||
/// Date, the user has been invited to join the team in ISO 8601 format.
|
||||
final String invited;
|
||||
/// Date, the user has been invited to join the team in ISO 8601 format.
|
||||
final String invited;
|
||||
|
||||
/// Date, the user has accepted the invitation to join the team in ISO 8601 format.
|
||||
final String joined;
|
||||
/// Date, the user has accepted the invitation to join the team in ISO 8601 format.
|
||||
final String joined;
|
||||
|
||||
/// User confirmation status, true if the user has joined the team or false otherwise.
|
||||
final bool confirm;
|
||||
/// User confirmation status, true if the user has joined the team or false otherwise.
|
||||
final bool confirm;
|
||||
|
||||
/// Multi factor authentication status, true if the user has MFA enabled or false otherwise. Hide this attribute by toggling membership privacy in the Console.
|
||||
final bool mfa;
|
||||
/// Multi factor authentication status, true if the user has MFA enabled or false otherwise. Hide this attribute by toggling membership privacy in the Console.
|
||||
final bool mfa;
|
||||
|
||||
/// User list of roles
|
||||
final List<String> roles;
|
||||
/// User list of roles
|
||||
final List<String> roles;
|
||||
|
||||
Membership({
|
||||
required this.$id,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.userId,
|
||||
required this.userName,
|
||||
required this.userEmail,
|
||||
required this.teamId,
|
||||
required this.teamName,
|
||||
required this.invited,
|
||||
required this.joined,
|
||||
required this.confirm,
|
||||
required this.mfa,
|
||||
required this.roles,
|
||||
});
|
||||
Membership({
|
||||
required this.$id,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.userId,
|
||||
required this.userName,
|
||||
required this.userEmail,
|
||||
required this.teamId,
|
||||
required this.teamName,
|
||||
required this.invited,
|
||||
required this.joined,
|
||||
required this.confirm,
|
||||
required this.mfa,
|
||||
required this.roles,
|
||||
});
|
||||
|
||||
factory Membership.fromMap(Map<String, dynamic> map) {
|
||||
return Membership(
|
||||
$id: map['\$id'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
userId: map['userId'].toString(),
|
||||
userName: map['userName'].toString(),
|
||||
userEmail: map['userEmail'].toString(),
|
||||
teamId: map['teamId'].toString(),
|
||||
teamName: map['teamName'].toString(),
|
||||
invited: map['invited'].toString(),
|
||||
joined: map['joined'].toString(),
|
||||
confirm: map['confirm'],
|
||||
mfa: map['mfa'],
|
||||
roles: List.from(map['roles'] ?? []),
|
||||
);
|
||||
}
|
||||
factory Membership.fromMap(Map<String, dynamic> map) {
|
||||
return Membership(
|
||||
$id: map['\$id'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
userId: map['userId'].toString(),
|
||||
userName: map['userName'].toString(),
|
||||
userEmail: map['userEmail'].toString(),
|
||||
teamId: map['teamId'].toString(),
|
||||
teamName: map['teamName'].toString(),
|
||||
invited: map['invited'].toString(),
|
||||
joined: map['joined'].toString(),
|
||||
confirm: map['confirm'],
|
||||
mfa: map['mfa'],
|
||||
roles: List.from(map['roles'] ?? []),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"userId": userId,
|
||||
"userName": userName,
|
||||
"userEmail": userEmail,
|
||||
"teamId": teamId,
|
||||
"teamName": teamName,
|
||||
"invited": invited,
|
||||
"joined": joined,
|
||||
"confirm": confirm,
|
||||
"mfa": mfa,
|
||||
"roles": roles,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"userId": userId,
|
||||
"userName": userName,
|
||||
"userEmail": userEmail,
|
||||
"teamId": teamId,
|
||||
"teamName": teamName,
|
||||
"invited": invited,
|
||||
"joined": joined,
|
||||
"confirm": confirm,
|
||||
"mfa": mfa,
|
||||
"roles": roles,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,29 +2,30 @@ part of '../../models.dart';
|
||||
|
||||
/// Memberships List
|
||||
class MembershipList implements Model {
|
||||
/// Total number of memberships that matched your query.
|
||||
final int total;
|
||||
/// Total number of memberships that matched your query.
|
||||
final int total;
|
||||
|
||||
/// List of memberships.
|
||||
final List<Membership> memberships;
|
||||
/// List of memberships.
|
||||
final List<Membership> memberships;
|
||||
|
||||
MembershipList({
|
||||
required this.total,
|
||||
required this.memberships,
|
||||
});
|
||||
MembershipList({
|
||||
required this.total,
|
||||
required this.memberships,
|
||||
});
|
||||
|
||||
factory MembershipList.fromMap(Map<String, dynamic> map) {
|
||||
return MembershipList(
|
||||
total: map['total'],
|
||||
memberships: List<Membership>.from(map['memberships'].map((p) => Membership.fromMap(p))),
|
||||
);
|
||||
}
|
||||
factory MembershipList.fromMap(Map<String, dynamic> map) {
|
||||
return MembershipList(
|
||||
total: map['total'],
|
||||
memberships: List<Membership>.from(
|
||||
map['memberships'].map((p) => Membership.fromMap(p))),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"memberships": memberships.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"memberships": memberships.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,41 +2,41 @@ part of '../../models.dart';
|
||||
|
||||
/// MFA Challenge
|
||||
class MfaChallenge implements Model {
|
||||
/// Token ID.
|
||||
final String $id;
|
||||
/// Token ID.
|
||||
final String $id;
|
||||
|
||||
/// Token creation date in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
/// Token creation date in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
|
||||
/// User ID.
|
||||
final String userId;
|
||||
/// User ID.
|
||||
final String userId;
|
||||
|
||||
/// Token expiration date in ISO 8601 format.
|
||||
final String expire;
|
||||
/// Token expiration date in ISO 8601 format.
|
||||
final String expire;
|
||||
|
||||
MfaChallenge({
|
||||
required this.$id,
|
||||
required this.$createdAt,
|
||||
required this.userId,
|
||||
required this.expire,
|
||||
});
|
||||
MfaChallenge({
|
||||
required this.$id,
|
||||
required this.$createdAt,
|
||||
required this.userId,
|
||||
required this.expire,
|
||||
});
|
||||
|
||||
factory MfaChallenge.fromMap(Map<String, dynamic> map) {
|
||||
return MfaChallenge(
|
||||
$id: map['\$id'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
userId: map['userId'].toString(),
|
||||
expire: map['expire'].toString(),
|
||||
);
|
||||
}
|
||||
factory MfaChallenge.fromMap(Map<String, dynamic> map) {
|
||||
return MfaChallenge(
|
||||
$id: map['\$id'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
userId: map['userId'].toString(),
|
||||
expire: map['expire'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$createdAt": $createdAt,
|
||||
"userId": userId,
|
||||
"expire": expire,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$createdAt": $createdAt,
|
||||
"userId": userId,
|
||||
"expire": expire,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,41 +2,41 @@ part of '../../models.dart';
|
||||
|
||||
/// MFAFactors
|
||||
class MfaFactors implements Model {
|
||||
/// Can TOTP be used for MFA challenge for this account.
|
||||
final bool totp;
|
||||
/// Can TOTP be used for MFA challenge for this account.
|
||||
final bool totp;
|
||||
|
||||
/// Can phone (SMS) be used for MFA challenge for this account.
|
||||
final bool phone;
|
||||
/// Can phone (SMS) be used for MFA challenge for this account.
|
||||
final bool phone;
|
||||
|
||||
/// Can email be used for MFA challenge for this account.
|
||||
final bool email;
|
||||
/// Can email be used for MFA challenge for this account.
|
||||
final bool email;
|
||||
|
||||
/// Can recovery code be used for MFA challenge for this account.
|
||||
final bool recoveryCode;
|
||||
/// Can recovery code be used for MFA challenge for this account.
|
||||
final bool recoveryCode;
|
||||
|
||||
MfaFactors({
|
||||
required this.totp,
|
||||
required this.phone,
|
||||
required this.email,
|
||||
required this.recoveryCode,
|
||||
});
|
||||
MfaFactors({
|
||||
required this.totp,
|
||||
required this.phone,
|
||||
required this.email,
|
||||
required this.recoveryCode,
|
||||
});
|
||||
|
||||
factory MfaFactors.fromMap(Map<String, dynamic> map) {
|
||||
return MfaFactors(
|
||||
totp: map['totp'],
|
||||
phone: map['phone'],
|
||||
email: map['email'],
|
||||
recoveryCode: map['recoveryCode'],
|
||||
);
|
||||
}
|
||||
factory MfaFactors.fromMap(Map<String, dynamic> map) {
|
||||
return MfaFactors(
|
||||
totp: map['totp'],
|
||||
phone: map['phone'],
|
||||
email: map['email'],
|
||||
recoveryCode: map['recoveryCode'],
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"totp": totp,
|
||||
"phone": phone,
|
||||
"email": email,
|
||||
"recoveryCode": recoveryCode,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"totp": totp,
|
||||
"phone": phone,
|
||||
"email": email,
|
||||
"recoveryCode": recoveryCode,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,23 +2,23 @@ part of '../../models.dart';
|
||||
|
||||
/// MFA Recovery Codes
|
||||
class MfaRecoveryCodes implements Model {
|
||||
/// Recovery codes.
|
||||
final List<String> recoveryCodes;
|
||||
/// Recovery codes.
|
||||
final List<String> recoveryCodes;
|
||||
|
||||
MfaRecoveryCodes({
|
||||
required this.recoveryCodes,
|
||||
});
|
||||
MfaRecoveryCodes({
|
||||
required this.recoveryCodes,
|
||||
});
|
||||
|
||||
factory MfaRecoveryCodes.fromMap(Map<String, dynamic> map) {
|
||||
return MfaRecoveryCodes(
|
||||
recoveryCodes: List.from(map['recoveryCodes'] ?? []),
|
||||
);
|
||||
}
|
||||
factory MfaRecoveryCodes.fromMap(Map<String, dynamic> map) {
|
||||
return MfaRecoveryCodes(
|
||||
recoveryCodes: List.from(map['recoveryCodes'] ?? []),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"recoveryCodes": recoveryCodes,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"recoveryCodes": recoveryCodes,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,29 +2,29 @@ part of '../../models.dart';
|
||||
|
||||
/// MFAType
|
||||
class MfaType implements Model {
|
||||
/// Secret token used for TOTP factor.
|
||||
final String secret;
|
||||
/// Secret token used for TOTP factor.
|
||||
final String secret;
|
||||
|
||||
/// URI for authenticator apps.
|
||||
final String uri;
|
||||
/// URI for authenticator apps.
|
||||
final String uri;
|
||||
|
||||
MfaType({
|
||||
required this.secret,
|
||||
required this.uri,
|
||||
});
|
||||
MfaType({
|
||||
required this.secret,
|
||||
required this.uri,
|
||||
});
|
||||
|
||||
factory MfaType.fromMap(Map<String, dynamic> map) {
|
||||
return MfaType(
|
||||
secret: map['secret'].toString(),
|
||||
uri: map['uri'].toString(),
|
||||
);
|
||||
}
|
||||
factory MfaType.fromMap(Map<String, dynamic> map) {
|
||||
return MfaType(
|
||||
secret: map['secret'].toString(),
|
||||
uri: map['uri'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"secret": secret,
|
||||
"uri": uri,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"secret": secret,
|
||||
"uri": uri,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,4 +2,4 @@ part of '../../models.dart';
|
||||
|
||||
abstract class Model {
|
||||
Map<String, dynamic> toMap();
|
||||
}
|
||||
}
|
||||
|
||||
+26
-26
@@ -2,35 +2,35 @@ part of '../../models.dart';
|
||||
|
||||
/// Phone
|
||||
class Phone implements Model {
|
||||
/// Phone code.
|
||||
final String code;
|
||||
/// Phone code.
|
||||
final String code;
|
||||
|
||||
/// Country two-character ISO 3166-1 alpha code.
|
||||
final String countryCode;
|
||||
/// Country two-character ISO 3166-1 alpha code.
|
||||
final String countryCode;
|
||||
|
||||
/// Country name.
|
||||
final String countryName;
|
||||
/// Country name.
|
||||
final String countryName;
|
||||
|
||||
Phone({
|
||||
required this.code,
|
||||
required this.countryCode,
|
||||
required this.countryName,
|
||||
});
|
||||
Phone({
|
||||
required this.code,
|
||||
required this.countryCode,
|
||||
required this.countryName,
|
||||
});
|
||||
|
||||
factory Phone.fromMap(Map<String, dynamic> map) {
|
||||
return Phone(
|
||||
code: map['code'].toString(),
|
||||
countryCode: map['countryCode'].toString(),
|
||||
countryName: map['countryName'].toString(),
|
||||
);
|
||||
}
|
||||
factory Phone.fromMap(Map<String, dynamic> map) {
|
||||
return Phone(
|
||||
code: map['code'].toString(),
|
||||
countryCode: map['countryCode'].toString(),
|
||||
countryName: map['countryName'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"code": code,
|
||||
"countryCode": countryCode,
|
||||
"countryName": countryName,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"code": code,
|
||||
"countryCode": countryCode,
|
||||
"countryName": countryName,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,29 +2,29 @@ part of '../../models.dart';
|
||||
|
||||
/// Phones List
|
||||
class PhoneList implements Model {
|
||||
/// Total number of phones that matched your query.
|
||||
final int total;
|
||||
/// Total number of phones that matched your query.
|
||||
final int total;
|
||||
|
||||
/// List of phones.
|
||||
final List<Phone> phones;
|
||||
/// List of phones.
|
||||
final List<Phone> phones;
|
||||
|
||||
PhoneList({
|
||||
required this.total,
|
||||
required this.phones,
|
||||
});
|
||||
PhoneList({
|
||||
required this.total,
|
||||
required this.phones,
|
||||
});
|
||||
|
||||
factory PhoneList.fromMap(Map<String, dynamic> map) {
|
||||
return PhoneList(
|
||||
total: map['total'],
|
||||
phones: List<Phone>.from(map['phones'].map((p) => Phone.fromMap(p))),
|
||||
);
|
||||
}
|
||||
factory PhoneList.fromMap(Map<String, dynamic> map) {
|
||||
return PhoneList(
|
||||
total: map['total'],
|
||||
phones: List<Phone>.from(map['phones'].map((p) => Phone.fromMap(p))),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"phones": phones.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"phones": phones.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,24 +2,24 @@ part of '../../models.dart';
|
||||
|
||||
/// Preferences
|
||||
class Preferences implements Model {
|
||||
final Map<String, dynamic> data;
|
||||
final Map<String, dynamic> data;
|
||||
|
||||
Preferences({
|
||||
required this.data,
|
||||
});
|
||||
Preferences({
|
||||
required this.data,
|
||||
});
|
||||
|
||||
factory Preferences.fromMap(Map<String, dynamic> map) {
|
||||
return Preferences(
|
||||
data: map["data"] ?? map,
|
||||
);
|
||||
}
|
||||
factory Preferences.fromMap(Map<String, dynamic> map) {
|
||||
return Preferences(
|
||||
data: map["data"] ?? map,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"data": data,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"data": data,
|
||||
};
|
||||
}
|
||||
|
||||
T convertTo<T>(T Function(Map<String, dynamic>) fromJson) => fromJson(data);
|
||||
T convertTo<T>(T Function(Map<String, dynamic>) fromJson) => fromJson(data);
|
||||
}
|
||||
|
||||
+51
-51
@@ -2,66 +2,66 @@ part of '../../models.dart';
|
||||
|
||||
/// Row
|
||||
class Row implements Model {
|
||||
/// Row ID.
|
||||
final String $id;
|
||||
/// Row ID.
|
||||
final String $id;
|
||||
|
||||
/// Row automatically incrementing ID.
|
||||
final int $sequence;
|
||||
/// Row automatically incrementing ID.
|
||||
final int $sequence;
|
||||
|
||||
/// Table ID.
|
||||
final String $tableId;
|
||||
/// Table ID.
|
||||
final String $tableId;
|
||||
|
||||
/// Database ID.
|
||||
final String $databaseId;
|
||||
/// Database ID.
|
||||
final String $databaseId;
|
||||
|
||||
/// Row creation date in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
/// Row creation date in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
|
||||
/// Row update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
/// Row update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
|
||||
/// Row permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).
|
||||
final List<String> $permissions;
|
||||
/// Row permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).
|
||||
final List<String> $permissions;
|
||||
|
||||
final Map<String, dynamic> data;
|
||||
final Map<String, dynamic> data;
|
||||
|
||||
Row({
|
||||
required this.$id,
|
||||
required this.$sequence,
|
||||
required this.$tableId,
|
||||
required this.$databaseId,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.$permissions,
|
||||
required this.data,
|
||||
});
|
||||
Row({
|
||||
required this.$id,
|
||||
required this.$sequence,
|
||||
required this.$tableId,
|
||||
required this.$databaseId,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.$permissions,
|
||||
required this.data,
|
||||
});
|
||||
|
||||
factory Row.fromMap(Map<String, dynamic> map) {
|
||||
return Row(
|
||||
$id: map['\$id'].toString(),
|
||||
$sequence: map['\$sequence'],
|
||||
$tableId: map['\$tableId'].toString(),
|
||||
$databaseId: map['\$databaseId'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
$permissions: List.from(map['\$permissions'] ?? []),
|
||||
data: map["data"] ?? map,
|
||||
);
|
||||
}
|
||||
factory Row.fromMap(Map<String, dynamic> map) {
|
||||
return Row(
|
||||
$id: map['\$id'].toString(),
|
||||
$sequence: map['\$sequence'],
|
||||
$tableId: map['\$tableId'].toString(),
|
||||
$databaseId: map['\$databaseId'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
$permissions: List.from(map['\$permissions'] ?? []),
|
||||
data: map["data"] ?? map,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$sequence": $sequence,
|
||||
"\$tableId": $tableId,
|
||||
"\$databaseId": $databaseId,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"\$permissions": $permissions,
|
||||
"data": data,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$sequence": $sequence,
|
||||
"\$tableId": $tableId,
|
||||
"\$databaseId": $databaseId,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"\$permissions": $permissions,
|
||||
"data": data,
|
||||
};
|
||||
}
|
||||
|
||||
T convertTo<T>(T Function(Map<String, dynamic>) fromJson) => fromJson(data);
|
||||
T convertTo<T>(T Function(Map<String, dynamic>) fromJson) => fromJson(data);
|
||||
}
|
||||
|
||||
@@ -2,32 +2,32 @@ part of '../../models.dart';
|
||||
|
||||
/// Rows List
|
||||
class RowList implements Model {
|
||||
/// Total number of rows that matched your query.
|
||||
final int total;
|
||||
/// Total number of rows that matched your query.
|
||||
final int total;
|
||||
|
||||
/// List of rows.
|
||||
final List<Row> rows;
|
||||
/// List of rows.
|
||||
final List<Row> rows;
|
||||
|
||||
RowList({
|
||||
required this.total,
|
||||
required this.rows,
|
||||
});
|
||||
RowList({
|
||||
required this.total,
|
||||
required this.rows,
|
||||
});
|
||||
|
||||
factory RowList.fromMap(Map<String, dynamic> map) {
|
||||
return RowList(
|
||||
total: map['total'],
|
||||
rows: List<Row>.from(map['rows'].map((p) => Row.fromMap(p))),
|
||||
);
|
||||
}
|
||||
factory RowList.fromMap(Map<String, dynamic> map) {
|
||||
return RowList(
|
||||
total: map['total'],
|
||||
rows: List<Row>.from(map['rows'].map((p) => Row.fromMap(p))),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"rows": rows.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"rows": rows.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
|
||||
List<T> convertTo<T>(T Function(Map) fromJson) =>
|
||||
rows.map((d) => d.convertTo<T>(fromJson)).toList();
|
||||
List<T> convertTo<T>(T Function(Map) fromJson) =>
|
||||
rows.map((d) => d.convertTo<T>(fromJson)).toList();
|
||||
}
|
||||
|
||||
+156
-156
@@ -2,191 +2,191 @@ part of '../../models.dart';
|
||||
|
||||
/// Session
|
||||
class Session implements Model {
|
||||
/// Session ID.
|
||||
final String $id;
|
||||
/// Session ID.
|
||||
final String $id;
|
||||
|
||||
/// Session creation date in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
/// Session creation date in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
|
||||
/// Session update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
/// Session update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
|
||||
/// User ID.
|
||||
final String userId;
|
||||
/// User ID.
|
||||
final String userId;
|
||||
|
||||
/// Session expiration date in ISO 8601 format.
|
||||
final String expire;
|
||||
/// Session expiration date in ISO 8601 format.
|
||||
final String expire;
|
||||
|
||||
/// Session Provider.
|
||||
final String provider;
|
||||
/// Session Provider.
|
||||
final String provider;
|
||||
|
||||
/// Session Provider User ID.
|
||||
final String providerUid;
|
||||
/// Session Provider User ID.
|
||||
final String providerUid;
|
||||
|
||||
/// Session Provider Access Token.
|
||||
final String providerAccessToken;
|
||||
/// Session Provider Access Token.
|
||||
final String providerAccessToken;
|
||||
|
||||
/// The date of when the access token expires in ISO 8601 format.
|
||||
final String providerAccessTokenExpiry;
|
||||
/// The date of when the access token expires in ISO 8601 format.
|
||||
final String providerAccessTokenExpiry;
|
||||
|
||||
/// Session Provider Refresh Token.
|
||||
final String providerRefreshToken;
|
||||
/// Session Provider Refresh Token.
|
||||
final String providerRefreshToken;
|
||||
|
||||
/// IP in use when the session was created.
|
||||
final String ip;
|
||||
/// IP in use when the session was created.
|
||||
final String ip;
|
||||
|
||||
/// Operating system code name. View list of [available options](https://github.com/appwrite/appwrite/blob/master/docs/lists/os.json).
|
||||
final String osCode;
|
||||
/// Operating system code name. View list of [available options](https://github.com/appwrite/appwrite/blob/master/docs/lists/os.json).
|
||||
final String osCode;
|
||||
|
||||
/// Operating system name.
|
||||
final String osName;
|
||||
/// Operating system name.
|
||||
final String osName;
|
||||
|
||||
/// Operating system version.
|
||||
final String osVersion;
|
||||
/// Operating system version.
|
||||
final String osVersion;
|
||||
|
||||
/// Client type.
|
||||
final String clientType;
|
||||
/// Client type.
|
||||
final String clientType;
|
||||
|
||||
/// Client code name. View list of [available options](https://github.com/appwrite/appwrite/blob/master/docs/lists/clients.json).
|
||||
final String clientCode;
|
||||
/// Client code name. View list of [available options](https://github.com/appwrite/appwrite/blob/master/docs/lists/clients.json).
|
||||
final String clientCode;
|
||||
|
||||
/// Client name.
|
||||
final String clientName;
|
||||
/// Client name.
|
||||
final String clientName;
|
||||
|
||||
/// Client version.
|
||||
final String clientVersion;
|
||||
/// Client version.
|
||||
final String clientVersion;
|
||||
|
||||
/// Client engine name.
|
||||
final String clientEngine;
|
||||
/// Client engine name.
|
||||
final String clientEngine;
|
||||
|
||||
/// Client engine name.
|
||||
final String clientEngineVersion;
|
||||
/// Client engine name.
|
||||
final String clientEngineVersion;
|
||||
|
||||
/// Device name.
|
||||
final String deviceName;
|
||||
/// Device name.
|
||||
final String deviceName;
|
||||
|
||||
/// Device brand name.
|
||||
final String deviceBrand;
|
||||
/// Device brand name.
|
||||
final String deviceBrand;
|
||||
|
||||
/// Device model name.
|
||||
final String deviceModel;
|
||||
/// Device model name.
|
||||
final String deviceModel;
|
||||
|
||||
/// Country two-character ISO 3166-1 alpha code.
|
||||
final String countryCode;
|
||||
/// Country two-character ISO 3166-1 alpha code.
|
||||
final String countryCode;
|
||||
|
||||
/// Country name.
|
||||
final String countryName;
|
||||
/// Country name.
|
||||
final String countryName;
|
||||
|
||||
/// Returns true if this the current user session.
|
||||
final bool current;
|
||||
/// Returns true if this the current user session.
|
||||
final bool current;
|
||||
|
||||
/// Returns a list of active session factors.
|
||||
final List<String> factors;
|
||||
/// Returns a list of active session factors.
|
||||
final List<String> factors;
|
||||
|
||||
/// Secret used to authenticate the user. Only included if the request was made with an API key
|
||||
final String secret;
|
||||
/// Secret used to authenticate the user. Only included if the request was made with an API key
|
||||
final String secret;
|
||||
|
||||
/// Most recent date in ISO 8601 format when the session successfully passed MFA challenge.
|
||||
final String mfaUpdatedAt;
|
||||
/// Most recent date in ISO 8601 format when the session successfully passed MFA challenge.
|
||||
final String mfaUpdatedAt;
|
||||
|
||||
Session({
|
||||
required this.$id,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.userId,
|
||||
required this.expire,
|
||||
required this.provider,
|
||||
required this.providerUid,
|
||||
required this.providerAccessToken,
|
||||
required this.providerAccessTokenExpiry,
|
||||
required this.providerRefreshToken,
|
||||
required this.ip,
|
||||
required this.osCode,
|
||||
required this.osName,
|
||||
required this.osVersion,
|
||||
required this.clientType,
|
||||
required this.clientCode,
|
||||
required this.clientName,
|
||||
required this.clientVersion,
|
||||
required this.clientEngine,
|
||||
required this.clientEngineVersion,
|
||||
required this.deviceName,
|
||||
required this.deviceBrand,
|
||||
required this.deviceModel,
|
||||
required this.countryCode,
|
||||
required this.countryName,
|
||||
required this.current,
|
||||
required this.factors,
|
||||
required this.secret,
|
||||
required this.mfaUpdatedAt,
|
||||
});
|
||||
Session({
|
||||
required this.$id,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.userId,
|
||||
required this.expire,
|
||||
required this.provider,
|
||||
required this.providerUid,
|
||||
required this.providerAccessToken,
|
||||
required this.providerAccessTokenExpiry,
|
||||
required this.providerRefreshToken,
|
||||
required this.ip,
|
||||
required this.osCode,
|
||||
required this.osName,
|
||||
required this.osVersion,
|
||||
required this.clientType,
|
||||
required this.clientCode,
|
||||
required this.clientName,
|
||||
required this.clientVersion,
|
||||
required this.clientEngine,
|
||||
required this.clientEngineVersion,
|
||||
required this.deviceName,
|
||||
required this.deviceBrand,
|
||||
required this.deviceModel,
|
||||
required this.countryCode,
|
||||
required this.countryName,
|
||||
required this.current,
|
||||
required this.factors,
|
||||
required this.secret,
|
||||
required this.mfaUpdatedAt,
|
||||
});
|
||||
|
||||
factory Session.fromMap(Map<String, dynamic> map) {
|
||||
return Session(
|
||||
$id: map['\$id'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
userId: map['userId'].toString(),
|
||||
expire: map['expire'].toString(),
|
||||
provider: map['provider'].toString(),
|
||||
providerUid: map['providerUid'].toString(),
|
||||
providerAccessToken: map['providerAccessToken'].toString(),
|
||||
providerAccessTokenExpiry: map['providerAccessTokenExpiry'].toString(),
|
||||
providerRefreshToken: map['providerRefreshToken'].toString(),
|
||||
ip: map['ip'].toString(),
|
||||
osCode: map['osCode'].toString(),
|
||||
osName: map['osName'].toString(),
|
||||
osVersion: map['osVersion'].toString(),
|
||||
clientType: map['clientType'].toString(),
|
||||
clientCode: map['clientCode'].toString(),
|
||||
clientName: map['clientName'].toString(),
|
||||
clientVersion: map['clientVersion'].toString(),
|
||||
clientEngine: map['clientEngine'].toString(),
|
||||
clientEngineVersion: map['clientEngineVersion'].toString(),
|
||||
deviceName: map['deviceName'].toString(),
|
||||
deviceBrand: map['deviceBrand'].toString(),
|
||||
deviceModel: map['deviceModel'].toString(),
|
||||
countryCode: map['countryCode'].toString(),
|
||||
countryName: map['countryName'].toString(),
|
||||
current: map['current'],
|
||||
factors: List.from(map['factors'] ?? []),
|
||||
secret: map['secret'].toString(),
|
||||
mfaUpdatedAt: map['mfaUpdatedAt'].toString(),
|
||||
);
|
||||
}
|
||||
factory Session.fromMap(Map<String, dynamic> map) {
|
||||
return Session(
|
||||
$id: map['\$id'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
userId: map['userId'].toString(),
|
||||
expire: map['expire'].toString(),
|
||||
provider: map['provider'].toString(),
|
||||
providerUid: map['providerUid'].toString(),
|
||||
providerAccessToken: map['providerAccessToken'].toString(),
|
||||
providerAccessTokenExpiry: map['providerAccessTokenExpiry'].toString(),
|
||||
providerRefreshToken: map['providerRefreshToken'].toString(),
|
||||
ip: map['ip'].toString(),
|
||||
osCode: map['osCode'].toString(),
|
||||
osName: map['osName'].toString(),
|
||||
osVersion: map['osVersion'].toString(),
|
||||
clientType: map['clientType'].toString(),
|
||||
clientCode: map['clientCode'].toString(),
|
||||
clientName: map['clientName'].toString(),
|
||||
clientVersion: map['clientVersion'].toString(),
|
||||
clientEngine: map['clientEngine'].toString(),
|
||||
clientEngineVersion: map['clientEngineVersion'].toString(),
|
||||
deviceName: map['deviceName'].toString(),
|
||||
deviceBrand: map['deviceBrand'].toString(),
|
||||
deviceModel: map['deviceModel'].toString(),
|
||||
countryCode: map['countryCode'].toString(),
|
||||
countryName: map['countryName'].toString(),
|
||||
current: map['current'],
|
||||
factors: List.from(map['factors'] ?? []),
|
||||
secret: map['secret'].toString(),
|
||||
mfaUpdatedAt: map['mfaUpdatedAt'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"userId": userId,
|
||||
"expire": expire,
|
||||
"provider": provider,
|
||||
"providerUid": providerUid,
|
||||
"providerAccessToken": providerAccessToken,
|
||||
"providerAccessTokenExpiry": providerAccessTokenExpiry,
|
||||
"providerRefreshToken": providerRefreshToken,
|
||||
"ip": ip,
|
||||
"osCode": osCode,
|
||||
"osName": osName,
|
||||
"osVersion": osVersion,
|
||||
"clientType": clientType,
|
||||
"clientCode": clientCode,
|
||||
"clientName": clientName,
|
||||
"clientVersion": clientVersion,
|
||||
"clientEngine": clientEngine,
|
||||
"clientEngineVersion": clientEngineVersion,
|
||||
"deviceName": deviceName,
|
||||
"deviceBrand": deviceBrand,
|
||||
"deviceModel": deviceModel,
|
||||
"countryCode": countryCode,
|
||||
"countryName": countryName,
|
||||
"current": current,
|
||||
"factors": factors,
|
||||
"secret": secret,
|
||||
"mfaUpdatedAt": mfaUpdatedAt,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"userId": userId,
|
||||
"expire": expire,
|
||||
"provider": provider,
|
||||
"providerUid": providerUid,
|
||||
"providerAccessToken": providerAccessToken,
|
||||
"providerAccessTokenExpiry": providerAccessTokenExpiry,
|
||||
"providerRefreshToken": providerRefreshToken,
|
||||
"ip": ip,
|
||||
"osCode": osCode,
|
||||
"osName": osName,
|
||||
"osVersion": osVersion,
|
||||
"clientType": clientType,
|
||||
"clientCode": clientCode,
|
||||
"clientName": clientName,
|
||||
"clientVersion": clientVersion,
|
||||
"clientEngine": clientEngine,
|
||||
"clientEngineVersion": clientEngineVersion,
|
||||
"deviceName": deviceName,
|
||||
"deviceBrand": deviceBrand,
|
||||
"deviceModel": deviceModel,
|
||||
"countryCode": countryCode,
|
||||
"countryName": countryName,
|
||||
"current": current,
|
||||
"factors": factors,
|
||||
"secret": secret,
|
||||
"mfaUpdatedAt": mfaUpdatedAt,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,29 +2,30 @@ part of '../../models.dart';
|
||||
|
||||
/// Sessions List
|
||||
class SessionList implements Model {
|
||||
/// Total number of sessions that matched your query.
|
||||
final int total;
|
||||
/// Total number of sessions that matched your query.
|
||||
final int total;
|
||||
|
||||
/// List of sessions.
|
||||
final List<Session> sessions;
|
||||
/// List of sessions.
|
||||
final List<Session> sessions;
|
||||
|
||||
SessionList({
|
||||
required this.total,
|
||||
required this.sessions,
|
||||
});
|
||||
SessionList({
|
||||
required this.total,
|
||||
required this.sessions,
|
||||
});
|
||||
|
||||
factory SessionList.fromMap(Map<String, dynamic> map) {
|
||||
return SessionList(
|
||||
total: map['total'],
|
||||
sessions: List<Session>.from(map['sessions'].map((p) => Session.fromMap(p))),
|
||||
);
|
||||
}
|
||||
factory SessionList.fromMap(Map<String, dynamic> map) {
|
||||
return SessionList(
|
||||
total: map['total'],
|
||||
sessions:
|
||||
List<Session>.from(map['sessions'].map((p) => Session.fromMap(p))),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"sessions": sessions.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"sessions": sessions.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,71 +2,71 @@ part of '../../models.dart';
|
||||
|
||||
/// Subscriber
|
||||
class Subscriber implements Model {
|
||||
/// Subscriber ID.
|
||||
final String $id;
|
||||
/// Subscriber ID.
|
||||
final String $id;
|
||||
|
||||
/// Subscriber creation time in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
/// Subscriber creation time in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
|
||||
/// Subscriber update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
/// Subscriber update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
|
||||
/// Target ID.
|
||||
final String targetId;
|
||||
/// Target ID.
|
||||
final String targetId;
|
||||
|
||||
/// Target.
|
||||
final Target target;
|
||||
/// Target.
|
||||
final Target target;
|
||||
|
||||
/// Topic ID.
|
||||
final String userId;
|
||||
/// Topic ID.
|
||||
final String userId;
|
||||
|
||||
/// User Name.
|
||||
final String userName;
|
||||
/// User Name.
|
||||
final String userName;
|
||||
|
||||
/// Topic ID.
|
||||
final String topicId;
|
||||
/// Topic ID.
|
||||
final String topicId;
|
||||
|
||||
/// The target provider type. Can be one of the following: `email`, `sms` or `push`.
|
||||
final String providerType;
|
||||
/// The target provider type. Can be one of the following: `email`, `sms` or `push`.
|
||||
final String providerType;
|
||||
|
||||
Subscriber({
|
||||
required this.$id,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.targetId,
|
||||
required this.target,
|
||||
required this.userId,
|
||||
required this.userName,
|
||||
required this.topicId,
|
||||
required this.providerType,
|
||||
});
|
||||
Subscriber({
|
||||
required this.$id,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.targetId,
|
||||
required this.target,
|
||||
required this.userId,
|
||||
required this.userName,
|
||||
required this.topicId,
|
||||
required this.providerType,
|
||||
});
|
||||
|
||||
factory Subscriber.fromMap(Map<String, dynamic> map) {
|
||||
return Subscriber(
|
||||
$id: map['\$id'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
targetId: map['targetId'].toString(),
|
||||
target: Target.fromMap(map['target']),
|
||||
userId: map['userId'].toString(),
|
||||
userName: map['userName'].toString(),
|
||||
topicId: map['topicId'].toString(),
|
||||
providerType: map['providerType'].toString(),
|
||||
);
|
||||
}
|
||||
factory Subscriber.fromMap(Map<String, dynamic> map) {
|
||||
return Subscriber(
|
||||
$id: map['\$id'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
targetId: map['targetId'].toString(),
|
||||
target: Target.fromMap(map['target']),
|
||||
userId: map['userId'].toString(),
|
||||
userName: map['userName'].toString(),
|
||||
topicId: map['topicId'].toString(),
|
||||
providerType: map['providerType'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"targetId": targetId,
|
||||
"target": target.toMap(),
|
||||
"userId": userId,
|
||||
"userName": userName,
|
||||
"topicId": topicId,
|
||||
"providerType": providerType,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"targetId": targetId,
|
||||
"target": target.toMap(),
|
||||
"userId": userId,
|
||||
"userName": userName,
|
||||
"topicId": topicId,
|
||||
"providerType": providerType,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
+56
-56
@@ -2,71 +2,71 @@ part of '../../models.dart';
|
||||
|
||||
/// Target
|
||||
class Target implements Model {
|
||||
/// Target ID.
|
||||
final String $id;
|
||||
/// Target ID.
|
||||
final String $id;
|
||||
|
||||
/// Target creation time in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
/// Target creation time in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
|
||||
/// Target update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
/// Target update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
|
||||
/// Target Name.
|
||||
final String name;
|
||||
/// Target Name.
|
||||
final String name;
|
||||
|
||||
/// User ID.
|
||||
final String userId;
|
||||
/// User ID.
|
||||
final String userId;
|
||||
|
||||
/// Provider ID.
|
||||
final String? providerId;
|
||||
/// Provider ID.
|
||||
final String? providerId;
|
||||
|
||||
/// The target provider type. Can be one of the following: `email`, `sms` or `push`.
|
||||
final String providerType;
|
||||
/// The target provider type. Can be one of the following: `email`, `sms` or `push`.
|
||||
final String providerType;
|
||||
|
||||
/// The target identifier.
|
||||
final String identifier;
|
||||
/// The target identifier.
|
||||
final String identifier;
|
||||
|
||||
/// Is the target expired.
|
||||
final bool expired;
|
||||
/// Is the target expired.
|
||||
final bool expired;
|
||||
|
||||
Target({
|
||||
required this.$id,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.name,
|
||||
required this.userId,
|
||||
this.providerId,
|
||||
required this.providerType,
|
||||
required this.identifier,
|
||||
required this.expired,
|
||||
});
|
||||
Target({
|
||||
required this.$id,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.name,
|
||||
required this.userId,
|
||||
this.providerId,
|
||||
required this.providerType,
|
||||
required this.identifier,
|
||||
required this.expired,
|
||||
});
|
||||
|
||||
factory Target.fromMap(Map<String, dynamic> map) {
|
||||
return Target(
|
||||
$id: map['\$id'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
name: map['name'].toString(),
|
||||
userId: map['userId'].toString(),
|
||||
providerId: map['providerId']?.toString(),
|
||||
providerType: map['providerType'].toString(),
|
||||
identifier: map['identifier'].toString(),
|
||||
expired: map['expired'],
|
||||
);
|
||||
}
|
||||
factory Target.fromMap(Map<String, dynamic> map) {
|
||||
return Target(
|
||||
$id: map['\$id'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
name: map['name'].toString(),
|
||||
userId: map['userId'].toString(),
|
||||
providerId: map['providerId']?.toString(),
|
||||
providerType: map['providerType'].toString(),
|
||||
identifier: map['identifier'].toString(),
|
||||
expired: map['expired'],
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"name": name,
|
||||
"userId": userId,
|
||||
"providerId": providerId,
|
||||
"providerType": providerType,
|
||||
"identifier": identifier,
|
||||
"expired": expired,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"name": name,
|
||||
"userId": userId,
|
||||
"providerId": providerId,
|
||||
"providerType": providerType,
|
||||
"identifier": identifier,
|
||||
"expired": expired,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
+41
-41
@@ -2,53 +2,53 @@ part of '../../models.dart';
|
||||
|
||||
/// Team
|
||||
class Team implements Model {
|
||||
/// Team ID.
|
||||
final String $id;
|
||||
/// Team ID.
|
||||
final String $id;
|
||||
|
||||
/// Team creation date in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
/// Team creation date in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
|
||||
/// Team update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
/// Team update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
|
||||
/// Team name.
|
||||
final String name;
|
||||
/// Team name.
|
||||
final String name;
|
||||
|
||||
/// Total number of team members.
|
||||
final int total;
|
||||
/// Total number of team members.
|
||||
final int total;
|
||||
|
||||
/// Team preferences as a key-value object
|
||||
final Preferences prefs;
|
||||
/// Team preferences as a key-value object
|
||||
final Preferences prefs;
|
||||
|
||||
Team({
|
||||
required this.$id,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.name,
|
||||
required this.total,
|
||||
required this.prefs,
|
||||
});
|
||||
Team({
|
||||
required this.$id,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.name,
|
||||
required this.total,
|
||||
required this.prefs,
|
||||
});
|
||||
|
||||
factory Team.fromMap(Map<String, dynamic> map) {
|
||||
return Team(
|
||||
$id: map['\$id'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
name: map['name'].toString(),
|
||||
total: map['total'],
|
||||
prefs: Preferences.fromMap(map['prefs']),
|
||||
);
|
||||
}
|
||||
factory Team.fromMap(Map<String, dynamic> map) {
|
||||
return Team(
|
||||
$id: map['\$id'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
name: map['name'].toString(),
|
||||
total: map['total'],
|
||||
prefs: Preferences.fromMap(map['prefs']),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"name": name,
|
||||
"total": total,
|
||||
"prefs": prefs.toMap(),
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"name": name,
|
||||
"total": total,
|
||||
"prefs": prefs.toMap(),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,29 +2,29 @@ part of '../../models.dart';
|
||||
|
||||
/// Teams List
|
||||
class TeamList implements Model {
|
||||
/// Total number of teams that matched your query.
|
||||
final int total;
|
||||
/// Total number of teams that matched your query.
|
||||
final int total;
|
||||
|
||||
/// List of teams.
|
||||
final List<Team> teams;
|
||||
/// List of teams.
|
||||
final List<Team> teams;
|
||||
|
||||
TeamList({
|
||||
required this.total,
|
||||
required this.teams,
|
||||
});
|
||||
TeamList({
|
||||
required this.total,
|
||||
required this.teams,
|
||||
});
|
||||
|
||||
factory TeamList.fromMap(Map<String, dynamic> map) {
|
||||
return TeamList(
|
||||
total: map['total'],
|
||||
teams: List<Team>.from(map['teams'].map((p) => Team.fromMap(p))),
|
||||
);
|
||||
}
|
||||
factory TeamList.fromMap(Map<String, dynamic> map) {
|
||||
return TeamList(
|
||||
total: map['total'],
|
||||
teams: List<Team>.from(map['teams'].map((p) => Team.fromMap(p))),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"teams": teams.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"teams": teams.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
+41
-41
@@ -2,53 +2,53 @@ part of '../../models.dart';
|
||||
|
||||
/// Token
|
||||
class Token implements Model {
|
||||
/// Token ID.
|
||||
final String $id;
|
||||
/// Token ID.
|
||||
final String $id;
|
||||
|
||||
/// Token creation date in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
/// Token creation date in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
|
||||
/// User ID.
|
||||
final String userId;
|
||||
/// User ID.
|
||||
final String userId;
|
||||
|
||||
/// Token secret key. This will return an empty string unless the response is returned using an API key or as part of a webhook payload.
|
||||
final String secret;
|
||||
/// Token secret key. This will return an empty string unless the response is returned using an API key or as part of a webhook payload.
|
||||
final String secret;
|
||||
|
||||
/// Token expiration date in ISO 8601 format.
|
||||
final String expire;
|
||||
/// Token expiration date in ISO 8601 format.
|
||||
final String expire;
|
||||
|
||||
/// Security phrase of a token. Empty if security phrase was not requested when creating a token. It includes randomly generated phrase which is also sent in the external resource such as email.
|
||||
final String phrase;
|
||||
/// Security phrase of a token. Empty if security phrase was not requested when creating a token. It includes randomly generated phrase which is also sent in the external resource such as email.
|
||||
final String phrase;
|
||||
|
||||
Token({
|
||||
required this.$id,
|
||||
required this.$createdAt,
|
||||
required this.userId,
|
||||
required this.secret,
|
||||
required this.expire,
|
||||
required this.phrase,
|
||||
});
|
||||
Token({
|
||||
required this.$id,
|
||||
required this.$createdAt,
|
||||
required this.userId,
|
||||
required this.secret,
|
||||
required this.expire,
|
||||
required this.phrase,
|
||||
});
|
||||
|
||||
factory Token.fromMap(Map<String, dynamic> map) {
|
||||
return Token(
|
||||
$id: map['\$id'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
userId: map['userId'].toString(),
|
||||
secret: map['secret'].toString(),
|
||||
expire: map['expire'].toString(),
|
||||
phrase: map['phrase'].toString(),
|
||||
);
|
||||
}
|
||||
factory Token.fromMap(Map<String, dynamic> map) {
|
||||
return Token(
|
||||
$id: map['\$id'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
userId: map['userId'].toString(),
|
||||
secret: map['secret'].toString(),
|
||||
expire: map['expire'].toString(),
|
||||
phrase: map['phrase'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$createdAt": $createdAt,
|
||||
"userId": userId,
|
||||
"secret": secret,
|
||||
"expire": expire,
|
||||
"phrase": phrase,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$createdAt": $createdAt,
|
||||
"userId": userId,
|
||||
"secret": secret,
|
||||
"expire": expire,
|
||||
"phrase": phrase,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,53 +2,53 @@ part of '../../models.dart';
|
||||
|
||||
/// Transaction
|
||||
class Transaction implements Model {
|
||||
/// Transaction ID.
|
||||
final String $id;
|
||||
/// Transaction ID.
|
||||
final String $id;
|
||||
|
||||
/// Transaction creation time in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
/// Transaction creation time in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
|
||||
/// Transaction update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
/// Transaction update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
|
||||
/// Current status of the transaction. One of: pending, committing, committed, rolled_back, failed.
|
||||
final String status;
|
||||
/// Current status of the transaction. One of: pending, committing, committed, rolled_back, failed.
|
||||
final String status;
|
||||
|
||||
/// Number of operations in the transaction.
|
||||
final int operations;
|
||||
/// Number of operations in the transaction.
|
||||
final int operations;
|
||||
|
||||
/// Expiration time in ISO 8601 format.
|
||||
final String expiresAt;
|
||||
/// Expiration time in ISO 8601 format.
|
||||
final String expiresAt;
|
||||
|
||||
Transaction({
|
||||
required this.$id,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.status,
|
||||
required this.operations,
|
||||
required this.expiresAt,
|
||||
});
|
||||
Transaction({
|
||||
required this.$id,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.status,
|
||||
required this.operations,
|
||||
required this.expiresAt,
|
||||
});
|
||||
|
||||
factory Transaction.fromMap(Map<String, dynamic> map) {
|
||||
return Transaction(
|
||||
$id: map['\$id'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
status: map['status'].toString(),
|
||||
operations: map['operations'],
|
||||
expiresAt: map['expiresAt'].toString(),
|
||||
);
|
||||
}
|
||||
factory Transaction.fromMap(Map<String, dynamic> map) {
|
||||
return Transaction(
|
||||
$id: map['\$id'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
status: map['status'].toString(),
|
||||
operations: map['operations'],
|
||||
expiresAt: map['expiresAt'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"status": status,
|
||||
"operations": operations,
|
||||
"expiresAt": expiresAt,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"status": status,
|
||||
"operations": operations,
|
||||
"expiresAt": expiresAt,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,29 +2,30 @@ part of '../../models.dart';
|
||||
|
||||
/// Transaction List
|
||||
class TransactionList implements Model {
|
||||
/// Total number of transactions that matched your query.
|
||||
final int total;
|
||||
/// Total number of transactions that matched your query.
|
||||
final int total;
|
||||
|
||||
/// List of transactions.
|
||||
final List<Transaction> transactions;
|
||||
/// List of transactions.
|
||||
final List<Transaction> transactions;
|
||||
|
||||
TransactionList({
|
||||
required this.total,
|
||||
required this.transactions,
|
||||
});
|
||||
TransactionList({
|
||||
required this.total,
|
||||
required this.transactions,
|
||||
});
|
||||
|
||||
factory TransactionList.fromMap(Map<String, dynamic> map) {
|
||||
return TransactionList(
|
||||
total: map['total'],
|
||||
transactions: List<Transaction>.from(map['transactions'].map((p) => Transaction.fromMap(p))),
|
||||
);
|
||||
}
|
||||
factory TransactionList.fromMap(Map<String, dynamic> map) {
|
||||
return TransactionList(
|
||||
total: map['total'],
|
||||
transactions: List<Transaction>.from(
|
||||
map['transactions'].map((p) => Transaction.fromMap(p))),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"transactions": transactions.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"total": total,
|
||||
"transactions": transactions.map((p) => p.toMap()).toList(),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
+106
-106
@@ -2,131 +2,131 @@ part of '../../models.dart';
|
||||
|
||||
/// User
|
||||
class User implements Model {
|
||||
/// User ID.
|
||||
final String $id;
|
||||
/// User ID.
|
||||
final String $id;
|
||||
|
||||
/// User creation date in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
/// User creation date in ISO 8601 format.
|
||||
final String $createdAt;
|
||||
|
||||
/// User update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
/// User update date in ISO 8601 format.
|
||||
final String $updatedAt;
|
||||
|
||||
/// User name.
|
||||
final String name;
|
||||
/// User name.
|
||||
final String name;
|
||||
|
||||
/// Hashed user password.
|
||||
final String? password;
|
||||
/// Hashed user password.
|
||||
final String? password;
|
||||
|
||||
/// Password hashing algorithm.
|
||||
final String? hash;
|
||||
/// Password hashing algorithm.
|
||||
final String? hash;
|
||||
|
||||
/// Password hashing algorithm configuration.
|
||||
final Map? hashOptions;
|
||||
/// Password hashing algorithm configuration.
|
||||
final Map? hashOptions;
|
||||
|
||||
/// User registration date in ISO 8601 format.
|
||||
final String registration;
|
||||
/// User registration date in ISO 8601 format.
|
||||
final String registration;
|
||||
|
||||
/// User status. Pass `true` for enabled and `false` for disabled.
|
||||
final bool status;
|
||||
/// User status. Pass `true` for enabled and `false` for disabled.
|
||||
final bool status;
|
||||
|
||||
/// Labels for the user.
|
||||
final List<String> labels;
|
||||
/// Labels for the user.
|
||||
final List<String> labels;
|
||||
|
||||
/// Password update time in ISO 8601 format.
|
||||
final String passwordUpdate;
|
||||
/// Password update time in ISO 8601 format.
|
||||
final String passwordUpdate;
|
||||
|
||||
/// User email address.
|
||||
final String email;
|
||||
/// User email address.
|
||||
final String email;
|
||||
|
||||
/// User phone number in E.164 format.
|
||||
final String phone;
|
||||
/// User phone number in E.164 format.
|
||||
final String phone;
|
||||
|
||||
/// Email verification status.
|
||||
final bool emailVerification;
|
||||
/// Email verification status.
|
||||
final bool emailVerification;
|
||||
|
||||
/// Phone verification status.
|
||||
final bool phoneVerification;
|
||||
/// Phone verification status.
|
||||
final bool phoneVerification;
|
||||
|
||||
/// Multi factor authentication status.
|
||||
final bool mfa;
|
||||
/// Multi factor authentication status.
|
||||
final bool mfa;
|
||||
|
||||
/// User preferences as a key-value object
|
||||
final Preferences prefs;
|
||||
/// User preferences as a key-value object
|
||||
final Preferences prefs;
|
||||
|
||||
/// A user-owned message receiver. A single user may have multiple e.g. emails, phones, and a browser. Each target is registered with a single provider.
|
||||
final List<Target> targets;
|
||||
/// A user-owned message receiver. A single user may have multiple e.g. emails, phones, and a browser. Each target is registered with a single provider.
|
||||
final List<Target> targets;
|
||||
|
||||
/// Most recent access date in ISO 8601 format. This attribute is only updated again after 24 hours.
|
||||
final String accessedAt;
|
||||
/// Most recent access date in ISO 8601 format. This attribute is only updated again after 24 hours.
|
||||
final String accessedAt;
|
||||
|
||||
User({
|
||||
required this.$id,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.name,
|
||||
this.password,
|
||||
this.hash,
|
||||
this.hashOptions,
|
||||
required this.registration,
|
||||
required this.status,
|
||||
required this.labels,
|
||||
required this.passwordUpdate,
|
||||
required this.email,
|
||||
required this.phone,
|
||||
required this.emailVerification,
|
||||
required this.phoneVerification,
|
||||
required this.mfa,
|
||||
required this.prefs,
|
||||
required this.targets,
|
||||
required this.accessedAt,
|
||||
});
|
||||
User({
|
||||
required this.$id,
|
||||
required this.$createdAt,
|
||||
required this.$updatedAt,
|
||||
required this.name,
|
||||
this.password,
|
||||
this.hash,
|
||||
this.hashOptions,
|
||||
required this.registration,
|
||||
required this.status,
|
||||
required this.labels,
|
||||
required this.passwordUpdate,
|
||||
required this.email,
|
||||
required this.phone,
|
||||
required this.emailVerification,
|
||||
required this.phoneVerification,
|
||||
required this.mfa,
|
||||
required this.prefs,
|
||||
required this.targets,
|
||||
required this.accessedAt,
|
||||
});
|
||||
|
||||
factory User.fromMap(Map<String, dynamic> map) {
|
||||
return User(
|
||||
$id: map['\$id'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
name: map['name'].toString(),
|
||||
password: map['password']?.toString(),
|
||||
hash: map['hash']?.toString(),
|
||||
hashOptions: map['hashOptions'],
|
||||
registration: map['registration'].toString(),
|
||||
status: map['status'],
|
||||
labels: List.from(map['labels'] ?? []),
|
||||
passwordUpdate: map['passwordUpdate'].toString(),
|
||||
email: map['email'].toString(),
|
||||
phone: map['phone'].toString(),
|
||||
emailVerification: map['emailVerification'],
|
||||
phoneVerification: map['phoneVerification'],
|
||||
mfa: map['mfa'],
|
||||
prefs: Preferences.fromMap(map['prefs']),
|
||||
targets: List<Target>.from(map['targets'].map((p) => Target.fromMap(p))),
|
||||
accessedAt: map['accessedAt'].toString(),
|
||||
);
|
||||
}
|
||||
factory User.fromMap(Map<String, dynamic> map) {
|
||||
return User(
|
||||
$id: map['\$id'].toString(),
|
||||
$createdAt: map['\$createdAt'].toString(),
|
||||
$updatedAt: map['\$updatedAt'].toString(),
|
||||
name: map['name'].toString(),
|
||||
password: map['password']?.toString(),
|
||||
hash: map['hash']?.toString(),
|
||||
hashOptions: map['hashOptions'],
|
||||
registration: map['registration'].toString(),
|
||||
status: map['status'],
|
||||
labels: List.from(map['labels'] ?? []),
|
||||
passwordUpdate: map['passwordUpdate'].toString(),
|
||||
email: map['email'].toString(),
|
||||
phone: map['phone'].toString(),
|
||||
emailVerification: map['emailVerification'],
|
||||
phoneVerification: map['phoneVerification'],
|
||||
mfa: map['mfa'],
|
||||
prefs: Preferences.fromMap(map['prefs']),
|
||||
targets: List<Target>.from(map['targets'].map((p) => Target.fromMap(p))),
|
||||
accessedAt: map['accessedAt'].toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"name": name,
|
||||
"password": password,
|
||||
"hash": hash,
|
||||
"hashOptions": hashOptions,
|
||||
"registration": registration,
|
||||
"status": status,
|
||||
"labels": labels,
|
||||
"passwordUpdate": passwordUpdate,
|
||||
"email": email,
|
||||
"phone": phone,
|
||||
"emailVerification": emailVerification,
|
||||
"phoneVerification": phoneVerification,
|
||||
"mfa": mfa,
|
||||
"prefs": prefs.toMap(),
|
||||
"targets": targets.map((p) => p.toMap()).toList(),
|
||||
"accessedAt": accessedAt,
|
||||
};
|
||||
}
|
||||
@override
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"\$id": $id,
|
||||
"\$createdAt": $createdAt,
|
||||
"\$updatedAt": $updatedAt,
|
||||
"name": name,
|
||||
"password": password,
|
||||
"hash": hash,
|
||||
"hashOptions": hashOptions,
|
||||
"registration": registration,
|
||||
"status": status,
|
||||
"labels": labels,
|
||||
"passwordUpdate": passwordUpdate,
|
||||
"email": email,
|
||||
"phone": phone,
|
||||
"emailVerification": emailVerification,
|
||||
"phoneVerification": phoneVerification,
|
||||
"mfa": mfa,
|
||||
"prefs": prefs.toMap(),
|
||||
"targets": targets.map((p) => p.toMap()).toList(),
|
||||
"accessedAt": accessedAt,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,9 +10,9 @@ abstract class Realtime extends Service {
|
||||
/// Initializes a [Realtime] service
|
||||
factory Realtime(Client client) => createRealtime(client);
|
||||
|
||||
/// Subscribes to Appwrite events and returns a `RealtimeSubscription` object, which can be used
|
||||
/// Subscribes to Appwrite events and returns a `RealtimeSubscription` object, which can be used
|
||||
/// to listen to events on the channels in realtime and to close the subscription to stop listening.
|
||||
///
|
||||
///
|
||||
/// Possible channels are:
|
||||
/// - account
|
||||
/// - collections
|
||||
@@ -41,7 +41,7 @@ abstract class Realtime extends Service {
|
||||
///
|
||||
/// subscription.close();
|
||||
/// ```
|
||||
///
|
||||
///
|
||||
RealtimeSubscription subscribe(List<String> channels);
|
||||
|
||||
/// The [close code](https://datatracker.ietf.org/doc/html/rfc6455#section-7.1.5) set when the WebSocket connection is closed.
|
||||
|
||||
@@ -15,7 +15,6 @@ import 'client_io.dart';
|
||||
RealtimeBase createRealtime(Client client) => RealtimeIO(client);
|
||||
|
||||
class RealtimeIO extends RealtimeBase with RealtimeMixin {
|
||||
|
||||
RealtimeIO(Client client) {
|
||||
this.client = client;
|
||||
getWebSocket = _getWebSocket;
|
||||
@@ -23,7 +22,8 @@ class RealtimeIO extends RealtimeBase with RealtimeMixin {
|
||||
|
||||
Future<WebSocketChannel> _getWebSocket(Uri uri) async {
|
||||
Map<String, String>? headers;
|
||||
while (!(client as ClientIO).initialized && (client as ClientIO).initProgress) {
|
||||
while (!(client as ClientIO).initialized &&
|
||||
(client as ClientIO).initProgress) {
|
||||
await Future.delayed(Duration(milliseconds: 10));
|
||||
}
|
||||
if (!(client as ClientIO).initialized) {
|
||||
|
||||
@@ -4,7 +4,7 @@ import 'package:flutter/foundation.dart';
|
||||
/// Realtime Message
|
||||
class RealtimeMessage {
|
||||
/// All permutations of the system event that triggered this message
|
||||
///
|
||||
///
|
||||
/// The first event in the list is the most specfic event without wildcards.
|
||||
final List<String> events;
|
||||
|
||||
|
||||
@@ -41,9 +41,7 @@ mixin RealtimeMixin {
|
||||
_stopHeartbeat();
|
||||
_heartbeatTimer = Timer.periodic(Duration(seconds: 20), (_) {
|
||||
if (_websok != null) {
|
||||
_websok!.sink.add(jsonEncode({
|
||||
"type": "ping"
|
||||
}));
|
||||
_websok!.sink.add(jsonEncode({"type": "ping"}));
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -54,7 +52,7 @@ mixin RealtimeMixin {
|
||||
}
|
||||
|
||||
Future<void> _createSocket() async {
|
||||
if(_creatingSocket || _channels.isEmpty) return;
|
||||
if (_creatingSocket || _channels.isEmpty) return;
|
||||
_creatingSocket = true;
|
||||
final uri = _prepareUri();
|
||||
try {
|
||||
@@ -208,4 +206,4 @@ mixin RealtimeMixin {
|
||||
_retry();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,6 @@ class RealtimeResponse {
|
||||
required this.type,
|
||||
required this.data,
|
||||
});
|
||||
|
||||
|
||||
RealtimeResponse copyWith({
|
||||
String? type,
|
||||
@@ -36,7 +35,8 @@ class RealtimeResponse {
|
||||
|
||||
String toJson() => json.encode(toMap());
|
||||
|
||||
factory RealtimeResponse.fromJson(String source) => RealtimeResponse.fromMap(json.decode(source));
|
||||
factory RealtimeResponse.fromJson(String source) =>
|
||||
RealtimeResponse.fromMap(json.decode(source));
|
||||
|
||||
@override
|
||||
String toString() => 'RealtimeResponse(type: $type, data: $data)';
|
||||
@@ -44,10 +44,10 @@ class RealtimeResponse {
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(this, other)) return true;
|
||||
|
||||
|
||||
return other is RealtimeResponse &&
|
||||
other.type == type &&
|
||||
mapEquals(other.data, data);
|
||||
other.type == type &&
|
||||
mapEquals(other.data, data);
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
@@ -3,5 +3,5 @@ import 'client.dart';
|
||||
|
||||
/// Implemented in `realtime_browser.dart` and `realtime_io.dart`.
|
||||
RealtimeBase createRealtime(Client client) => throw UnsupportedError(
|
||||
'Cannot create a client without dart:html or dart:io.',
|
||||
);
|
||||
'Cannot create a client without dart:html or dart:io.',
|
||||
);
|
||||
|
||||
@@ -314,4 +314,3 @@ void main() {
|
||||
expect(query['method'], 'updatedBetween');
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
+1348
-1475
File diff suppressed because it is too large
Load Diff
+106
-113
@@ -24,12 +24,11 @@ class MockClient extends Mock implements Client {
|
||||
|
||||
@override
|
||||
Future webAuth(
|
||||
Uri? url,
|
||||
{
|
||||
String? callbackUrlScheme,
|
||||
}
|
||||
) async {
|
||||
return super.noSuchMethod(Invocation.method(#webAuth, [url]), returnValue: 'done');
|
||||
Uri? url, {
|
||||
String? callbackUrlScheme,
|
||||
}) async {
|
||||
return super
|
||||
.noSuchMethod(Invocation.method(#webAuth, [url]), returnValue: 'done');
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -41,116 +40,110 @@ class MockClient extends Mock implements Client {
|
||||
Map<String, String>? headers,
|
||||
Function(UploadProgress)? onProgress,
|
||||
}) async {
|
||||
return super.noSuchMethod(Invocation.method(#chunkedUpload, [path, params, paramName, idParamName, headers]), returnValue: Response(data: {}));
|
||||
return super.noSuchMethod(
|
||||
Invocation.method(
|
||||
#chunkedUpload, [path, params, paramName, idParamName, headers]),
|
||||
returnValue: Response(data: {}));
|
||||
}
|
||||
}
|
||||
|
||||
void main() {
|
||||
group('Avatars test', () {
|
||||
late MockClient client;
|
||||
late Avatars avatars;
|
||||
|
||||
setUp(() {
|
||||
client = MockClient();
|
||||
avatars = Avatars(client);
|
||||
});
|
||||
|
||||
test('test method getBrowser()', () async {final Uint8List data = Uint8List.fromList([]);
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await avatars.getBrowser(
|
||||
code: enums.Browser.avantBrowser,
|
||||
);
|
||||
expect(response, isA<Uint8List>());
|
||||
|
||||
});
|
||||
|
||||
test('test method getCreditCard()', () async {final Uint8List data = Uint8List.fromList([]);
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await avatars.getCreditCard(
|
||||
code: enums.CreditCard.americanExpress,
|
||||
);
|
||||
expect(response, isA<Uint8List>());
|
||||
|
||||
});
|
||||
|
||||
test('test method getFavicon()', () async {final Uint8List data = Uint8List.fromList([]);
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await avatars.getFavicon(
|
||||
url: 'https://example.com',
|
||||
);
|
||||
expect(response, isA<Uint8List>());
|
||||
|
||||
});
|
||||
|
||||
test('test method getFlag()', () async {final Uint8List data = Uint8List.fromList([]);
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await avatars.getFlag(
|
||||
code: enums.Flag.afghanistan,
|
||||
);
|
||||
expect(response, isA<Uint8List>());
|
||||
|
||||
});
|
||||
|
||||
test('test method getImage()', () async {final Uint8List data = Uint8List.fromList([]);
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await avatars.getImage(
|
||||
url: 'https://example.com',
|
||||
);
|
||||
expect(response, isA<Uint8List>());
|
||||
|
||||
});
|
||||
|
||||
test('test method getInitials()', () async {final Uint8List data = Uint8List.fromList([]);
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await avatars.getInitials(
|
||||
);
|
||||
expect(response, isA<Uint8List>());
|
||||
|
||||
});
|
||||
|
||||
test('test method getQR()', () async {final Uint8List data = Uint8List.fromList([]);
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await avatars.getQR(
|
||||
text: '<TEXT>',
|
||||
);
|
||||
expect(response, isA<Uint8List>());
|
||||
|
||||
});
|
||||
group('Avatars test', () {
|
||||
late MockClient client;
|
||||
late Avatars avatars;
|
||||
|
||||
setUp(() {
|
||||
client = MockClient();
|
||||
avatars = Avatars(client);
|
||||
});
|
||||
}
|
||||
|
||||
test('test method getBrowser()', () async {
|
||||
final Uint8List data = Uint8List.fromList([]);
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await avatars.getBrowser(
|
||||
code: enums.Browser.avantBrowser,
|
||||
);
|
||||
expect(response, isA<Uint8List>());
|
||||
});
|
||||
|
||||
test('test method getCreditCard()', () async {
|
||||
final Uint8List data = Uint8List.fromList([]);
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await avatars.getCreditCard(
|
||||
code: enums.CreditCard.americanExpress,
|
||||
);
|
||||
expect(response, isA<Uint8List>());
|
||||
});
|
||||
|
||||
test('test method getFavicon()', () async {
|
||||
final Uint8List data = Uint8List.fromList([]);
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await avatars.getFavicon(
|
||||
url: 'https://example.com',
|
||||
);
|
||||
expect(response, isA<Uint8List>());
|
||||
});
|
||||
|
||||
test('test method getFlag()', () async {
|
||||
final Uint8List data = Uint8List.fromList([]);
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await avatars.getFlag(
|
||||
code: enums.Flag.afghanistan,
|
||||
);
|
||||
expect(response, isA<Uint8List>());
|
||||
});
|
||||
|
||||
test('test method getImage()', () async {
|
||||
final Uint8List data = Uint8List.fromList([]);
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await avatars.getImage(
|
||||
url: 'https://example.com',
|
||||
);
|
||||
expect(response, isA<Uint8List>());
|
||||
});
|
||||
|
||||
test('test method getInitials()', () async {
|
||||
final Uint8List data = Uint8List.fromList([]);
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await avatars.getInitials();
|
||||
expect(response, isA<Uint8List>());
|
||||
});
|
||||
|
||||
test('test method getQR()', () async {
|
||||
final Uint8List data = Uint8List.fromList([]);
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await avatars.getQR(
|
||||
text: '<TEXT>',
|
||||
);
|
||||
expect(response, isA<Uint8List>());
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
+294
-321
@@ -24,12 +24,11 @@ class MockClient extends Mock implements Client {
|
||||
|
||||
@override
|
||||
Future webAuth(
|
||||
Uri? url,
|
||||
{
|
||||
String? callbackUrlScheme,
|
||||
}
|
||||
) async {
|
||||
return super.noSuchMethod(Invocation.method(#webAuth, [url]), returnValue: 'done');
|
||||
Uri? url, {
|
||||
String? callbackUrlScheme,
|
||||
}) async {
|
||||
return super
|
||||
.noSuchMethod(Invocation.method(#webAuth, [url]), returnValue: 'done');
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -41,324 +40,298 @@ class MockClient extends Mock implements Client {
|
||||
Map<String, String>? headers,
|
||||
Function(UploadProgress)? onProgress,
|
||||
}) async {
|
||||
return super.noSuchMethod(Invocation.method(#chunkedUpload, [path, params, paramName, idParamName, headers]), returnValue: Response(data: {}));
|
||||
return super.noSuchMethod(
|
||||
Invocation.method(
|
||||
#chunkedUpload, [path, params, paramName, idParamName, headers]),
|
||||
returnValue: Response(data: {}));
|
||||
}
|
||||
}
|
||||
|
||||
void main() {
|
||||
group('Databases test', () {
|
||||
late MockClient client;
|
||||
late Databases databases;
|
||||
|
||||
setUp(() {
|
||||
client = MockClient();
|
||||
databases = Databases(client);
|
||||
});
|
||||
|
||||
test('test method listTransactions()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'total': 5,
|
||||
'transactions': [],};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await databases.listTransactions(
|
||||
);
|
||||
expect(response, isA<models.TransactionList>());
|
||||
|
||||
});
|
||||
|
||||
test('test method createTransaction()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '259125845563242502',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'status': 'pending',
|
||||
'operations': 5,
|
||||
'expiresAt': '2020-10-15T06:38:00.000+00:00',};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.post,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await databases.createTransaction(
|
||||
);
|
||||
expect(response, isA<models.Transaction>());
|
||||
|
||||
});
|
||||
|
||||
test('test method getTransaction()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '259125845563242502',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'status': 'pending',
|
||||
'operations': 5,
|
||||
'expiresAt': '2020-10-15T06:38:00.000+00:00',};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await databases.getTransaction(
|
||||
transactionId: '<TRANSACTION_ID>',
|
||||
);
|
||||
expect(response, isA<models.Transaction>());
|
||||
|
||||
});
|
||||
|
||||
test('test method updateTransaction()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '259125845563242502',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'status': 'pending',
|
||||
'operations': 5,
|
||||
'expiresAt': '2020-10-15T06:38:00.000+00:00',};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.patch,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await databases.updateTransaction(
|
||||
transactionId: '<TRANSACTION_ID>',
|
||||
);
|
||||
expect(response, isA<models.Transaction>());
|
||||
|
||||
});
|
||||
|
||||
test('test method deleteTransaction()', () async {
|
||||
final data = '';
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.delete,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await databases.deleteTransaction(
|
||||
transactionId: '<TRANSACTION_ID>',
|
||||
);
|
||||
});
|
||||
|
||||
test('test method createOperations()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '259125845563242502',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'status': 'pending',
|
||||
'operations': 5,
|
||||
'expiresAt': '2020-10-15T06:38:00.000+00:00',};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.post,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await databases.createOperations(
|
||||
transactionId: '<TRANSACTION_ID>',
|
||||
);
|
||||
expect(response, isA<models.Transaction>());
|
||||
|
||||
});
|
||||
|
||||
test('test method listDocuments()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'total': 5,
|
||||
'documents': [],};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await databases.listDocuments(
|
||||
databaseId: '<DATABASE_ID>',
|
||||
collectionId: '<COLLECTION_ID>',
|
||||
);
|
||||
expect(response, isA<models.DocumentList>());
|
||||
|
||||
});
|
||||
|
||||
test('test method createDocument()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '5e5ea5c16897e',
|
||||
'\$sequence': 1,
|
||||
'\$collectionId': '5e5ea5c15117e',
|
||||
'\$databaseId': '5e5ea5c15117e',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$permissions': [],};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.post,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await databases.createDocument(
|
||||
databaseId: '<DATABASE_ID>',
|
||||
collectionId: '<COLLECTION_ID>',
|
||||
documentId: '<DOCUMENT_ID>',
|
||||
data: {},
|
||||
);
|
||||
expect(response, isA<models.Document>());
|
||||
|
||||
});
|
||||
|
||||
test('test method getDocument()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '5e5ea5c16897e',
|
||||
'\$sequence': 1,
|
||||
'\$collectionId': '5e5ea5c15117e',
|
||||
'\$databaseId': '5e5ea5c15117e',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$permissions': [],};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await databases.getDocument(
|
||||
databaseId: '<DATABASE_ID>',
|
||||
collectionId: '<COLLECTION_ID>',
|
||||
documentId: '<DOCUMENT_ID>',
|
||||
);
|
||||
expect(response, isA<models.Document>());
|
||||
|
||||
});
|
||||
|
||||
test('test method upsertDocument()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '5e5ea5c16897e',
|
||||
'\$sequence': 1,
|
||||
'\$collectionId': '5e5ea5c15117e',
|
||||
'\$databaseId': '5e5ea5c15117e',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$permissions': [],};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.put,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await databases.upsertDocument(
|
||||
databaseId: '<DATABASE_ID>',
|
||||
collectionId: '<COLLECTION_ID>',
|
||||
documentId: '<DOCUMENT_ID>',
|
||||
data: {},
|
||||
);
|
||||
expect(response, isA<models.Document>());
|
||||
|
||||
});
|
||||
|
||||
test('test method updateDocument()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '5e5ea5c16897e',
|
||||
'\$sequence': 1,
|
||||
'\$collectionId': '5e5ea5c15117e',
|
||||
'\$databaseId': '5e5ea5c15117e',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$permissions': [],};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.patch,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await databases.updateDocument(
|
||||
databaseId: '<DATABASE_ID>',
|
||||
collectionId: '<COLLECTION_ID>',
|
||||
documentId: '<DOCUMENT_ID>',
|
||||
);
|
||||
expect(response, isA<models.Document>());
|
||||
|
||||
});
|
||||
|
||||
test('test method deleteDocument()', () async {
|
||||
final data = '';
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.delete,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await databases.deleteDocument(
|
||||
databaseId: '<DATABASE_ID>',
|
||||
collectionId: '<COLLECTION_ID>',
|
||||
documentId: '<DOCUMENT_ID>',
|
||||
);
|
||||
});
|
||||
|
||||
test('test method decrementDocumentAttribute()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '5e5ea5c16897e',
|
||||
'\$sequence': 1,
|
||||
'\$collectionId': '5e5ea5c15117e',
|
||||
'\$databaseId': '5e5ea5c15117e',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$permissions': [],};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.patch,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await databases.decrementDocumentAttribute(
|
||||
databaseId: '<DATABASE_ID>',
|
||||
collectionId: '<COLLECTION_ID>',
|
||||
documentId: '<DOCUMENT_ID>',
|
||||
attribute: '',
|
||||
);
|
||||
expect(response, isA<models.Document>());
|
||||
|
||||
});
|
||||
|
||||
test('test method incrementDocumentAttribute()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '5e5ea5c16897e',
|
||||
'\$sequence': 1,
|
||||
'\$collectionId': '5e5ea5c15117e',
|
||||
'\$databaseId': '5e5ea5c15117e',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$permissions': [],};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.patch,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await databases.incrementDocumentAttribute(
|
||||
databaseId: '<DATABASE_ID>',
|
||||
collectionId: '<COLLECTION_ID>',
|
||||
documentId: '<DOCUMENT_ID>',
|
||||
attribute: '',
|
||||
);
|
||||
expect(response, isA<models.Document>());
|
||||
|
||||
});
|
||||
group('Databases test', () {
|
||||
late MockClient client;
|
||||
late Databases databases;
|
||||
|
||||
setUp(() {
|
||||
client = MockClient();
|
||||
databases = Databases(client);
|
||||
});
|
||||
}
|
||||
|
||||
test('test method listTransactions()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'total': 5,
|
||||
'transactions': [],
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await databases.listTransactions();
|
||||
expect(response, isA<models.TransactionList>());
|
||||
});
|
||||
|
||||
test('test method createTransaction()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '259125845563242502',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'status': 'pending',
|
||||
'operations': 5,
|
||||
'expiresAt': '2020-10-15T06:38:00.000+00:00',
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.post,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await databases.createTransaction();
|
||||
expect(response, isA<models.Transaction>());
|
||||
});
|
||||
|
||||
test('test method getTransaction()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '259125845563242502',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'status': 'pending',
|
||||
'operations': 5,
|
||||
'expiresAt': '2020-10-15T06:38:00.000+00:00',
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await databases.getTransaction(
|
||||
transactionId: '<TRANSACTION_ID>',
|
||||
);
|
||||
expect(response, isA<models.Transaction>());
|
||||
});
|
||||
|
||||
test('test method updateTransaction()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '259125845563242502',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'status': 'pending',
|
||||
'operations': 5,
|
||||
'expiresAt': '2020-10-15T06:38:00.000+00:00',
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.patch,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await databases.updateTransaction(
|
||||
transactionId: '<TRANSACTION_ID>',
|
||||
);
|
||||
expect(response, isA<models.Transaction>());
|
||||
});
|
||||
|
||||
test('test method deleteTransaction()', () async {
|
||||
final data = '';
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.delete,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await databases.deleteTransaction(
|
||||
transactionId: '<TRANSACTION_ID>',
|
||||
);
|
||||
});
|
||||
|
||||
test('test method createOperations()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '259125845563242502',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'status': 'pending',
|
||||
'operations': 5,
|
||||
'expiresAt': '2020-10-15T06:38:00.000+00:00',
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.post,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await databases.createOperations(
|
||||
transactionId: '<TRANSACTION_ID>',
|
||||
);
|
||||
expect(response, isA<models.Transaction>());
|
||||
});
|
||||
|
||||
test('test method listDocuments()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'total': 5,
|
||||
'documents': [],
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await databases.listDocuments(
|
||||
databaseId: '<DATABASE_ID>',
|
||||
collectionId: '<COLLECTION_ID>',
|
||||
);
|
||||
expect(response, isA<models.DocumentList>());
|
||||
});
|
||||
|
||||
test('test method createDocument()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '5e5ea5c16897e',
|
||||
'\$sequence': 1,
|
||||
'\$collectionId': '5e5ea5c15117e',
|
||||
'\$databaseId': '5e5ea5c15117e',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$permissions': [],
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.post,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await databases.createDocument(
|
||||
databaseId: '<DATABASE_ID>',
|
||||
collectionId: '<COLLECTION_ID>',
|
||||
documentId: '<DOCUMENT_ID>',
|
||||
data: {},
|
||||
);
|
||||
expect(response, isA<models.Document>());
|
||||
});
|
||||
|
||||
test('test method getDocument()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '5e5ea5c16897e',
|
||||
'\$sequence': 1,
|
||||
'\$collectionId': '5e5ea5c15117e',
|
||||
'\$databaseId': '5e5ea5c15117e',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$permissions': [],
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await databases.getDocument(
|
||||
databaseId: '<DATABASE_ID>',
|
||||
collectionId: '<COLLECTION_ID>',
|
||||
documentId: '<DOCUMENT_ID>',
|
||||
);
|
||||
expect(response, isA<models.Document>());
|
||||
});
|
||||
|
||||
test('test method upsertDocument()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '5e5ea5c16897e',
|
||||
'\$sequence': 1,
|
||||
'\$collectionId': '5e5ea5c15117e',
|
||||
'\$databaseId': '5e5ea5c15117e',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$permissions': [],
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.put,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await databases.upsertDocument(
|
||||
databaseId: '<DATABASE_ID>',
|
||||
collectionId: '<COLLECTION_ID>',
|
||||
documentId: '<DOCUMENT_ID>',
|
||||
data: {},
|
||||
);
|
||||
expect(response, isA<models.Document>());
|
||||
});
|
||||
|
||||
test('test method updateDocument()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '5e5ea5c16897e',
|
||||
'\$sequence': 1,
|
||||
'\$collectionId': '5e5ea5c15117e',
|
||||
'\$databaseId': '5e5ea5c15117e',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$permissions': [],
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.patch,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await databases.updateDocument(
|
||||
databaseId: '<DATABASE_ID>',
|
||||
collectionId: '<COLLECTION_ID>',
|
||||
documentId: '<DOCUMENT_ID>',
|
||||
);
|
||||
expect(response, isA<models.Document>());
|
||||
});
|
||||
|
||||
test('test method deleteDocument()', () async {
|
||||
final data = '';
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.delete,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await databases.deleteDocument(
|
||||
databaseId: '<DATABASE_ID>',
|
||||
collectionId: '<COLLECTION_ID>',
|
||||
documentId: '<DOCUMENT_ID>',
|
||||
);
|
||||
});
|
||||
|
||||
test('test method decrementDocumentAttribute()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '5e5ea5c16897e',
|
||||
'\$sequence': 1,
|
||||
'\$collectionId': '5e5ea5c15117e',
|
||||
'\$databaseId': '5e5ea5c15117e',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$permissions': [],
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.patch,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await databases.decrementDocumentAttribute(
|
||||
databaseId: '<DATABASE_ID>',
|
||||
collectionId: '<COLLECTION_ID>',
|
||||
documentId: '<DOCUMENT_ID>',
|
||||
attribute: '',
|
||||
);
|
||||
expect(response, isA<models.Document>());
|
||||
});
|
||||
|
||||
test('test method incrementDocumentAttribute()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '5e5ea5c16897e',
|
||||
'\$sequence': 1,
|
||||
'\$collectionId': '5e5ea5c15117e',
|
||||
'\$databaseId': '5e5ea5c15117e',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$permissions': [],
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.patch,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await databases.incrementDocumentAttribute(
|
||||
databaseId: '<DATABASE_ID>',
|
||||
collectionId: '<COLLECTION_ID>',
|
||||
documentId: '<DOCUMENT_ID>',
|
||||
attribute: '',
|
||||
);
|
||||
expect(response, isA<models.Document>());
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -24,12 +24,11 @@ class MockClient extends Mock implements Client {
|
||||
|
||||
@override
|
||||
Future webAuth(
|
||||
Uri? url,
|
||||
{
|
||||
String? callbackUrlScheme,
|
||||
}
|
||||
) async {
|
||||
return super.noSuchMethod(Invocation.method(#webAuth, [url]), returnValue: 'done');
|
||||
Uri? url, {
|
||||
String? callbackUrlScheme,
|
||||
}) async {
|
||||
return super
|
||||
.noSuchMethod(Invocation.method(#webAuth, [url]), returnValue: 'done');
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -41,104 +40,100 @@ class MockClient extends Mock implements Client {
|
||||
Map<String, String>? headers,
|
||||
Function(UploadProgress)? onProgress,
|
||||
}) async {
|
||||
return super.noSuchMethod(Invocation.method(#chunkedUpload, [path, params, paramName, idParamName, headers]), returnValue: Response(data: {}));
|
||||
return super.noSuchMethod(
|
||||
Invocation.method(
|
||||
#chunkedUpload, [path, params, paramName, idParamName, headers]),
|
||||
returnValue: Response(data: {}));
|
||||
}
|
||||
}
|
||||
|
||||
void main() {
|
||||
group('Functions test', () {
|
||||
late MockClient client;
|
||||
late Functions functions;
|
||||
|
||||
setUp(() {
|
||||
client = MockClient();
|
||||
functions = Functions(client);
|
||||
});
|
||||
|
||||
test('test method listExecutions()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'total': 5,
|
||||
'executions': [],};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await functions.listExecutions(
|
||||
functionId: '<FUNCTION_ID>',
|
||||
);
|
||||
expect(response, isA<models.ExecutionList>());
|
||||
|
||||
});
|
||||
|
||||
test('test method createExecution()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '5e5ea5c16897e',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$permissions': [],
|
||||
'functionId': '5e5ea6g16897e',
|
||||
'deploymentId': '5e5ea5c16897e',
|
||||
'trigger': 'http',
|
||||
'status': 'processing',
|
||||
'requestMethod': 'GET',
|
||||
'requestPath': '/articles?id=5',
|
||||
'requestHeaders': [],
|
||||
'responseStatusCode': 200,
|
||||
'responseBody': '',
|
||||
'responseHeaders': [],
|
||||
'logs': '',
|
||||
'errors': '',
|
||||
'duration': 0.4,};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.post,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await functions.createExecution(
|
||||
functionId: '<FUNCTION_ID>',
|
||||
);
|
||||
expect(response, isA<models.Execution>());
|
||||
|
||||
});
|
||||
|
||||
test('test method getExecution()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '5e5ea5c16897e',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$permissions': [],
|
||||
'functionId': '5e5ea6g16897e',
|
||||
'deploymentId': '5e5ea5c16897e',
|
||||
'trigger': 'http',
|
||||
'status': 'processing',
|
||||
'requestMethod': 'GET',
|
||||
'requestPath': '/articles?id=5',
|
||||
'requestHeaders': [],
|
||||
'responseStatusCode': 200,
|
||||
'responseBody': '',
|
||||
'responseHeaders': [],
|
||||
'logs': '',
|
||||
'errors': '',
|
||||
'duration': 0.4,};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await functions.getExecution(
|
||||
functionId: '<FUNCTION_ID>',
|
||||
executionId: '<EXECUTION_ID>',
|
||||
);
|
||||
expect(response, isA<models.Execution>());
|
||||
|
||||
});
|
||||
group('Functions test', () {
|
||||
late MockClient client;
|
||||
late Functions functions;
|
||||
|
||||
setUp(() {
|
||||
client = MockClient();
|
||||
functions = Functions(client);
|
||||
});
|
||||
}
|
||||
|
||||
test('test method listExecutions()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'total': 5,
|
||||
'executions': [],
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await functions.listExecutions(
|
||||
functionId: '<FUNCTION_ID>',
|
||||
);
|
||||
expect(response, isA<models.ExecutionList>());
|
||||
});
|
||||
|
||||
test('test method createExecution()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '5e5ea5c16897e',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$permissions': [],
|
||||
'functionId': '5e5ea6g16897e',
|
||||
'deploymentId': '5e5ea5c16897e',
|
||||
'trigger': 'http',
|
||||
'status': 'processing',
|
||||
'requestMethod': 'GET',
|
||||
'requestPath': '/articles?id=5',
|
||||
'requestHeaders': [],
|
||||
'responseStatusCode': 200,
|
||||
'responseBody': '',
|
||||
'responseHeaders': [],
|
||||
'logs': '',
|
||||
'errors': '',
|
||||
'duration': 0.4,
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.post,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await functions.createExecution(
|
||||
functionId: '<FUNCTION_ID>',
|
||||
);
|
||||
expect(response, isA<models.Execution>());
|
||||
});
|
||||
|
||||
test('test method getExecution()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '5e5ea5c16897e',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$permissions': [],
|
||||
'functionId': '5e5ea6g16897e',
|
||||
'deploymentId': '5e5ea5c16897e',
|
||||
'trigger': 'http',
|
||||
'status': 'processing',
|
||||
'requestMethod': 'GET',
|
||||
'requestPath': '/articles?id=5',
|
||||
'requestHeaders': [],
|
||||
'responseStatusCode': 200,
|
||||
'responseBody': '',
|
||||
'responseHeaders': [],
|
||||
'logs': '',
|
||||
'errors': '',
|
||||
'duration': 0.4,
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await functions.getExecution(
|
||||
functionId: '<FUNCTION_ID>',
|
||||
executionId: '<EXECUTION_ID>',
|
||||
);
|
||||
expect(response, isA<models.Execution>());
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -24,12 +24,11 @@ class MockClient extends Mock implements Client {
|
||||
|
||||
@override
|
||||
Future webAuth(
|
||||
Uri? url,
|
||||
{
|
||||
String? callbackUrlScheme,
|
||||
}
|
||||
) async {
|
||||
return super.noSuchMethod(Invocation.method(#webAuth, [url]), returnValue: 'done');
|
||||
Uri? url, {
|
||||
String? callbackUrlScheme,
|
||||
}) async {
|
||||
return super
|
||||
.noSuchMethod(Invocation.method(#webAuth, [url]), returnValue: 'done');
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -41,45 +40,45 @@ class MockClient extends Mock implements Client {
|
||||
Map<String, String>? headers,
|
||||
Function(UploadProgress)? onProgress,
|
||||
}) async {
|
||||
return super.noSuchMethod(Invocation.method(#chunkedUpload, [path, params, paramName, idParamName, headers]), returnValue: Response(data: {}));
|
||||
return super.noSuchMethod(
|
||||
Invocation.method(
|
||||
#chunkedUpload, [path, params, paramName, idParamName, headers]),
|
||||
returnValue: Response(data: {}));
|
||||
}
|
||||
}
|
||||
|
||||
void main() {
|
||||
group('Graphql test', () {
|
||||
late MockClient client;
|
||||
late Graphql graphql;
|
||||
|
||||
setUp(() {
|
||||
client = MockClient();
|
||||
graphql = Graphql(client);
|
||||
});
|
||||
|
||||
test('test method query()', () async {
|
||||
final data = '';
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.post,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await graphql.query(
|
||||
query: {},
|
||||
);
|
||||
});
|
||||
|
||||
test('test method mutation()', () async {
|
||||
final data = '';
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.post,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await graphql.mutation(
|
||||
query: {},
|
||||
);
|
||||
});
|
||||
group('Graphql test', () {
|
||||
late MockClient client;
|
||||
late Graphql graphql;
|
||||
|
||||
setUp(() {
|
||||
client = MockClient();
|
||||
graphql = Graphql(client);
|
||||
});
|
||||
}
|
||||
|
||||
test('test method query()', () async {
|
||||
final data = '';
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.post,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await graphql.query(
|
||||
query: {},
|
||||
);
|
||||
});
|
||||
|
||||
test('test method mutation()', () async {
|
||||
final data = '';
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.post,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await graphql.mutation(
|
||||
query: {},
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
+134
-157
@@ -24,12 +24,11 @@ class MockClient extends Mock implements Client {
|
||||
|
||||
@override
|
||||
Future webAuth(
|
||||
Uri? url,
|
||||
{
|
||||
String? callbackUrlScheme,
|
||||
}
|
||||
) async {
|
||||
return super.noSuchMethod(Invocation.method(#webAuth, [url]), returnValue: 'done');
|
||||
Uri? url, {
|
||||
String? callbackUrlScheme,
|
||||
}) async {
|
||||
return super
|
||||
.noSuchMethod(Invocation.method(#webAuth, [url]), returnValue: 'done');
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -41,160 +40,138 @@ class MockClient extends Mock implements Client {
|
||||
Map<String, String>? headers,
|
||||
Function(UploadProgress)? onProgress,
|
||||
}) async {
|
||||
return super.noSuchMethod(Invocation.method(#chunkedUpload, [path, params, paramName, idParamName, headers]), returnValue: Response(data: {}));
|
||||
return super.noSuchMethod(
|
||||
Invocation.method(
|
||||
#chunkedUpload, [path, params, paramName, idParamName, headers]),
|
||||
returnValue: Response(data: {}));
|
||||
}
|
||||
}
|
||||
|
||||
void main() {
|
||||
group('Locale test', () {
|
||||
late MockClient client;
|
||||
late Locale locale;
|
||||
|
||||
setUp(() {
|
||||
client = MockClient();
|
||||
locale = Locale(client);
|
||||
});
|
||||
|
||||
test('test method get()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'ip': '127.0.0.1',
|
||||
'countryCode': 'US',
|
||||
'country': 'United States',
|
||||
'continentCode': 'NA',
|
||||
'continent': 'North America',
|
||||
'eu': true,
|
||||
'currency': 'USD',};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await locale.get(
|
||||
);
|
||||
expect(response, isA<models.Locale>());
|
||||
|
||||
});
|
||||
|
||||
test('test method listCodes()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'total': 5,
|
||||
'localeCodes': [],};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await locale.listCodes(
|
||||
);
|
||||
expect(response, isA<models.LocaleCodeList>());
|
||||
|
||||
});
|
||||
|
||||
test('test method listContinents()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'total': 5,
|
||||
'continents': [],};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await locale.listContinents(
|
||||
);
|
||||
expect(response, isA<models.ContinentList>());
|
||||
|
||||
});
|
||||
|
||||
test('test method listCountries()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'total': 5,
|
||||
'countries': [],};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await locale.listCountries(
|
||||
);
|
||||
expect(response, isA<models.CountryList>());
|
||||
|
||||
});
|
||||
|
||||
test('test method listCountriesEU()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'total': 5,
|
||||
'countries': [],};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await locale.listCountriesEU(
|
||||
);
|
||||
expect(response, isA<models.CountryList>());
|
||||
|
||||
});
|
||||
|
||||
test('test method listCountriesPhones()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'total': 5,
|
||||
'phones': [],};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await locale.listCountriesPhones(
|
||||
);
|
||||
expect(response, isA<models.PhoneList>());
|
||||
|
||||
});
|
||||
|
||||
test('test method listCurrencies()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'total': 5,
|
||||
'currencies': [],};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await locale.listCurrencies(
|
||||
);
|
||||
expect(response, isA<models.CurrencyList>());
|
||||
|
||||
});
|
||||
|
||||
test('test method listLanguages()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'total': 5,
|
||||
'languages': [],};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await locale.listLanguages(
|
||||
);
|
||||
expect(response, isA<models.LanguageList>());
|
||||
|
||||
});
|
||||
group('Locale test', () {
|
||||
late MockClient client;
|
||||
late Locale locale;
|
||||
|
||||
setUp(() {
|
||||
client = MockClient();
|
||||
locale = Locale(client);
|
||||
});
|
||||
}
|
||||
|
||||
test('test method get()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'ip': '127.0.0.1',
|
||||
'countryCode': 'US',
|
||||
'country': 'United States',
|
||||
'continentCode': 'NA',
|
||||
'continent': 'North America',
|
||||
'eu': true,
|
||||
'currency': 'USD',
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await locale.get();
|
||||
expect(response, isA<models.Locale>());
|
||||
});
|
||||
|
||||
test('test method listCodes()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'total': 5,
|
||||
'localeCodes': [],
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await locale.listCodes();
|
||||
expect(response, isA<models.LocaleCodeList>());
|
||||
});
|
||||
|
||||
test('test method listContinents()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'total': 5,
|
||||
'continents': [],
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await locale.listContinents();
|
||||
expect(response, isA<models.ContinentList>());
|
||||
});
|
||||
|
||||
test('test method listCountries()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'total': 5,
|
||||
'countries': [],
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await locale.listCountries();
|
||||
expect(response, isA<models.CountryList>());
|
||||
});
|
||||
|
||||
test('test method listCountriesEU()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'total': 5,
|
||||
'countries': [],
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await locale.listCountriesEU();
|
||||
expect(response, isA<models.CountryList>());
|
||||
});
|
||||
|
||||
test('test method listCountriesPhones()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'total': 5,
|
||||
'phones': [],
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await locale.listCountriesPhones();
|
||||
expect(response, isA<models.PhoneList>());
|
||||
});
|
||||
|
||||
test('test method listCurrencies()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'total': 5,
|
||||
'currencies': [],
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await locale.listCurrencies();
|
||||
expect(response, isA<models.CurrencyList>());
|
||||
});
|
||||
|
||||
test('test method listLanguages()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'total': 5,
|
||||
'languages': [],
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.get,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await locale.listLanguages();
|
||||
expect(response, isA<models.LanguageList>());
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -24,12 +24,11 @@ class MockClient extends Mock implements Client {
|
||||
|
||||
@override
|
||||
Future webAuth(
|
||||
Uri? url,
|
||||
{
|
||||
String? callbackUrlScheme,
|
||||
}
|
||||
) async {
|
||||
return super.noSuchMethod(Invocation.method(#webAuth, [url]), returnValue: 'done');
|
||||
Uri? url, {
|
||||
String? callbackUrlScheme,
|
||||
}) async {
|
||||
return super
|
||||
.noSuchMethod(Invocation.method(#webAuth, [url]), returnValue: 'done');
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -41,69 +40,68 @@ class MockClient extends Mock implements Client {
|
||||
Map<String, String>? headers,
|
||||
Function(UploadProgress)? onProgress,
|
||||
}) async {
|
||||
return super.noSuchMethod(Invocation.method(#chunkedUpload, [path, params, paramName, idParamName, headers]), returnValue: Response(data: {}));
|
||||
return super.noSuchMethod(
|
||||
Invocation.method(
|
||||
#chunkedUpload, [path, params, paramName, idParamName, headers]),
|
||||
returnValue: Response(data: {}));
|
||||
}
|
||||
}
|
||||
|
||||
void main() {
|
||||
group('Messaging test', () {
|
||||
late MockClient client;
|
||||
late Messaging messaging;
|
||||
|
||||
setUp(() {
|
||||
client = MockClient();
|
||||
messaging = Messaging(client);
|
||||
});
|
||||
|
||||
test('test method createSubscriber()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '259125845563242502',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'targetId': '259125845563242502',
|
||||
'target': <String, dynamic>{
|
||||
'\$id': '259125845563242502',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'name': 'Apple iPhone 12',
|
||||
'userId': '259125845563242502',
|
||||
'providerType': 'email',
|
||||
'identifier': 'token',
|
||||
'expired': true,
|
||||
},
|
||||
'userId': '5e5ea5c16897e',
|
||||
'userName': 'Aegon Targaryen',
|
||||
'topicId': '259125845563242502',
|
||||
'providerType': 'email',};
|
||||
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.post,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await messaging.createSubscriber(
|
||||
topicId: '<TOPIC_ID>',
|
||||
subscriberId: '<SUBSCRIBER_ID>',
|
||||
targetId: '<TARGET_ID>',
|
||||
);
|
||||
expect(response, isA<models.Subscriber>());
|
||||
|
||||
});
|
||||
|
||||
test('test method deleteSubscriber()', () async {
|
||||
final data = '';
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.delete,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
|
||||
final response = await messaging.deleteSubscriber(
|
||||
topicId: '<TOPIC_ID>',
|
||||
subscriberId: '<SUBSCRIBER_ID>',
|
||||
);
|
||||
});
|
||||
group('Messaging test', () {
|
||||
late MockClient client;
|
||||
late Messaging messaging;
|
||||
|
||||
setUp(() {
|
||||
client = MockClient();
|
||||
messaging = Messaging(client);
|
||||
});
|
||||
}
|
||||
|
||||
test('test method createSubscriber()', () async {
|
||||
final Map<String, dynamic> data = {
|
||||
'\$id': '259125845563242502',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'targetId': '259125845563242502',
|
||||
'target': <String, dynamic>{
|
||||
'\$id': '259125845563242502',
|
||||
'\$createdAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'\$updatedAt': '2020-10-15T06:38:00.000+00:00',
|
||||
'name': 'Apple iPhone 12',
|
||||
'userId': '259125845563242502',
|
||||
'providerType': 'email',
|
||||
'identifier': 'token',
|
||||
'expired': true,
|
||||
},
|
||||
'userId': '5e5ea5c16897e',
|
||||
'userName': 'Aegon Targaryen',
|
||||
'topicId': '259125845563242502',
|
||||
'providerType': 'email',
|
||||
};
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.post,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await messaging.createSubscriber(
|
||||
topicId: '<TOPIC_ID>',
|
||||
subscriberId: '<SUBSCRIBER_ID>',
|
||||
targetId: '<TARGET_ID>',
|
||||
);
|
||||
expect(response, isA<models.Subscriber>());
|
||||
});
|
||||
|
||||
test('test method deleteSubscriber()', () async {
|
||||
final data = '';
|
||||
|
||||
when(client.call(
|
||||
HttpMethod.delete,
|
||||
)).thenAnswer((_) async => Response(data: data));
|
||||
|
||||
final response = await messaging.deleteSubscriber(
|
||||
topicId: '<TOPIC_ID>',
|
||||
subscriberId: '<SUBSCRIBER_ID>',
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user