Skip to content

Commit

Permalink
update twitter link
Browse files Browse the repository at this point in the history
  • Loading branch information
lohanidamodar committed Dec 17, 2021
1 parent 29213bb commit 36a7a47
Show file tree
Hide file tree
Showing 50 changed files with 1,894 additions and 200 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
![License](https://img.shields.io/github/license/appwrite/sdk-for-dart.svg?style=flat-square)
![Version](https://img.shields.io/badge/api%20version-0.11.0-blue.svg?style=flat-square)
[![Build Status](https://img.shields.io/travis/com/appwrite/sdk-generator?style=flat-square)](https://travis-ci.com/appwrite/sdk-generator)
[![Twitter Account](https://img.shields.io/twitter/follow/appwrite_io?color=00acee&label=twitter&style=flat-square)](https://twitter.com/appwrite_io)
[![Twitter Account](https://img.shields.io/twitter/follow/appwrite?color=00acee&label=twitter&style=flat-square)](https://twitter.com/appwrite)
[![Discord](https://img.shields.io/discord/564160730845151244?label=discord&style=flat-square)](https://appwrite.io/discord)

**This SDK is compatible with Appwrite server version 0.11.x. For older versions, please check [previous releases](https://github.com/appwrite/sdk-for-dart/releases).**
Expand Down
3 changes: 2 additions & 1 deletion lib/dart_appwrite.dart
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
library dart_appwrite;

import 'dart:async';
import 'dart:typed_data';
import 'package:http/http.dart' as http;
import 'src/enums.dart';
import 'src/client.dart';
import 'src/response.dart';
import 'src/service.dart';
import 'models.dart' as models;

export 'src/response.dart';
export 'src/client.dart';
Expand Down
39 changes: 39 additions & 0 deletions lib/models.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
library dart_appwrite.models;

part 'src/models/collection_list.dart';
part 'src/models/document_list.dart';
part 'src/models/user_list.dart';
part 'src/models/session_list.dart';
part 'src/models/log_list.dart';
part 'src/models/file_list.dart';
part 'src/models/team_list.dart';
part 'src/models/membership_list.dart';
part 'src/models/function_list.dart';
part 'src/models/tag_list.dart';
part 'src/models/execution_list.dart';
part 'src/models/country_list.dart';
part 'src/models/continent_list.dart';
part 'src/models/language_list.dart';
part 'src/models/currency_list.dart';
part 'src/models/phone_list.dart';
part 'src/models/permissions.dart';
part 'src/models/collection.dart';
part 'src/models/document.dart';
part 'src/models/rule.dart';
part 'src/models/log.dart';
part 'src/models/user.dart';
part 'src/models/preferences.dart';
part 'src/models/session.dart';
part 'src/models/token.dart';
part 'src/models/locale.dart';
part 'src/models/file.dart';
part 'src/models/team.dart';
part 'src/models/membership.dart';
part 'src/models/function.dart';
part 'src/models/tag.dart';
part 'src/models/execution.dart';
part 'src/models/country.dart';
part 'src/models/continent.dart';
part 'src/models/language.dart';
part 'src/models/currency.dart';
part 'src/models/phone.dart';
80 changes: 48 additions & 32 deletions lib/services/account.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ class Account extends Service {
///
/// Get currently logged in user data as JSON object.
///
Future<Response> get() {
Future<models.User> get() async {
final String path = '/account';

final Map<String, dynamic> params = {
Expand All @@ -17,7 +17,8 @@ class Account extends Service {
'content-type': 'application/json',
};

return client.call(HttpMethod.get, path: path, params: params, headers: headers);
final res = await client.call(HttpMethod.get, path: path, params: params, headers: headers);
return models.User.fromMap(res.data);
}

/// Delete Account
Expand All @@ -28,7 +29,7 @@ class Account extends Service {
/// address. Any user-related resources like documents or storage files should
/// be deleted separately.
///
Future<Response> delete() {
Future delete() async {
final String path = '/account';

final Map<String, dynamic> params = {
Expand All @@ -38,7 +39,8 @@ class Account extends Service {
'content-type': 'application/json',
};

return client.call(HttpMethod.delete, path: path, params: params, headers: headers);
final res = await client.call(HttpMethod.delete, path: path, params: params, headers: headers);
return res.data;
}

/// Update Account Email
Expand All @@ -50,7 +52,7 @@ class Account extends Service {
/// This endpoint can also be used to convert an anonymous account to a normal
/// one, by passing an email address and a new password.
///
Future<Response> updateEmail({required String email, required String password}) {
Future<models.User> updateEmail({required String email, required String password}) async {
final String path = '/account/email';

final Map<String, dynamic> params = {
Expand All @@ -62,15 +64,16 @@ class Account extends Service {
'content-type': 'application/json',
};

return client.call(HttpMethod.patch, path: path, params: params, headers: headers);
final res = await client.call(HttpMethod.patch, path: path, params: params, headers: headers);
return models.User.fromMap(res.data);
}

/// Get Account Logs
///
/// Get currently logged in user list of latest security activity logs. Each
/// log returns user IP address, location and date and time of log.
///
Future<Response> getLogs() {
Future<models.LogList> getLogs() async {
final String path = '/account/logs';

final Map<String, dynamic> params = {
Expand All @@ -80,14 +83,15 @@ class Account extends Service {
'content-type': 'application/json',
};

return client.call(HttpMethod.get, path: path, params: params, headers: headers);
final res = await client.call(HttpMethod.get, path: path, params: params, headers: headers);
return models.LogList.fromMap(res.data);
}

/// Update Account Name
///
/// Update currently logged in user account name.
///
Future<Response> updateName({required String name}) {
Future<models.User> updateName({required String name}) async {
final String path = '/account/name';

final Map<String, dynamic> params = {
Expand All @@ -98,7 +102,8 @@ class Account extends Service {
'content-type': 'application/json',
};

return client.call(HttpMethod.patch, path: path, params: params, headers: headers);
final res = await client.call(HttpMethod.patch, path: path, params: params, headers: headers);
return models.User.fromMap(res.data);
}

/// Update Account Password
Expand All @@ -107,7 +112,7 @@ class Account extends Service {
/// to pass in the new password, and the old password. For users created with
/// OAuth and Team Invites, oldPassword is optional.
///
Future<Response> updatePassword({required String password, String? oldPassword}) {
Future<models.User> updatePassword({required String password, String? oldPassword}) async {
final String path = '/account/password';

final Map<String, dynamic> params = {
Expand All @@ -119,14 +124,15 @@ class Account extends Service {
'content-type': 'application/json',
};

return client.call(HttpMethod.patch, path: path, params: params, headers: headers);
final res = await client.call(HttpMethod.patch, path: path, params: params, headers: headers);
return models.User.fromMap(res.data);
}

/// Get Account Preferences
///
/// Get currently logged in user preferences as a key-value object.
///
Future<Response> getPrefs() {
Future<models.Preferences> getPrefs() async {
final String path = '/account/prefs';

final Map<String, dynamic> params = {
Expand All @@ -136,15 +142,16 @@ class Account extends Service {
'content-type': 'application/json',
};

return client.call(HttpMethod.get, path: path, params: params, headers: headers);
final res = await client.call(HttpMethod.get, path: path, params: params, headers: headers);
return models.Preferences.fromMap(res.data);
}

/// Update Account Preferences
///
/// Update currently logged in user account preferences. You can pass only the
/// specific settings you wish to update.
///
Future<Response> updatePrefs({required Map prefs}) {
Future<models.User> updatePrefs({required Map prefs}) async {
final String path = '/account/prefs';

final Map<String, dynamic> params = {
Expand All @@ -155,7 +162,8 @@ class Account extends Service {
'content-type': 'application/json',
};

return client.call(HttpMethod.patch, path: path, params: params, headers: headers);
final res = await client.call(HttpMethod.patch, path: path, params: params, headers: headers);
return models.User.fromMap(res.data);
}

/// Create Password Recovery
Expand All @@ -169,7 +177,7 @@ class Account extends Service {
/// complete the process. The verification link sent to the user's email
/// address is valid for 1 hour.
///
Future<Response> createRecovery({required String email, required String url}) {
Future<models.Token> createRecovery({required String email, required String url}) async {
final String path = '/account/recovery';

final Map<String, dynamic> params = {
Expand All @@ -181,7 +189,8 @@ class Account extends Service {
'content-type': 'application/json',
};

return client.call(HttpMethod.post, path: path, params: params, headers: headers);
final res = await client.call(HttpMethod.post, path: path, params: params, headers: headers);
return models.Token.fromMap(res.data);
}

/// Create Password Recovery (confirmation)
Expand All @@ -196,7 +205,7 @@ class Account extends Service {
/// the only valid redirect URLs are the ones from domains you have set when
/// adding your platforms in the console interface.
///
Future<Response> updateRecovery({required String userId, required String secret, required String password, required String passwordAgain}) {
Future<models.Token> updateRecovery({required String userId, required String secret, required String password, required String passwordAgain}) async {
final String path = '/account/recovery';

final Map<String, dynamic> params = {
Expand All @@ -210,15 +219,16 @@ class Account extends Service {
'content-type': 'application/json',
};

return client.call(HttpMethod.put, path: path, params: params, headers: headers);
final res = await client.call(HttpMethod.put, path: path, params: params, headers: headers);
return models.Token.fromMap(res.data);
}

/// Get Account Sessions
///
/// Get currently logged in user list of active sessions across different
/// devices.
///
Future<Response> getSessions() {
Future<models.SessionList> getSessions() async {
final String path = '/account/sessions';

final Map<String, dynamic> params = {
Expand All @@ -228,15 +238,16 @@ class Account extends Service {
'content-type': 'application/json',
};

return client.call(HttpMethod.get, path: path, params: params, headers: headers);
final res = await client.call(HttpMethod.get, path: path, params: params, headers: headers);
return models.SessionList.fromMap(res.data);
}

/// Delete All Account Sessions
///
/// Delete all sessions from the user account and remove any sessions cookies
/// from the end client.
///
Future<Response> deleteSessions() {
Future deleteSessions() async {
final String path = '/account/sessions';

final Map<String, dynamic> params = {
Expand All @@ -246,15 +257,16 @@ class Account extends Service {
'content-type': 'application/json',
};

return client.call(HttpMethod.delete, path: path, params: params, headers: headers);
final res = await client.call(HttpMethod.delete, path: path, params: params, headers: headers);
return res.data;
}

/// Get Session By ID
///
/// Use this endpoint to get a logged in user's session using a Session ID.
/// Inputting 'current' will return the current session being used.
///
Future<Response> getSession({required String sessionId}) {
Future<models.Session> getSession({required String sessionId}) async {
final String path = '/account/sessions/{sessionId}'.replaceAll(RegExp('{sessionId}'), sessionId);

final Map<String, dynamic> params = {
Expand All @@ -264,7 +276,8 @@ class Account extends Service {
'content-type': 'application/json',
};

return client.call(HttpMethod.get, path: path, params: params, headers: headers);
final res = await client.call(HttpMethod.get, path: path, params: params, headers: headers);
return models.Session.fromMap(res.data);
}

/// Delete Account Session
Expand All @@ -273,7 +286,7 @@ class Account extends Service {
/// account sessions across all of their different devices. When using the
/// option id argument, only the session unique ID provider will be deleted.
///
Future<Response> deleteSession({required String sessionId}) {
Future deleteSession({required String sessionId}) async {
final String path = '/account/sessions/{sessionId}'.replaceAll(RegExp('{sessionId}'), sessionId);

final Map<String, dynamic> params = {
Expand All @@ -283,7 +296,8 @@ class Account extends Service {
'content-type': 'application/json',
};

return client.call(HttpMethod.delete, path: path, params: params, headers: headers);
final res = await client.call(HttpMethod.delete, path: path, params: params, headers: headers);
return res.data;
}

/// Create Email Verification
Expand All @@ -304,7 +318,7 @@ class Account extends Service {
/// adding your platforms in the console interface.
///
///
Future<Response> createVerification({required String url}) {
Future<models.Token> createVerification({required String url}) async {
final String path = '/account/verification';

final Map<String, dynamic> params = {
Expand All @@ -315,7 +329,8 @@ class Account extends Service {
'content-type': 'application/json',
};

return client.call(HttpMethod.post, path: path, params: params, headers: headers);
final res = await client.call(HttpMethod.post, path: path, params: params, headers: headers);
return models.Token.fromMap(res.data);
}

/// Create Email Verification (confirmation)
Expand All @@ -325,7 +340,7 @@ class Account extends Service {
/// to verify the user email ownership. If confirmed this route will return a
/// 200 status code.
///
Future<Response> updateVerification({required String userId, required String secret}) {
Future<models.Token> updateVerification({required String userId, required String secret}) async {
final String path = '/account/verification';

final Map<String, dynamic> params = {
Expand All @@ -337,6 +352,7 @@ class Account extends Service {
'content-type': 'application/json',
};

return client.call(HttpMethod.put, path: path, params: params, headers: headers);
final res = await client.call(HttpMethod.put, path: path, params: params, headers: headers);
return models.Token.fromMap(res.data);
}
}
Loading

0 comments on commit 36a7a47

Please sign in to comment.