commit
03d6eb7401
19 changed files with 102 additions and 57 deletions
|
@ -2526,7 +2526,7 @@ App::post('/v1/account/recovery')
|
|||
|
||||
$queueForMails
|
||||
->setRecipient($profile->getAttribute('email', ''))
|
||||
->setName($profile->getAttribute('name'))
|
||||
->setName($profile->getAttribute('name', ''))
|
||||
->setBody($body)
|
||||
->setVariables($emailVariables)
|
||||
->setSubject($subject)
|
||||
|
|
|
@ -2997,6 +2997,33 @@ App::get('/v1/databases/:databaseId/collections/:collectionId/documents')
|
|||
$processDocument($collection, $document);
|
||||
}
|
||||
|
||||
$select = \array_reduce($queries, function ($result, $query) {
|
||||
return $result || ($query->getMethod() === Query::TYPE_SELECT);
|
||||
}, false);
|
||||
|
||||
// Check if the SELECT query includes $databaseId and $collectionId
|
||||
$hasDatabaseId = false;
|
||||
$hasCollectionId = false;
|
||||
if ($select) {
|
||||
$hasDatabaseId = \array_reduce($queries, function ($result, $query) {
|
||||
return $result || ($query->getMethod() === Query::TYPE_SELECT && \in_array('$databaseId', $query->getValues()));
|
||||
}, false);
|
||||
$hasCollectionId = \array_reduce($queries, function ($result, $query) {
|
||||
return $result || ($query->getMethod() === Query::TYPE_SELECT && \in_array('$collectionId', $query->getValues()));
|
||||
}, false);
|
||||
}
|
||||
|
||||
if ($select) {
|
||||
foreach ($documents as $document) {
|
||||
if (!$hasDatabaseId) {
|
||||
$document->removeAttribute('$databaseId');
|
||||
}
|
||||
if (!$hasCollectionId) {
|
||||
$document->removeAttribute('$collectionId');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$response->dynamic(new Document([
|
||||
'total' => $total,
|
||||
'documents' => $documents,
|
||||
|
|
|
@ -52,8 +52,9 @@ When trying to connect to Appwrite from an emulator or a mobile device, localhos
|
|||
val account = Account(client)
|
||||
val response = account.create(
|
||||
ID.unique(),
|
||||
"email@example.com",
|
||||
"password"
|
||||
"email@example.com",
|
||||
"password",
|
||||
"Walter O'Brien"
|
||||
)
|
||||
```
|
||||
|
||||
|
@ -72,8 +73,9 @@ val client = Client(context)
|
|||
val account = Account(client)
|
||||
val user = account.create(
|
||||
ID.unique(),
|
||||
"email@example.com",
|
||||
"password"
|
||||
"email@example.com",
|
||||
"password",
|
||||
"Walter O'Brien"
|
||||
)
|
||||
```
|
||||
|
||||
|
@ -82,7 +84,7 @@ The Appwrite Android SDK raises an `AppwriteException` object with `message`, `c
|
|||
|
||||
```kotlin
|
||||
try {
|
||||
var user = account.create(ID.unique(), "email@example.com", "password")
|
||||
var user = account.create(ID.unique(),"email@example.com","password","Walter O'Brien")
|
||||
Log.d("Appwrite user", user.toMap())
|
||||
} catch(e : AppwriteException) {
|
||||
e.printStackTrace()
|
||||
|
@ -94,4 +96,4 @@ You can use the following resources to learn more and get help
|
|||
- 🚀 [Getting Started Tutorial](https://appwrite.io/docs/getting-started-for-android)
|
||||
- 📜 [Appwrite Docs](https://appwrite.io/docs)
|
||||
- 💬 [Discord Community](https://appwrite.io/discord)
|
||||
- 🚂 [Appwrite Android Playground](https://github.com/appwrite/playground-for-android)
|
||||
- 🚂 [Appwrite Android Playground](https://github.com/appwrite/playground-for-android)
|
||||
|
|
|
@ -75,9 +75,10 @@ let account = Account(client)
|
|||
|
||||
do {
|
||||
let user = try await account.create(
|
||||
userId: ID.unique(),
|
||||
email: "email@example.com",
|
||||
password: "password"
|
||||
userId: ID.unique(),
|
||||
email: "email@example.com",
|
||||
password: "password",
|
||||
name: "Walter O'Brien"
|
||||
)
|
||||
print(String(describing: user.toMap()))
|
||||
} catch {
|
||||
|
@ -100,9 +101,10 @@ func main() {
|
|||
|
||||
do {
|
||||
let user = try await account.create(
|
||||
userId: ID.unique(),
|
||||
email: "email@example.com",
|
||||
password: "password"
|
||||
userId: ID.unique(),
|
||||
email: "email@example.com",
|
||||
password: "password",
|
||||
name: "Walter O'Brien"
|
||||
)
|
||||
print(String(describing: account.toMap()))
|
||||
} catch {
|
||||
|
|
|
@ -18,9 +18,11 @@ Create a new user:
|
|||
Users users = Users(client);
|
||||
|
||||
User result = await users.create(
|
||||
userId: '[USER_ID]',
|
||||
email: 'email@example.com',
|
||||
password: 'password',
|
||||
userId: ID.unique(),
|
||||
email: "email@example.com",
|
||||
phone: "+123456789",
|
||||
password: "password",
|
||||
name: "Walter O'Brien"
|
||||
);
|
||||
```
|
||||
|
||||
|
@ -57,4 +59,4 @@ storage.createFile(
|
|||
});
|
||||
```
|
||||
|
||||
All examples and API features are available at the [official Appwrite docs](https://appwrite.io/docs)
|
||||
All examples and API features are available at the [official Appwrite docs](https://appwrite.io/docs)
|
||||
|
|
|
@ -16,7 +16,7 @@ void main() async {
|
|||
Users users = Users(client);
|
||||
|
||||
try {
|
||||
final user = await users.create(userId: ID.unique(), email: ‘email@example.com’,password: ‘password’, name: ‘name’);
|
||||
final user = await users.create(userId: ID.unique(), email: "email@example.com", phone: "+123456789", password: "password", name: "Walter O'Brien");
|
||||
print(user.toMap());
|
||||
} on AppwriteException catch(e) {
|
||||
print(e.message);
|
||||
|
@ -31,7 +31,7 @@ The Appwrite Dart SDK raises `AppwriteException` object with `message`, `code` a
|
|||
Users users = Users(client);
|
||||
|
||||
try {
|
||||
final user = await users.create(userId: ID.unique(), email: ‘email@example.com’,password: ‘password’, name: ‘name’);
|
||||
final user = await users.create(userId: ID.unique(), email: "email@example.com", phone: "+123456789", password: "password", name: "Walter O'Brien");
|
||||
print(user.toMap());
|
||||
} on AppwriteException catch(e) {
|
||||
//show message to user or do other operation based on error as required
|
||||
|
|
|
@ -21,7 +21,7 @@ Once your SDK object is set, create any of the Appwrite service objects and choo
|
|||
```typescript
|
||||
let users = new sdk.Users(client);
|
||||
|
||||
let user = await users.create(ID.unique(), 'email@example.com', 'password');
|
||||
let user = await users.create(ID.unique(), "email@example.com", "+123456789", "password", "Walter O'Brien");
|
||||
console.log(user);
|
||||
```
|
||||
|
||||
|
@ -39,7 +39,7 @@ client
|
|||
.setSelfSigned() // Use only on dev mode with a self-signed SSL cert
|
||||
;
|
||||
|
||||
let user = await users.create(ID.unique(), 'email@example.com', 'password');
|
||||
let user = await users.create(ID.unique(), "email@example.com", "+123456789", "password", "Walter O'Brien");
|
||||
console.log(user);
|
||||
```
|
||||
|
||||
|
@ -50,7 +50,7 @@ The Appwrite Deno SDK raises `AppwriteException` object with `message`, `code` a
|
|||
let users = new sdk.Users(client);
|
||||
|
||||
try {
|
||||
let user = await users.create(ID.unique(), 'email@example.com', 'password');
|
||||
let user = await users.create(ID.unique(), "email@example.com", "+123456789", "password", "Walter O'Brien");
|
||||
} catch(e) {
|
||||
console.log(e.message);
|
||||
}
|
||||
|
|
|
@ -18,8 +18,9 @@ var users = new Users(client);
|
|||
var user = await users.Create(
|
||||
userId: ID.Unique(),
|
||||
email: "email@example.com",
|
||||
phone: "+123456789",
|
||||
password: "password",
|
||||
name: "name");
|
||||
name: "Walter O'Brien");
|
||||
|
||||
Console.WriteLine(user.ToMap());
|
||||
```
|
||||
|
@ -35,8 +36,9 @@ try
|
|||
var user = await users.Create(
|
||||
userId: ID.Unique(),
|
||||
email: "email@example.com",
|
||||
phone: "+123456789",
|
||||
password: "password",
|
||||
name: "name");
|
||||
name: "Walter O'Brien");
|
||||
}
|
||||
catch (AppwriteException e)
|
||||
{
|
||||
|
|
|
@ -17,7 +17,7 @@ Create a new user and session:
|
|||
```dart
|
||||
Account account = Account(client);
|
||||
|
||||
final user = await account.create(userId: '[USER_ID]', email: 'me@appwrite.io', password: 'password', name: 'My Name');
|
||||
final user = await account.create(userId: ID.unique(), email: "email@example.com", password: "password", name: "Walter O'Brien");
|
||||
|
||||
final session = await account.createEmailSession(email: 'me@appwrite.io', password: 'password');
|
||||
|
||||
|
@ -60,4 +60,4 @@ storage.createFile(
|
|||
});
|
||||
```
|
||||
|
||||
All examples and API features are available at the [official Appwrite docs](https://appwrite.io/docs)
|
||||
All examples and API features are available at the [official Appwrite docs](https://appwrite.io/docs)
|
||||
|
|
|
@ -17,7 +17,7 @@ Create a new user and session:
|
|||
```dart
|
||||
Account account = Account(client);
|
||||
|
||||
final user = await account.create(userId: '[USER_ID]', email: 'me@appwrite.io', password: 'password', name: 'My Name');
|
||||
final user = await account.create(userId: ID.unique(), email: "email@example.com", password: "password", name: "Walter O'Brien");
|
||||
|
||||
final session = await account.createEmailSession(email: 'me@appwrite.io', password: 'password');
|
||||
|
||||
|
@ -60,4 +60,4 @@ storage.createFile(
|
|||
});
|
||||
```
|
||||
|
||||
All examples and API features are available at the [official Appwrite docs](https://appwrite.io/docs)
|
||||
All examples and API features are available at the [official Appwrite docs](https://appwrite.io/docs)
|
||||
|
|
|
@ -105,10 +105,7 @@ When trying to connect to Appwrite from an emulator or a mobile device, localhos
|
|||
Account account = Account(client);
|
||||
final user = await account
|
||||
.create(
|
||||
userId: ID.unique(),
|
||||
email: 'me@appwrite.io',
|
||||
password: 'password',
|
||||
name: 'My Name'
|
||||
userId: ID.unique(), email: "email@example.com", password: "password", name: "Walter O'Brien"
|
||||
);
|
||||
```
|
||||
|
||||
|
@ -133,10 +130,7 @@ void main() {
|
|||
|
||||
final user = await account
|
||||
.create(
|
||||
userId: ID.unique(),
|
||||
email: 'me@appwrite.io',
|
||||
password: 'password',
|
||||
name: 'My Name'
|
||||
userId: ID.unique(), email: "email@example.com", password: "password", name: "Walter O'Brien"
|
||||
);
|
||||
}
|
||||
```
|
||||
|
@ -148,7 +142,7 @@ The Appwrite Flutter SDK raises `AppwriteException` object with `message`, `type
|
|||
Account account = Account(client);
|
||||
|
||||
try {
|
||||
final user = await account.create(userId: ID.unique(), email: ‘email@example.com’,password: ‘password’, name: ‘name’);
|
||||
final user = await account.create(userId: ID.unique(), email: "email@example.com", password: "password", name: "Walter O'Brien");
|
||||
print(user.toMap());
|
||||
} on AppwriteException catch(e) {
|
||||
//show message to user or do other operation based on error as required
|
||||
|
|
|
@ -26,7 +26,9 @@ val users = Users(client)
|
|||
val user = users.create(
|
||||
user = ID.unique(),
|
||||
email = "email@example.com",
|
||||
phone = "+123456789",
|
||||
password = "password",
|
||||
name = "Walter O'Brien"
|
||||
)
|
||||
```
|
||||
|
||||
|
@ -48,7 +50,9 @@ suspend fun main() {
|
|||
val user = users.create(
|
||||
user = ID.unique(),
|
||||
email = "email@example.com",
|
||||
phone = "+123456789",
|
||||
password = "password",
|
||||
name = "Walter O'Brien"
|
||||
)
|
||||
}
|
||||
```
|
||||
|
@ -68,7 +72,9 @@ suspend fun main() {
|
|||
val user = users.create(
|
||||
user = ID.unique(),
|
||||
email = "email@example.com",
|
||||
phone = "+123456789",
|
||||
password = "password",
|
||||
name = "Walter O'Brien"
|
||||
)
|
||||
} catch (e: AppwriteException) {
|
||||
e.printStackTrace()
|
||||
|
|
|
@ -22,7 +22,7 @@ Once your SDK object is set, create any of the Appwrite service objects and choo
|
|||
```js
|
||||
let users = new sdk.Users(client);
|
||||
|
||||
let promise = users.create(sdk.ID.unique(), 'email@example.com', undefined, 'password', 'Jane Doe');
|
||||
let promise = users.create(sdk.ID.unique(), "email@example.com", "+123456789", "password", "Walter O'Brien");
|
||||
|
||||
promise.then(function (response) {
|
||||
console.log(response);
|
||||
|
@ -45,7 +45,7 @@ client
|
|||
;
|
||||
|
||||
let users = new sdk.Users(client);
|
||||
let promise = users.create(sdk.ID.unique(), 'email@example.com', undefined, 'password', 'Jane Doe');
|
||||
let promise = users.create(sdk.ID.unique(), "email@example.com", "+123456789", "password", "Walter O'Brien");
|
||||
|
||||
promise.then(function (response) {
|
||||
console.log(response);
|
||||
|
@ -61,7 +61,7 @@ The Appwrite Node SDK raises `AppwriteException` object with `message`, `code` a
|
|||
let users = new sdk.Users(client);
|
||||
|
||||
try {
|
||||
let res = await users.create(sdk.ID.unique(), 'email@example.com', 'password');
|
||||
let res = await users.create(sdk.ID.unique(), "email@example.com", "+123456789", "password", "Walter O'Brien");
|
||||
} catch(e) {
|
||||
console.log(e.message);
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ Once your SDK object is set, create any of the Appwrite service objects and choo
|
|||
```php
|
||||
$users = new Users($client);
|
||||
|
||||
$user = $users->create(ID::unique(), 'email@example.com', 'password');
|
||||
$user = $users->create(ID::unique(), "email@example.com", "+123456789", "password", "Walter O'Brien");
|
||||
```
|
||||
|
||||
### Full Example
|
||||
|
@ -40,7 +40,7 @@ $client
|
|||
|
||||
$users = new Users($client);
|
||||
|
||||
$user = $users->create(ID::unique(), 'email@example.com', 'password');
|
||||
$user = $users->create(ID::unique(), "email@example.com", "+123456789", "password", "Walter O'Brien");
|
||||
```
|
||||
|
||||
### Error Handling
|
||||
|
@ -49,7 +49,7 @@ The Appwrite PHP SDK raises `AppwriteException` object with `message`, `code` an
|
|||
```php
|
||||
$users = new Users($client);
|
||||
try {
|
||||
$user = $users->create(ID::unique(), 'email@example.com', 'password');
|
||||
$user = $users->create(ID::unique(), "email@example.com", "+123456789", "password", "Walter O'Brien");
|
||||
} catch(AppwriteException $error) {
|
||||
echo $error->message;
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ Once your SDK object is set, create any of the Appwrite service objects and choo
|
|||
```python
|
||||
users = Users(client)
|
||||
|
||||
result = users.create('[USER_ID]', 'email@example.com', 'password')
|
||||
result = users.create(ID.unique(), email = "email@example.com", phone = "+123456789", password = "password", name = "Walter O'Brien")
|
||||
```
|
||||
|
||||
### Full Example
|
||||
|
@ -43,7 +43,7 @@ client = Client()
|
|||
|
||||
users = Users(client)
|
||||
|
||||
result = users.create(ID.unique(), 'email@example.com', 'password')
|
||||
result = users.create(ID.unique(), email = "email@example.com", phone = "+123456789", password = "password", name = "Walter O'Brien")
|
||||
```
|
||||
|
||||
### Error Handling
|
||||
|
@ -52,7 +52,7 @@ The Appwrite Python SDK raises `AppwriteException` object with `message`, `code`
|
|||
```python
|
||||
users = Users(client)
|
||||
try:
|
||||
result = users.create(ID.unique(), 'email@example.com', 'password')
|
||||
result = users.create(ID.unique(), email = "email@example.com", phone = "+123456789", password = "password", name = "Walter O'Brien")
|
||||
except AppwriteException as e:
|
||||
print(e.message)
|
||||
```
|
||||
|
|
|
@ -22,7 +22,7 @@ Once your SDK object is set, create any of the Appwrite service objects and choo
|
|||
```ruby
|
||||
users = Appwrite::Users.new(client);
|
||||
|
||||
user = users.create(userId: Appwrite::ID::unique(), email: 'email@example.com', password: 'password');
|
||||
user = users.create(userId: Appwrite::ID::unique(), email: "email@example.com", phone: "+123456789", password: "password", name: "Walter O'Brien");
|
||||
```
|
||||
|
||||
### Full Example
|
||||
|
@ -40,7 +40,7 @@ client
|
|||
|
||||
users = Appwrite::Users.new(client);
|
||||
|
||||
user = users.create(userId: Appwrite::ID::unique(), email: 'email@example.com', password: 'password');
|
||||
user = users.create(userId: Appwrite::ID::unique(), email: "email@example.com", phone: "+123456789", password: "password", name: "Walter O'Brien");
|
||||
```
|
||||
|
||||
### Error Handling
|
||||
|
@ -50,7 +50,7 @@ The Appwrite Ruby SDK raises `Appwrite::Exception` object with `message`, `code`
|
|||
users = Appwrite::Users.new(client);
|
||||
|
||||
begin
|
||||
user = users.create(userId: Appwrite::ID::unique(), email: 'email@example.com', password: 'password');
|
||||
user = users.create(userId: Appwrite::ID::unique(), email: "email@example.com", phone: "+123456789", password: "password", name: "Walter O'Brien");
|
||||
rescue Appwrite::Exception => error
|
||||
puts error.message
|
||||
end
|
||||
|
|
|
@ -25,9 +25,11 @@ let users = Users(client)
|
|||
|
||||
do {
|
||||
let user = try await users.create(
|
||||
userId: ID.unique(),
|
||||
email: "email@example.com",
|
||||
password: "password"
|
||||
userId: ID.unique(),
|
||||
email: "email@example.com",
|
||||
phone: "+123456789",
|
||||
password: "password",
|
||||
name: "Walter O'Brien"
|
||||
)
|
||||
print(String(describing: user.toMap()))
|
||||
} catch {
|
||||
|
@ -51,9 +53,11 @@ func main() {
|
|||
|
||||
do {
|
||||
let user = try await users.create(
|
||||
userId: ID.unique(),
|
||||
email: "email@example.com",
|
||||
password: "password"
|
||||
userId: ID.unique(),
|
||||
email: "email@example.com",
|
||||
phone: "+123456789",
|
||||
password: "password",
|
||||
name: "Walter O'Brien"
|
||||
)
|
||||
print(String(describing: user.toMap()))
|
||||
} catch {
|
||||
|
|
|
@ -25,7 +25,7 @@ Once your SDK object is set, access any of the Appwrite services and choose any
|
|||
const account = new Account(client);
|
||||
|
||||
// Register User
|
||||
account.create(ID.unique(), 'me@example.com', 'password', 'Jane Doe')
|
||||
account.create(ID.unique(), "email@example.com", "password", "Walter O'Brien")
|
||||
.then(function (response) {
|
||||
console.log(response);
|
||||
}, function (error) {
|
||||
|
@ -47,7 +47,7 @@ client
|
|||
const account = new Account(client);
|
||||
|
||||
// Register User
|
||||
account.create(ID.unique(), 'me@example.com', 'password', 'Jane Doe')
|
||||
account.create(ID.unique(), "email@example.com", "password", "Walter O'Brien")
|
||||
.then(function (response) {
|
||||
console.log(response);
|
||||
}, function (error) {
|
||||
|
|
|
@ -4068,6 +4068,8 @@ trait DatabasesBase
|
|||
$this->assertEquals(2, count($response['body']['documents']));
|
||||
$this->assertEquals(null, $response['body']['documents'][0]['fullName']);
|
||||
$this->assertArrayNotHasKey("libraries", $response['body']['documents'][0]);
|
||||
$this->assertArrayNotHasKey('$databaseId', $response['body']['documents'][0]);
|
||||
$this->assertArrayNotHasKey('$collectionId', $response['body']['documents'][0]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -4087,6 +4089,8 @@ trait DatabasesBase
|
|||
|
||||
$this->assertEquals(200, $response['headers']['status-code']);
|
||||
$this->assertArrayNotHasKey('libraries', $response['body']['documents'][0]);
|
||||
$this->assertArrayNotHasKey('$databaseId', $response['body']['documents'][0]);
|
||||
$this->assertArrayNotHasKey('$collectionId', $response['body']['documents'][0]);
|
||||
|
||||
$response = $this->client->call(Client::METHOD_GET, '/databases/' . $data['databaseId'] . '/collections/' . $data['personCollection'] . '/documents', array_merge([
|
||||
'content-type' => 'application/json',
|
||||
|
@ -4099,6 +4103,8 @@ trait DatabasesBase
|
|||
$document = $response['body']['documents'][0];
|
||||
$this->assertEquals(200, $response['headers']['status-code']);
|
||||
$this->assertArrayHasKey('libraries', $document);
|
||||
$this->assertArrayNotHasKey('$databaseId', $document);
|
||||
$this->assertArrayNotHasKey('$collectionId', $document);
|
||||
|
||||
$response = $this->client->call(Client::METHOD_GET, '/databases/' . $data['databaseId'] . '/collections/' . $data['personCollection'] . '/documents/' . $document['$id'], array_merge([
|
||||
'content-type' => 'application/json',
|
||||
|
|
Loading…
Reference in a new issue