diff --git a/README.md b/README.md
index 745f21c..5ced453 100644
--- a/README.md
+++ b/README.md
@@ -2,12 +2,12 @@


-
+
[](https://travis-ci.com/appwrite/sdk-generator)
[](https://twitter.com/appwrite)
[](https://appwrite.io/discord)
-**This SDK is compatible with Appwrite server version 1.7.x. For older versions, please check [previous releases](https://github.com/appwrite/sdk-for-android/releases).**
+**This SDK is compatible with Appwrite server version 1.8.x. For older versions, please check [previous releases](https://github.com/appwrite/sdk-for-android/releases).**
Appwrite is an open-source backend as a service server that abstract and simplify complex and repetitive development tasks behind a very simple to use REST API. Appwrite aims to help you develop your apps faster and in a more secure way. Use the Android SDK to integrate your app with the Appwrite server to easily start interacting with all of Appwrite backend APIs and tools. For full API documentation and tutorials go to [https://appwrite.io/docs](https://appwrite.io/docs)
@@ -38,7 +38,7 @@ repositories {
Next, add the dependency to your project's `build.gradle(.kts)` file:
```groovy
-implementation("io.appwrite:sdk-for-android:8.2.0")
+implementation("io.appwrite:sdk-for-android:9.0.0")
```
### Maven
@@ -49,7 +49,7 @@ Add this to your project's `pom.xml` file:
io.appwrite
sdk-for-android
- 8.2.0
+ 9.0.0
```
diff --git a/docs/examples/java/databases/create-document.md b/docs/examples/java/databases/create-document.md
index 3625d96..7fb129b 100644
--- a/docs/examples/java/databases/create-document.md
+++ b/docs/examples/java/databases/create-document.md
@@ -4,7 +4,6 @@ import io.appwrite.services.Databases;
Client client = new Client(context)
.setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint
- .setAdmin("") //
.setSession("") // The user session to authenticate with
.setKey("") //
.setJWT(""); // Your secret JSON Web Token
diff --git a/docs/examples/java/databases/upsert-document.md b/docs/examples/java/databases/upsert-document.md
index 868576b..ba7336f 100644
--- a/docs/examples/java/databases/upsert-document.md
+++ b/docs/examples/java/databases/upsert-document.md
@@ -4,7 +4,9 @@ import io.appwrite.services.Databases;
Client client = new Client(context)
.setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint
- .setProject(""); // Your project ID
+ .setSession("") // The user session to authenticate with
+ .setKey("") //
+ .setJWT(""); // Your secret JSON Web Token
Databases databases = new Databases(client);
@@ -12,8 +14,6 @@ databases.upsertDocument(
"", // databaseId
"", // collectionId
"", // documentId
- mapOf( "a" to "b" ), // data
- listOf("read("any")"), // permissions (optional)
new CoroutineCallback<>((result, error) -> {
if (error != null) {
error.printStackTrace();
diff --git a/docs/examples/java/tables/create-row.md b/docs/examples/java/tables/create-row.md
new file mode 100644
index 0000000..8102b82
--- /dev/null
+++ b/docs/examples/java/tables/create-row.md
@@ -0,0 +1,28 @@
+import io.appwrite.Client;
+import io.appwrite.coroutines.CoroutineCallback;
+import io.appwrite.services.Tables;
+
+Client client = new Client(context)
+ .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint
+ .setSession("") // The user session to authenticate with
+ .setKey("") //
+ .setJWT(""); // Your secret JSON Web Token
+
+Tables tables = new Tables(client);
+
+tables.createRow(
+ "", // databaseId
+ "", // tableId
+ "", // rowId
+ mapOf( "a" to "b" ), // data
+ listOf("read("any")"), // permissions (optional)
+ new CoroutineCallback<>((result, error) -> {
+ if (error != null) {
+ error.printStackTrace();
+ return;
+ }
+
+ Log.d("Appwrite", result.toString());
+ })
+);
+
diff --git a/docs/examples/java/tables/create-rows.md b/docs/examples/java/tables/create-rows.md
new file mode 100644
index 0000000..26f5d67
--- /dev/null
+++ b/docs/examples/java/tables/create-rows.md
@@ -0,0 +1,25 @@
+import io.appwrite.Client;
+import io.appwrite.coroutines.CoroutineCallback;
+import io.appwrite.services.Tables;
+
+Client client = new Client(context)
+ .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint
+ .setAdmin("") //
+ .setKey(""); //
+
+Tables tables = new Tables(client);
+
+tables.createRows(
+ "", // databaseId
+ "", // tableId
+ listOf(), // rows
+ new CoroutineCallback<>((result, error) -> {
+ if (error != null) {
+ error.printStackTrace();
+ return;
+ }
+
+ Log.d("Appwrite", result.toString());
+ })
+);
+
diff --git a/docs/examples/java/databases/decrement-document-attribute.md b/docs/examples/java/tables/delete-row.md
similarity index 64%
rename from docs/examples/java/databases/decrement-document-attribute.md
rename to docs/examples/java/tables/delete-row.md
index de6a4ab..596a8b7 100644
--- a/docs/examples/java/databases/decrement-document-attribute.md
+++ b/docs/examples/java/tables/delete-row.md
@@ -1,20 +1,17 @@
import io.appwrite.Client;
import io.appwrite.coroutines.CoroutineCallback;
-import io.appwrite.services.Databases;
+import io.appwrite.services.Tables;
Client client = new Client(context)
.setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint
.setProject(""); // Your project ID
-Databases databases = new Databases(client);
+Tables tables = new Tables(client);
-databases.decrementDocumentAttribute(
+tables.deleteRow(
"", // databaseId
- "", // collectionId
- "", // documentId
- "", // attribute
- 0, // value (optional)
- 0, // min (optional)
+ "", // tableId
+ "", // rowId
new CoroutineCallback<>((result, error) -> {
if (error != null) {
error.printStackTrace();
diff --git a/docs/examples/java/databases/increment-document-attribute.md b/docs/examples/java/tables/get-row.md
similarity index 64%
rename from docs/examples/java/databases/increment-document-attribute.md
rename to docs/examples/java/tables/get-row.md
index 94ffa9d..882a195 100644
--- a/docs/examples/java/databases/increment-document-attribute.md
+++ b/docs/examples/java/tables/get-row.md
@@ -1,20 +1,18 @@
import io.appwrite.Client;
import io.appwrite.coroutines.CoroutineCallback;
-import io.appwrite.services.Databases;
+import io.appwrite.services.Tables;
Client client = new Client(context)
.setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint
.setProject(""); // Your project ID
-Databases databases = new Databases(client);
+Tables tables = new Tables(client);
-databases.incrementDocumentAttribute(
+tables.getRow(
"", // databaseId
- "", // collectionId
- "", // documentId
- "", // attribute
- 0, // value (optional)
- 0, // max (optional)
+ "", // tableId
+ "", // rowId
+ listOf(), // queries (optional)
new CoroutineCallback<>((result, error) -> {
if (error != null) {
error.printStackTrace();
diff --git a/docs/examples/java/tables/list-rows.md b/docs/examples/java/tables/list-rows.md
new file mode 100644
index 0000000..4d37570
--- /dev/null
+++ b/docs/examples/java/tables/list-rows.md
@@ -0,0 +1,24 @@
+import io.appwrite.Client;
+import io.appwrite.coroutines.CoroutineCallback;
+import io.appwrite.services.Tables;
+
+Client client = new Client(context)
+ .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint
+ .setProject(""); // Your project ID
+
+Tables tables = new Tables(client);
+
+tables.listRows(
+ "", // databaseId
+ "", // tableId
+ listOf(), // queries (optional)
+ new CoroutineCallback<>((result, error) -> {
+ if (error != null) {
+ error.printStackTrace();
+ return;
+ }
+
+ Log.d("Appwrite", result.toString());
+ })
+);
+
diff --git a/docs/examples/java/tables/update-row.md b/docs/examples/java/tables/update-row.md
new file mode 100644
index 0000000..0421c9c
--- /dev/null
+++ b/docs/examples/java/tables/update-row.md
@@ -0,0 +1,26 @@
+import io.appwrite.Client;
+import io.appwrite.coroutines.CoroutineCallback;
+import io.appwrite.services.Tables;
+
+Client client = new Client(context)
+ .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint
+ .setProject(""); // Your project ID
+
+Tables tables = new Tables(client);
+
+tables.updateRow(
+ "", // databaseId
+ "", // tableId
+ "", // rowId
+ mapOf( "a" to "b" ), // data (optional)
+ listOf("read("any")"), // permissions (optional)
+ new CoroutineCallback<>((result, error) -> {
+ if (error != null) {
+ error.printStackTrace();
+ return;
+ }
+
+ Log.d("Appwrite", result.toString());
+ })
+);
+
diff --git a/docs/examples/java/tables/upsert-row.md b/docs/examples/java/tables/upsert-row.md
new file mode 100644
index 0000000..a8be0cf
--- /dev/null
+++ b/docs/examples/java/tables/upsert-row.md
@@ -0,0 +1,26 @@
+import io.appwrite.Client;
+import io.appwrite.coroutines.CoroutineCallback;
+import io.appwrite.services.Tables;
+
+Client client = new Client(context)
+ .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint
+ .setSession("") // The user session to authenticate with
+ .setKey("") //
+ .setJWT(""); // Your secret JSON Web Token
+
+Tables tables = new Tables(client);
+
+tables.upsertRow(
+ "", // databaseId
+ "", // tableId
+ "", // rowId
+ new CoroutineCallback<>((result, error) -> {
+ if (error != null) {
+ error.printStackTrace();
+ return;
+ }
+
+ Log.d("Appwrite", result.toString());
+ })
+);
+
diff --git a/docs/examples/kotlin/databases/create-document.md b/docs/examples/kotlin/databases/create-document.md
index 38f9389..0bafb31 100644
--- a/docs/examples/kotlin/databases/create-document.md
+++ b/docs/examples/kotlin/databases/create-document.md
@@ -4,7 +4,6 @@ import io.appwrite.services.Databases
val client = Client(context)
.setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint
- .setAdmin("") //
.setSession("") // The user session to authenticate with
.setKey("") //
.setJWT("") // Your secret JSON Web Token
diff --git a/docs/examples/kotlin/databases/upsert-document.md b/docs/examples/kotlin/databases/upsert-document.md
index a31dfc8..7939fde 100644
--- a/docs/examples/kotlin/databases/upsert-document.md
+++ b/docs/examples/kotlin/databases/upsert-document.md
@@ -4,7 +4,9 @@ import io.appwrite.services.Databases
val client = Client(context)
.setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint
- .setProject("") // Your project ID
+ .setSession("") // The user session to authenticate with
+ .setKey("") //
+ .setJWT("") // Your secret JSON Web Token
val databases = Databases(client)
@@ -12,6 +14,4 @@ val result = databases.upsertDocument(
databaseId = "",
collectionId = "",
documentId = "",
- data = mapOf( "a" to "b" ),
- permissions = listOf("read("any")"), // (optional)
)
\ No newline at end of file
diff --git a/docs/examples/kotlin/tables/create-row.md b/docs/examples/kotlin/tables/create-row.md
new file mode 100644
index 0000000..8c581bf
--- /dev/null
+++ b/docs/examples/kotlin/tables/create-row.md
@@ -0,0 +1,19 @@
+import io.appwrite.Client
+import io.appwrite.coroutines.CoroutineCallback
+import io.appwrite.services.Tables
+
+val client = Client(context)
+ .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint
+ .setSession("") // The user session to authenticate with
+ .setKey("") //
+ .setJWT("") // Your secret JSON Web Token
+
+val tables = Tables(client)
+
+val result = tables.createRow(
+ databaseId = "",
+ tableId = "",
+ rowId = "",
+ data = mapOf( "a" to "b" ),
+ permissions = listOf("read("any")"), // (optional)
+)
\ No newline at end of file
diff --git a/docs/examples/kotlin/tables/create-rows.md b/docs/examples/kotlin/tables/create-rows.md
new file mode 100644
index 0000000..1fde9c5
--- /dev/null
+++ b/docs/examples/kotlin/tables/create-rows.md
@@ -0,0 +1,16 @@
+import io.appwrite.Client
+import io.appwrite.coroutines.CoroutineCallback
+import io.appwrite.services.Tables
+
+val client = Client(context)
+ .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint
+ .setAdmin("") //
+ .setKey("") //
+
+val tables = Tables(client)
+
+val result = tables.createRows(
+ databaseId = "",
+ tableId = "",
+ rows = listOf(),
+)
\ No newline at end of file
diff --git a/docs/examples/kotlin/databases/decrement-document-attribute.md b/docs/examples/kotlin/tables/delete-row.md
similarity index 50%
rename from docs/examples/kotlin/databases/decrement-document-attribute.md
rename to docs/examples/kotlin/tables/delete-row.md
index c500fa8..ffa3229 100644
--- a/docs/examples/kotlin/databases/decrement-document-attribute.md
+++ b/docs/examples/kotlin/tables/delete-row.md
@@ -1,18 +1,15 @@
import io.appwrite.Client
import io.appwrite.coroutines.CoroutineCallback
-import io.appwrite.services.Databases
+import io.appwrite.services.Tables
val client = Client(context)
.setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("") // Your project ID
-val databases = Databases(client)
+val tables = Tables(client)
-val result = databases.decrementDocumentAttribute(
+val result = tables.deleteRow(
databaseId = "",
- collectionId = "",
- documentId = "",
- attribute = "",
- value = 0, // (optional)
- min = 0, // (optional)
+ tableId = "",
+ rowId = "",
)
\ No newline at end of file
diff --git a/docs/examples/kotlin/databases/increment-document-attribute.md b/docs/examples/kotlin/tables/get-row.md
similarity index 50%
rename from docs/examples/kotlin/databases/increment-document-attribute.md
rename to docs/examples/kotlin/tables/get-row.md
index 0ae6b02..15dabff 100644
--- a/docs/examples/kotlin/databases/increment-document-attribute.md
+++ b/docs/examples/kotlin/tables/get-row.md
@@ -1,18 +1,16 @@
import io.appwrite.Client
import io.appwrite.coroutines.CoroutineCallback
-import io.appwrite.services.Databases
+import io.appwrite.services.Tables
val client = Client(context)
.setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("") // Your project ID
-val databases = Databases(client)
+val tables = Tables(client)
-val result = databases.incrementDocumentAttribute(
+val result = tables.getRow(
databaseId = "",
- collectionId = "",
- documentId = "",
- attribute = "",
- value = 0, // (optional)
- max = 0, // (optional)
+ tableId = "",
+ rowId = "",
+ queries = listOf(), // (optional)
)
\ No newline at end of file
diff --git a/docs/examples/kotlin/tables/list-rows.md b/docs/examples/kotlin/tables/list-rows.md
new file mode 100644
index 0000000..ff36543
--- /dev/null
+++ b/docs/examples/kotlin/tables/list-rows.md
@@ -0,0 +1,15 @@
+import io.appwrite.Client
+import io.appwrite.coroutines.CoroutineCallback
+import io.appwrite.services.Tables
+
+val client = Client(context)
+ .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint
+ .setProject("") // Your project ID
+
+val tables = Tables(client)
+
+val result = tables.listRows(
+ databaseId = "",
+ tableId = "",
+ queries = listOf(), // (optional)
+)
\ No newline at end of file
diff --git a/docs/examples/kotlin/tables/update-row.md b/docs/examples/kotlin/tables/update-row.md
new file mode 100644
index 0000000..e9b515c
--- /dev/null
+++ b/docs/examples/kotlin/tables/update-row.md
@@ -0,0 +1,17 @@
+import io.appwrite.Client
+import io.appwrite.coroutines.CoroutineCallback
+import io.appwrite.services.Tables
+
+val client = Client(context)
+ .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint
+ .setProject("") // Your project ID
+
+val tables = Tables(client)
+
+val result = tables.updateRow(
+ databaseId = "",
+ tableId = "",
+ rowId = "",
+ data = mapOf( "a" to "b" ), // (optional)
+ permissions = listOf("read("any")"), // (optional)
+)
\ No newline at end of file
diff --git a/docs/examples/kotlin/tables/upsert-row.md b/docs/examples/kotlin/tables/upsert-row.md
new file mode 100644
index 0000000..6b7cb66
--- /dev/null
+++ b/docs/examples/kotlin/tables/upsert-row.md
@@ -0,0 +1,17 @@
+import io.appwrite.Client
+import io.appwrite.coroutines.CoroutineCallback
+import io.appwrite.services.Tables
+
+val client = Client(context)
+ .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint
+ .setSession("") // The user session to authenticate with
+ .setKey("") //
+ .setJWT("") // Your secret JSON Web Token
+
+val tables = Tables(client)
+
+val result = tables.upsertRow(
+ databaseId = "",
+ tableId = "",
+ rowId = "",
+)
\ No newline at end of file
diff --git a/library/src/main/java/io/appwrite/Client.kt b/library/src/main/java/io/appwrite/Client.kt
index bf0480f..10f9255 100644
--- a/library/src/main/java/io/appwrite/Client.kt
+++ b/library/src/main/java/io/appwrite/Client.kt
@@ -87,8 +87,8 @@ class Client @JvmOverloads constructor(
"x-sdk-name" to "Android",
"x-sdk-platform" to "client",
"x-sdk-language" to "android",
- "x-sdk-version" to "8.2.0",
- "x-appwrite-response-format" to "1.7.0"
+ "x-sdk-version" to "9.0.0",
+ "x-appwrite-response-format" to "1.8.0"
)
config = mutableMapOf()
diff --git a/library/src/main/java/io/appwrite/models/ContinentList.kt b/library/src/main/java/io/appwrite/models/ContinentList.kt
index fdd490a..a6ec310 100644
--- a/library/src/main/java/io/appwrite/models/ContinentList.kt
+++ b/library/src/main/java/io/appwrite/models/ContinentList.kt
@@ -8,7 +8,7 @@ import io.appwrite.extensions.jsonCast
*/
data class ContinentList(
/**
- * Total number of continents documents that matched your query.
+ * Total number of continents rows that matched your query.
*/
@SerializedName("total")
val total: Long,
diff --git a/library/src/main/java/io/appwrite/models/CountryList.kt b/library/src/main/java/io/appwrite/models/CountryList.kt
index 350a894..546cf73 100644
--- a/library/src/main/java/io/appwrite/models/CountryList.kt
+++ b/library/src/main/java/io/appwrite/models/CountryList.kt
@@ -8,7 +8,7 @@ import io.appwrite.extensions.jsonCast
*/
data class CountryList(
/**
- * Total number of countries documents that matched your query.
+ * Total number of countries rows that matched your query.
*/
@SerializedName("total")
val total: Long,
diff --git a/library/src/main/java/io/appwrite/models/CurrencyList.kt b/library/src/main/java/io/appwrite/models/CurrencyList.kt
index fe1e001..95dec92 100644
--- a/library/src/main/java/io/appwrite/models/CurrencyList.kt
+++ b/library/src/main/java/io/appwrite/models/CurrencyList.kt
@@ -8,7 +8,7 @@ import io.appwrite.extensions.jsonCast
*/
data class CurrencyList(
/**
- * Total number of currencies documents that matched your query.
+ * Total number of currencies rows that matched your query.
*/
@SerializedName("total")
val total: Long,
diff --git a/library/src/main/java/io/appwrite/models/DocumentList.kt b/library/src/main/java/io/appwrite/models/DocumentList.kt
index fa3dd20..6f40579 100644
--- a/library/src/main/java/io/appwrite/models/DocumentList.kt
+++ b/library/src/main/java/io/appwrite/models/DocumentList.kt
@@ -8,7 +8,7 @@ import io.appwrite.extensions.jsonCast
*/
data class DocumentList(
/**
- * Total number of documents documents that matched your query.
+ * Total number of documents rows that matched your query.
*/
@SerializedName("total")
val total: Long,
diff --git a/library/src/main/java/io/appwrite/models/ExecutionList.kt b/library/src/main/java/io/appwrite/models/ExecutionList.kt
index 322aeee..ac11e4f 100644
--- a/library/src/main/java/io/appwrite/models/ExecutionList.kt
+++ b/library/src/main/java/io/appwrite/models/ExecutionList.kt
@@ -8,7 +8,7 @@ import io.appwrite.extensions.jsonCast
*/
data class ExecutionList(
/**
- * Total number of executions documents that matched your query.
+ * Total number of executions rows that matched your query.
*/
@SerializedName("total")
val total: Long,
diff --git a/library/src/main/java/io/appwrite/models/FileList.kt b/library/src/main/java/io/appwrite/models/FileList.kt
index 5af18f1..ba69ea8 100644
--- a/library/src/main/java/io/appwrite/models/FileList.kt
+++ b/library/src/main/java/io/appwrite/models/FileList.kt
@@ -8,7 +8,7 @@ import io.appwrite.extensions.jsonCast
*/
data class FileList(
/**
- * Total number of files documents that matched your query.
+ * Total number of files rows that matched your query.
*/
@SerializedName("total")
val total: Long,
diff --git a/library/src/main/java/io/appwrite/models/IdentityList.kt b/library/src/main/java/io/appwrite/models/IdentityList.kt
index 1cbb07d..2e1a33a 100644
--- a/library/src/main/java/io/appwrite/models/IdentityList.kt
+++ b/library/src/main/java/io/appwrite/models/IdentityList.kt
@@ -8,7 +8,7 @@ import io.appwrite.extensions.jsonCast
*/
data class IdentityList(
/**
- * Total number of identities documents that matched your query.
+ * Total number of identities rows that matched your query.
*/
@SerializedName("total")
val total: Long,
diff --git a/library/src/main/java/io/appwrite/models/LanguageList.kt b/library/src/main/java/io/appwrite/models/LanguageList.kt
index 07559b9..ab78452 100644
--- a/library/src/main/java/io/appwrite/models/LanguageList.kt
+++ b/library/src/main/java/io/appwrite/models/LanguageList.kt
@@ -8,7 +8,7 @@ import io.appwrite.extensions.jsonCast
*/
data class LanguageList(
/**
- * Total number of languages documents that matched your query.
+ * Total number of languages rows that matched your query.
*/
@SerializedName("total")
val total: Long,
diff --git a/library/src/main/java/io/appwrite/models/LocaleCodeList.kt b/library/src/main/java/io/appwrite/models/LocaleCodeList.kt
index 3973a03..6f47333 100644
--- a/library/src/main/java/io/appwrite/models/LocaleCodeList.kt
+++ b/library/src/main/java/io/appwrite/models/LocaleCodeList.kt
@@ -8,7 +8,7 @@ import io.appwrite.extensions.jsonCast
*/
data class LocaleCodeList(
/**
- * Total number of localeCodes documents that matched your query.
+ * Total number of localeCodes rows that matched your query.
*/
@SerializedName("total")
val total: Long,
diff --git a/library/src/main/java/io/appwrite/models/LogList.kt b/library/src/main/java/io/appwrite/models/LogList.kt
index b9f381c..d2e0b00 100644
--- a/library/src/main/java/io/appwrite/models/LogList.kt
+++ b/library/src/main/java/io/appwrite/models/LogList.kt
@@ -8,7 +8,7 @@ import io.appwrite.extensions.jsonCast
*/
data class LogList(
/**
- * Total number of logs documents that matched your query.
+ * Total number of logs rows that matched your query.
*/
@SerializedName("total")
val total: Long,
diff --git a/library/src/main/java/io/appwrite/models/MembershipList.kt b/library/src/main/java/io/appwrite/models/MembershipList.kt
index 7feaaaa..efcffc4 100644
--- a/library/src/main/java/io/appwrite/models/MembershipList.kt
+++ b/library/src/main/java/io/appwrite/models/MembershipList.kt
@@ -8,7 +8,7 @@ import io.appwrite.extensions.jsonCast
*/
data class MembershipList(
/**
- * Total number of memberships documents that matched your query.
+ * Total number of memberships rows that matched your query.
*/
@SerializedName("total")
val total: Long,
diff --git a/library/src/main/java/io/appwrite/models/PhoneList.kt b/library/src/main/java/io/appwrite/models/PhoneList.kt
index b17de4f..675295f 100644
--- a/library/src/main/java/io/appwrite/models/PhoneList.kt
+++ b/library/src/main/java/io/appwrite/models/PhoneList.kt
@@ -8,7 +8,7 @@ import io.appwrite.extensions.jsonCast
*/
data class PhoneList(
/**
- * Total number of phones documents that matched your query.
+ * Total number of phones rows that matched your query.
*/
@SerializedName("total")
val total: Long,
diff --git a/library/src/main/java/io/appwrite/models/Row.kt b/library/src/main/java/io/appwrite/models/Row.kt
new file mode 100644
index 0000000..bb5c14f
--- /dev/null
+++ b/library/src/main/java/io/appwrite/models/Row.kt
@@ -0,0 +1,105 @@
+package io.appwrite.models
+
+import com.google.gson.annotations.SerializedName
+import io.appwrite.extensions.jsonCast
+
+/**
+ * Row
+ */
+data class Row(
+ /**
+ * Row ID.
+ */
+ @SerializedName("\$id")
+ val id: String,
+
+ /**
+ * Row automatically incrementing ID.
+ */
+ @SerializedName("\$sequence")
+ val sequence: Long,
+
+ /**
+ * Table ID.
+ */
+ @SerializedName("\$tableId")
+ val tableId: String,
+
+ /**
+ * Database ID.
+ */
+ @SerializedName("\$databaseId")
+ val databaseId: String,
+
+ /**
+ * Row creation date in ISO 8601 format.
+ */
+ @SerializedName("\$createdAt")
+ val createdAt: String,
+
+ /**
+ * Row update date in ISO 8601 format.
+ */
+ @SerializedName("\$updatedAt")
+ val updatedAt: String,
+
+ /**
+ * Row permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).
+ */
+ @SerializedName("\$permissions")
+ val permissions: List,
+
+ /**
+ * Additional properties
+ */
+ @SerializedName("data")
+ val data: T
+) {
+ fun toMap(): Map = mapOf(
+ "\$id" to id as Any,
+ "\$sequence" to sequence as Any,
+ "\$tableId" to tableId as Any,
+ "\$databaseId" to databaseId as Any,
+ "\$createdAt" to createdAt as Any,
+ "\$updatedAt" to updatedAt as Any,
+ "\$permissions" to permissions as Any,
+ "data" to data!!.jsonCast(to = Map::class.java)
+ )
+
+ companion object {
+ operator fun invoke(
+ id: String,
+ sequence: Long,
+ tableId: String,
+ databaseId: String,
+ createdAt: String,
+ updatedAt: String,
+ permissions: List,
+ data: Map
+ ) = Row