1
0
Fork 0
mirror of synced 2024-06-28 11:10:46 +12:00

Merge branch '0.7.x' of github.com:appwrite/appwrite into swoole-and-functions

This commit is contained in:
Eldad Fux 2020-07-26 15:57:23 +03:00
commit f72e4561c6
69 changed files with 102 additions and 38 deletions

View file

@ -165,7 +165,7 @@ return [
[
'key' => 'deno',
'name' => 'Deno',
'version' => '0.0.1',
'version' => '0.0.2',
'url' => 'https://github.com/appwrite/sdk-for-deno',
'enabled' => false,
'beta' => true,

View file

@ -1,9 +1,9 @@
# Appwrite Deno SDK
![License](https://img.shields.io/github/license/appwrite/sdk-for-deno.svg?v=1)
![Version](https://img.shields.io/badge/api%20version-0.6.1-blue.svg?v=1)
![Version](https://img.shields.io/badge/api%20version-0.6.2-blue.svg?v=1)
**This SDK is compatible with Appwrite server version 0.6.1. For older versions, please check previous releases.**
**This SDK is compatible with Appwrite server version 0.6.2. For older versions, please check previous 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 Deno SDK to integrate your app with the Appwrite server to easily start interacting with all of Appwrite backend APIs and tools.

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = avatars.getBrowser('aa');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = avatars.getCreditCard('amex');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = avatars.getFavicon('https://example.com');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = avatars.getFlag('af');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = avatars.getImage('https://example.com');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = avatars.getQR('[TEXT]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = database.createCollection('[NAME]', [], [], []);
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = database.createDocument('[COLLECTION_ID]', {}, [], []);
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = database.deleteCollection('[COLLECTION_ID]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = database.deleteDocument('[COLLECTION_ID]', '[DOCUMENT_ID]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = database.getCollectionLogs('[COLLECTION_ID]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = database.getCollection('[COLLECTION_ID]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = database.getDocument('[COLLECTION_ID]', '[DOCUMENT_ID]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = database.listCollections();
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = database.listDocuments('[COLLECTION_ID]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = database.updateCollection('[COLLECTION_ID]', '[NAME]', [], []);
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = database.updateDocument('[COLLECTION_ID]', '[DOCUMENT_ID]', {}, [], []);
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = health.getAntiVirus();
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = health.getCache();
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = health.getDB();
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = health.getQueueCertificates();
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = health.getQueueFunctions();
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = health.getQueueLogs();
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = health.getQueueTasks();
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = health.getQueueUsage();
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = health.getQueueWebhooks();
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = health.getStorageLocal();
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = health.getTime();
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = health.get();
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = locale.getContinents();
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = locale.getCountriesEU();
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = locale.getCountriesPhones();
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = locale.getCountries();
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = locale.getCurrencies();
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = locale.get();
promise.then(function (response) {

View file

@ -10,7 +10,8 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = storage.createFile(fs.createReadStream(__dirname + '/file.png')), [], []);
let promise = storage.createFile(new File([fileBlob], 'file.png'), [], []);
promise.then(function (response) {
console.log(response);

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = storage.deleteFile('[FILE_ID]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = storage.getFileDownload('[FILE_ID]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = storage.getFilePreview('[FILE_ID]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = storage.getFileView('[FILE_ID]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = storage.getFile('[FILE_ID]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = storage.listFiles();
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = storage.updateFile('[FILE_ID]', [], []);
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = teams.createMembership('[TEAM_ID]', 'email@example.com', [], 'https://example.com');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = teams.create('[NAME]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = teams.deleteMembership('[TEAM_ID]', '[INVITE_ID]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = teams.delete('[TEAM_ID]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = teams.getMemberships('[TEAM_ID]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = teams.get('[TEAM_ID]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = teams.list();
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = teams.update('[TEAM_ID]', '[NAME]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = users.create('email@example.com', 'password');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = users.deleteSession('[USER_ID]', '[SESSION_ID]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = users.deleteSessions('[USER_ID]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = users.getLogs('[USER_ID]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = users.getPrefs('[USER_ID]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = users.getSessions('[USER_ID]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = users.get('[USER_ID]');
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = users.list();
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = users.updatePrefs('[USER_ID]', {});
promise.then(function (response) {

View file

@ -10,6 +10,7 @@ client
.setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key
;
let promise = users.updateStatus('[USER_ID]', '1');
promise.then(function (response) {

View file

@ -7,7 +7,7 @@ export class Client {
endpoint: string = 'https://appwrite.io/v1';
headers: DocumentData = {
'content-type': '',
'x-sdk-version': 'appwrite:deno:0.0.1',
'x-sdk-version': 'appwrite:deno:0.0.2',
};
/**

View file

@ -38,13 +38,13 @@ export class Database extends Service {
* Create a new Collection.
*
* @param string name
* @param Array<string> read
* @param Array<string> write
* @param Array<string> rules
* @param Array<any> read
* @param Array<any> write
* @param Array<any> rules
* @throws Exception
* @return Promise<string>
*/
async createCollection(name: string, read: Array<string>, write: Array<string>, rules: Array<string>): Promise<string> {
async createCollection(name: string, read: Array<any>, write: Array<any>, rules: Array<any>): Promise<string> {
let path = '/database/collections';
return await this.client.call('post', path, {
@ -85,13 +85,13 @@ export class Database extends Service {
*
* @param string collectionId
* @param string name
* @param Array<string> read
* @param Array<string> write
* @param Array<string> rules
* @param Array<any> read
* @param Array<any> write
* @param Array<any> rules
* @throws Exception
* @return Promise<string>
*/
async updateCollection(collectionId: string, name: string, read: Array<string>, write: Array<string>, rules: Array<string> = []): Promise<string> {
async updateCollection(collectionId: string, name: string, read: Array<any>, write: Array<any>, rules: Array<any> = []): Promise<string> {
let path = '/database/collections/{collectionId}'.replace(new RegExp('{collectionId}', 'g'), collectionId);
return await this.client.call('put', path, {
@ -134,7 +134,7 @@ export class Database extends Service {
* modes](/docs/admin).
*
* @param string collectionId
* @param Array<string> filters
* @param Array<any> filters
* @param number offset
* @param number limit
* @param string orderField
@ -146,7 +146,7 @@ export class Database extends Service {
* @throws Exception
* @return Promise<string>
*/
async listDocuments(collectionId: string, filters: Array<string> = [], offset: number = 0, limit: number = 50, orderField: string = '$id', orderType: string = 'ASC', orderCast: string = 'string', search: string = '', first: number = 0, last: number = 0): Promise<string> {
async listDocuments(collectionId: string, filters: Array<any> = [], offset: number = 0, limit: number = 50, orderField: string = '$id', orderType: string = 'ASC', orderCast: string = 'string', search: string = '', first: number = 0, last: number = 0): Promise<string> {
let path = '/database/collections/{collectionId}/documents'.replace(new RegExp('{collectionId}', 'g'), collectionId);
return await this.client.call('get', path, {
@ -168,19 +168,22 @@ export class Database extends Service {
/**
* Create Document
*
* Create a new Document.
* Create a new Document. Before using this route, you should create a new
* collection resource using either a [server
* integration](/docs/server/database?sdk=nodejs#createCollection) API or
* directly from your database console.
*
* @param string collectionId
* @param DocumentData data
* @param Array<string> read
* @param Array<string> write
* @param Array<any> read
* @param Array<any> write
* @param string parentDocument
* @param string parentProperty
* @param string parentPropertyType
* @throws Exception
* @return Promise<string>
*/
async createDocument(collectionId: string, data: DocumentData, read: Array<string>, write: Array<string>, parentDocument: string = '', parentProperty: string = '', parentPropertyType: string = 'assign'): Promise<string> {
async createDocument(collectionId: string, data: DocumentData, read: Array<any>, write: Array<any>, parentDocument: string = '', parentProperty: string = '', parentPropertyType: string = 'assign'): Promise<string> {
let path = '/database/collections/{collectionId}/documents'.replace(new RegExp('{collectionId}', 'g'), collectionId);
return await this.client.call('post', path, {
@ -223,12 +226,12 @@ export class Database extends Service {
* @param string collectionId
* @param string documentId
* @param DocumentData data
* @param Array<string> read
* @param Array<string> write
* @param Array<any> read
* @param Array<any> write
* @throws Exception
* @return Promise<string>
*/
async updateDocument(collectionId: string, documentId: string, data: DocumentData, read: Array<string>, write: Array<string>): Promise<string> {
async updateDocument(collectionId: string, documentId: string, data: DocumentData, read: Array<any>, write: Array<any>): Promise<string> {
let path = '/database/collections/{collectionId}/documents/{documentId}'.replace(new RegExp('{collectionId}', 'g'), collectionId).replace(new RegExp('{documentId}', 'g'), documentId);
return await this.client.call('patch', path, {

View file

@ -39,12 +39,12 @@ export class Storage extends Service {
* read and write arguments.
*
* @param File | Blob file
* @param Array<string> read
* @param Array<string> write
* @param Array<any> read
* @param Array<any> write
* @throws Exception
* @return Promise<string>
*/
async createFile(file: File | Blob, read: Array<string>, write: Array<string>): Promise<string> {
async createFile(file: File | Blob, read: Array<any>, write: Array<any>): Promise<string> {
let path = '/storage/files';
return await this.client.call('post', path, {
@ -84,12 +84,12 @@ export class Storage extends Service {
* to update this resource.
*
* @param string fileId
* @param Array<string> read
* @param Array<string> write
* @param Array<any> read
* @param Array<any> write
* @throws Exception
* @return Promise<string>
*/
async updateFile(fileId: string, read: Array<string>, write: Array<string>): Promise<string> {
async updateFile(fileId: string, read: Array<any>, write: Array<any>): Promise<string> {
let path = '/storage/files/{fileId}'.replace(new RegExp('{fileId}', 'g'), fileId);
return await this.client.call('put', path, {

View file

@ -40,11 +40,11 @@ export class Teams extends Service {
* project.
*
* @param string name
* @param Array<string> roles
* @param Array<any> roles
* @throws Exception
* @return Promise<string>
*/
async create(name: string, roles: Array<string> = ["owner"]): Promise<string> {
async create(name: string, roles: Array<any> = ["owner"]): Promise<string> {
let path = '/teams';
return await this.client.call('post', path, {
@ -147,8 +147,8 @@ export class Teams extends Service {
*
* Use the 'URL' parameter to redirect the user from the invitation email back
* to your app. When the user is redirected, use the [Update Team Membership
* Status](/docs/teams#updateMembershipStatus) endpoint to allow the user to
* accept the invitation to the team.
* Status](/docs/client/teams#updateMembershipStatus) endpoint to allow the
* user to accept the invitation to the team.
*
* Please note that in order to avoid a [Redirect
* Attacks](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md)
@ -157,13 +157,13 @@ export class Teams extends Service {
*
* @param string teamId
* @param string email
* @param Array<string> roles
* @param Array<any> roles
* @param string url
* @param string name
* @throws Exception
* @return Promise<string>
*/
async createMembership(teamId: string, email: string, roles: Array<string>, url: string, name: string = ''): Promise<string> {
async createMembership(teamId: string, email: string, roles: Array<any>, url: string, name: string = ''): Promise<string> {
let path = '/teams/{teamId}/memberships'.replace(new RegExp('{teamId}', 'g'), teamId);
return await this.client.call('post', path, {

View file

@ -68,7 +68,7 @@ abstract class Adapter
*
* @return array
*/
abstract public function createDocument(array $data, array $unique);
abstract public function createDocument(array $data = [], array $unique = []);
/**
* Update Document.
@ -77,7 +77,7 @@ abstract class Adapter
*
* @return array
*/
abstract public function updateDocument(array $data);
abstract public function updateDocument(array $data = []);
/**
* Delete Node.

View file

@ -718,8 +718,8 @@ class MySQL extends Adapter
$roles = ['1=1'];
}
$query = 'SELECT SUM(b_func.value) as result
FROM `'.$this->getNamespace().".database.documents` a {$where}{$join}{$func}
$query = "SELECT SUM(b_func.value) as result
FROM `".$this->getNamespace().".database.documents` a {$where}{$join}{$func}
WHERE status = 0
AND (".\implode('||', $roles).')';