Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions .github/workflows/format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ on:
jobs:
format:
runs-on: ubuntu-latest
container:
image: dart:stable

steps:
- name: Checkout repository
Expand All @@ -20,6 +18,14 @@ jobs:
persist-credentials: true
ref: ${{ github.event.pull_request.head.ref }}

- name: Install Flutter
uses: subosito/flutter-action@v2
with:
channel: stable

- name: Install dependencies
run: flutter pub get

- name: Format Dart code
run: dart format .

Expand All @@ -29,5 +35,5 @@ jobs:
- name: Add & Commit
uses: EndBug/add-and-commit@v9.1.4
with:
add: lib
add: '["lib", "test"]'

6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Change Log

## 20.2.2

* Widen `device_info_plus` and `package_info_plus` dependencies to allow for newer versions for Android 15+ support
* Fix `CHUNK_SIZE` constant to `chunkSize`
* Fix missing `@override` annotation to `toMap` method in all model classes

## 20.2.1

* Add transaction support for Databases and TablesDB
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Add this to your package's `pubspec.yaml` file:

```yml
dependencies:
appwrite: ^20.2.1
appwrite: ^20.2.2
```

You can install packages from the command line:
Expand Down
4 changes: 3 additions & 1 deletion docs/examples/databases/create-document.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import 'package:appwrite/appwrite.dart';
import 'package:appwrite/permission.dart';
import 'package:appwrite/role.dart';

Client client = Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
Expand All @@ -17,6 +19,6 @@ Document result = await databases.createDocument(
"age": 30,
"isAdmin": false
},
permissions: ["read("any")"], // optional
permissions: [Permission.read(Role.any())], // optional
transactionId: '<TRANSACTION_ID>', // optional
);
4 changes: 3 additions & 1 deletion docs/examples/databases/update-document.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import 'package:appwrite/appwrite.dart';
import 'package:appwrite/permission.dart';
import 'package:appwrite/role.dart';

Client client = Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
Expand All @@ -11,6 +13,6 @@ Document result = await databases.updateDocument(
collectionId: '<COLLECTION_ID>',
documentId: '<DOCUMENT_ID>',
data: {}, // optional
permissions: ["read("any")"], // optional
permissions: [Permission.read(Role.any())], // optional
transactionId: '<TRANSACTION_ID>', // optional
);
4 changes: 3 additions & 1 deletion docs/examples/databases/upsert-document.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import 'package:appwrite/appwrite.dart';
import 'package:appwrite/permission.dart';
import 'package:appwrite/role.dart';

Client client = Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
Expand All @@ -11,6 +13,6 @@ Document result = await databases.upsertDocument(
collectionId: '<COLLECTION_ID>',
documentId: '<DOCUMENT_ID>',
data: {},
permissions: ["read("any")"], // optional
permissions: [Permission.read(Role.any())], // optional
transactionId: '<TRANSACTION_ID>', // optional
);
4 changes: 3 additions & 1 deletion docs/examples/storage/create-file.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import 'dart:io';
import 'package:appwrite/appwrite.dart';
import 'package:appwrite/permission.dart';
import 'package:appwrite/role.dart';

Client client = Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
Expand All @@ -11,5 +13,5 @@ File result = await storage.createFile(
bucketId: '<BUCKET_ID>',
fileId: '<FILE_ID>',
file: InputFile(path: './path-to-files/image.jpg', filename: 'image.jpg'),
permissions: ["read("any")"], // optional
permissions: [Permission.read(Role.any())], // optional
);
4 changes: 3 additions & 1 deletion docs/examples/storage/update-file.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import 'package:appwrite/appwrite.dart';
import 'package:appwrite/permission.dart';
import 'package:appwrite/role.dart';

Client client = Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
Expand All @@ -10,5 +12,5 @@ File result = await storage.updateFile(
bucketId: '<BUCKET_ID>',
fileId: '<FILE_ID>',
name: '<NAME>', // optional
permissions: ["read("any")"], // optional
permissions: [Permission.read(Role.any())], // optional
);
4 changes: 3 additions & 1 deletion docs/examples/tablesdb/create-row.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import 'package:appwrite/appwrite.dart';
import 'package:appwrite/permission.dart';
import 'package:appwrite/role.dart';

Client client = Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
Expand All @@ -17,6 +19,6 @@ Row result = await tablesDB.createRow(
"age": 30,
"isAdmin": false
},
permissions: ["read("any")"], // optional
permissions: [Permission.read(Role.any())], // optional
transactionId: '<TRANSACTION_ID>', // optional
);
4 changes: 3 additions & 1 deletion docs/examples/tablesdb/update-row.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import 'package:appwrite/appwrite.dart';
import 'package:appwrite/permission.dart';
import 'package:appwrite/role.dart';

Client client = Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
Expand All @@ -11,6 +13,6 @@ Row result = await tablesDB.updateRow(
tableId: '<TABLE_ID>',
rowId: '<ROW_ID>',
data: {}, // optional
permissions: ["read("any")"], // optional
permissions: [Permission.read(Role.any())], // optional
transactionId: '<TRANSACTION_ID>', // optional
);
4 changes: 3 additions & 1 deletion docs/examples/tablesdb/upsert-row.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import 'package:appwrite/appwrite.dart';
import 'package:appwrite/permission.dart';
import 'package:appwrite/role.dart';

Client client = Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
Expand All @@ -11,6 +13,6 @@ Row result = await tablesDB.upsertRow(
tableId: '<TABLE_ID>',
rowId: '<ROW_ID>',
data: {}, // optional
permissions: ["read("any")"], // optional
permissions: [Permission.read(Role.any())], // optional
transactionId: '<TRANSACTION_ID>', // optional
);
66 changes: 29 additions & 37 deletions lib/query.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ class Query {
final String? attribute;
final dynamic values;

Query._(this.method, [this.attribute = null, this.values = null]);
Query._(this.method, [this.attribute, this.values]);

Map<String, dynamic> toJson() {
final result = <String, dynamic>{};
Expand Down Expand Up @@ -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) =>
Expand Down Expand Up @@ -182,43 +182,35 @@ class Query {

/// 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();
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();
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();
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();
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) =>
Expand Down
Loading