From 839428ce9c8339c3c9adcb5229dd8325b27eacdb Mon Sep 17 00:00:00 2001 From: Eldad Fux Date: Sun, 10 May 2020 23:44:28 +0300 Subject: [PATCH] Updated SDKs --- app/controllers/api/functions.php | 22 +-- .../docs/examples/functions/create.md | 2 +- .../docs/examples/functions/update-tag.md | 14 ++ .../docs/examples/functions/update.md | 2 +- app/sdks/console-javascript/src/sdk.js | 46 +---- app/sdks/console-javascript/src/sdk.min.js | 16 +- app/sdks/console-javascript/types/index.d.ts | 2 +- app/sdks/git/java | 1 + .../docs/examples/functions/update-tag.md | 25 +++ app/sdks/server-go/functions.go | 4 +- .../src/main/java/services/Functions.java | 2 +- .../docs/examples/functions/create.md | 2 +- .../docs/examples/functions/update-tag.md | 19 ++ .../docs/examples/functions/update.md | 2 +- .../server-nodejs/lib/services/functions.js | 6 +- .../docs/examples/functions/create.md | 2 +- .../docs/examples/functions/update-tag.md | 15 ++ .../docs/examples/functions/update.md | 2 +- app/sdks/server-php/docs/functions.md | 16 +- .../src/Appwrite/Services/Functions.php | 6 +- .../appwrite/services/functions.py | 6 +- .../docs/examples/functions/create.md | 2 +- .../docs/examples/functions/update-tag.md | 13 ++ .../docs/examples/functions/update.md | 2 +- .../lib/appwrite/services/functions.rb | 6 +- app/views/console/functions/index.phtml | 170 +++++++++++++++++- public/scripts/dependencies/appwrite.js | 46 +---- 27 files changed, 307 insertions(+), 144 deletions(-) create mode 100644 app/sdks/console-javascript/docs/examples/functions/update-tag.md create mode 160000 app/sdks/git/java create mode 100644 app/sdks/server-go/docs/examples/functions/update-tag.md create mode 100644 app/sdks/server-nodejs/docs/examples/functions/update-tag.md create mode 100644 app/sdks/server-php/docs/examples/functions/update-tag.md create mode 100644 app/sdks/server-python/docs/examples/functions/update-tag.md diff --git a/app/controllers/api/functions.php b/app/controllers/api/functions.php index cd87109da6..20d7cbaccb 100644 --- a/app/controllers/api/functions.php +++ b/app/controllers/api/functions.php @@ -22,11 +22,11 @@ $utopia->post('/v1/functions') ->label('sdk.method', 'create') ->label('sdk.description', '/docs/references/functions/create-function.md') ->param('name', '', function () { return new Text(128); }, 'Function name.') - ->param('vars', '', function () { return new Assoc();}, 'Key-value JSON object.') - ->param('trigger', '', function () { return new WhiteList(['event', 'scheudle']); }, 'Function trigger type.') - ->param('events', null, function () { return new ArrayList(new Text(256)); }, 'Events list.') - ->param('schedule', null, function () { return new Cron(); }, 'Schedule CRON syntax.') - ->param('timeout', '', function () { return new Range(1, 10); }, 'Function maximum execution time in seconds.') + ->param('vars', [], function () { return new Assoc();}, 'Key-value JSON object.', true) + ->param('trigger', 'event', function () { return new WhiteList(['event', 'scheudle']); }, 'Function trigger type.', true) + ->param('events', [], function () { return new ArrayList(new Text(256)); }, 'Events list.', true) + ->param('schedule', '', function () { return new Cron(); }, 'Schedule CRON syntax.', true) + ->param('timeout', 10, function () { return new Range(1, 10); }, 'Function maximum execution time in seconds.', true) ->action( function ($name, $vars, $trigger, $events, $schedule, $timeout) use ($response, $projectDB) { $function = $projectDB->createDocument([ @@ -115,11 +115,11 @@ $utopia->put('/v1/functions/:functionId') ->label('sdk.description', '/docs/references/functions/update-function.md') ->param('functionId', '', function () { return new UID(); }, 'Function unique ID.') ->param('name', '', function () { return new Text(128); }, 'Function name.') - ->param('vars', '', function () { return new Assoc(); }, 'Key-value JSON object.') - ->param('trigger', '', function () { return new WhiteList(['event', 'scheudle']); }, 'Function trigger type.') - ->param('events', null, function () { return new ArrayList(new Text(256)); }, 'Events list.') - ->param('schedule', null, function () { return new Cron(); }, 'Schedule CRON syntax.') - ->param('timeout', '', function () { return new Range(1, 10); }, 'Function maximum execution time in seconds.') + ->param('vars', [], function () { return new Assoc();}, 'Key-value JSON object.', true) + ->param('trigger', 'event', function () { return new WhiteList(['event', 'scheudle']); }, 'Function trigger type.', true) + ->param('events', [], function () { return new ArrayList(new Text(256)); }, 'Events list.', true) + ->param('schedule', '', function () { return new Cron(); }, 'Schedule CRON syntax.', true) + ->param('timeout', 10, function () { return new Range(1, 10); }, 'Function maximum execution time in seconds.', true) ->action( function ($functionId, $name, $vars, $trigger, $events, $schedule, $timeout) use ($response, $projectDB) { $function = $projectDB->getDocument($functionId); @@ -151,7 +151,7 @@ $utopia->patch('/v1/functions/:functionId/active') ->label('scope', 'functions.write') ->label('sdk.platform', [APP_PLATFORM_SERVER]) ->label('sdk.namespace', 'functions') - ->label('sdk.method', 'updateActive') + ->label('sdk.method', 'updateTag') ->label('sdk.description', '/docs/references/functions/update-tag.md') ->param('functionId', '', function () { return new UID(); }, 'Function unique ID.') ->param('active', '', function () { return new UID(); }, 'Active tag unique ID.') diff --git a/app/sdks/console-javascript/docs/examples/functions/create.md b/app/sdks/console-javascript/docs/examples/functions/create.md index b653b756fa..45c4e95162 100644 --- a/app/sdks/console-javascript/docs/examples/functions/create.md +++ b/app/sdks/console-javascript/docs/examples/functions/create.md @@ -5,7 +5,7 @@ sdk .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -let promise = sdk.functions.create('[NAME]', {}, 'event', [], '', 1); +let promise = sdk.functions.create('[NAME]'); promise.then(function (response) { console.log(response); // Success diff --git a/app/sdks/console-javascript/docs/examples/functions/update-tag.md b/app/sdks/console-javascript/docs/examples/functions/update-tag.md new file mode 100644 index 0000000000..fdb2021f5a --- /dev/null +++ b/app/sdks/console-javascript/docs/examples/functions/update-tag.md @@ -0,0 +1,14 @@ +let sdk = new Appwrite(); + +sdk + .setProject('5df5acd0d48c2') // Your project ID + .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key +; + +let promise = sdk.functions.updateTag('[FUNCTION_ID]', '[ACTIVE]'); + +promise.then(function (response) { + console.log(response); // Success +}, function (error) { + console.log(error); // Failure +}); \ No newline at end of file diff --git a/app/sdks/console-javascript/docs/examples/functions/update.md b/app/sdks/console-javascript/docs/examples/functions/update.md index 0dc7359b61..4ecd22d303 100644 --- a/app/sdks/console-javascript/docs/examples/functions/update.md +++ b/app/sdks/console-javascript/docs/examples/functions/update.md @@ -5,7 +5,7 @@ sdk .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -let promise = sdk.functions.update('[FUNCTION_ID]', '[NAME]', {}, 'event', [], '', 1); +let promise = sdk.functions.update('[FUNCTION_ID]', '[NAME]'); promise.then(function (response) { console.log(response); // Success diff --git a/app/sdks/console-javascript/src/sdk.js b/app/sdks/console-javascript/src/sdk.js index a9785ee7f5..a066a64aec 100644 --- a/app/sdks/console-javascript/src/sdk.js +++ b/app/sdks/console-javascript/src/sdk.js @@ -1659,31 +1659,11 @@ * @throws {Error} * @return {Promise} */ - create: function(name, vars, trigger, events, schedule, timeout) { + create: function(name, vars = [], trigger = 'event', events = [], schedule = '', timeout = 10) { if(name === undefined) { throw new Error('Missing required parameter: "name"'); } - if(vars === undefined) { - throw new Error('Missing required parameter: "vars"'); - } - - if(trigger === undefined) { - throw new Error('Missing required parameter: "trigger"'); - } - - if(events === undefined) { - throw new Error('Missing required parameter: "events"'); - } - - if(schedule === undefined) { - throw new Error('Missing required parameter: "schedule"'); - } - - if(timeout === undefined) { - throw new Error('Missing required parameter: "timeout"'); - } - let path = '/functions'; let payload = {}; @@ -1755,7 +1735,7 @@ * @throws {Error} * @return {Promise} */ - update: function(functionId, name, vars, trigger, events, schedule, timeout) { + update: function(functionId, name, vars = [], trigger = 'event', events = [], schedule = '', timeout = 10) { if(functionId === undefined) { throw new Error('Missing required parameter: "functionId"'); } @@ -1764,26 +1744,6 @@ throw new Error('Missing required parameter: "name"'); } - if(vars === undefined) { - throw new Error('Missing required parameter: "vars"'); - } - - if(trigger === undefined) { - throw new Error('Missing required parameter: "trigger"'); - } - - if(events === undefined) { - throw new Error('Missing required parameter: "events"'); - } - - if(schedule === undefined) { - throw new Error('Missing required parameter: "schedule"'); - } - - if(timeout === undefined) { - throw new Error('Missing required parameter: "timeout"'); - } - let path = '/functions/{functionId}'.replace(new RegExp('{functionId}', 'g'), functionId); let payload = {}; @@ -1850,7 +1810,7 @@ * @throws {Error} * @return {Promise} */ - updateActive: function(functionId, active) { + updateTag: function(functionId, active) { if(functionId === undefined) { throw new Error('Missing required parameter: "functionId"'); } diff --git a/app/sdks/console-javascript/src/sdk.min.js b/app/sdks/console-javascript/src/sdk.min.js index a031def763..da448a8f24 100644 --- a/app/sdks/console-javascript/src/sdk.min.js +++ b/app/sdks/console-javascript/src/sdk.min.js @@ -137,12 +137,7 @@ let path='/database/collections/{collectionId}/logs'.replace(new RegExp('{collec if(limit){payload.limit=limit} if(offset){payload.offset=offset} if(orderType){payload.orderType=orderType} -return http.get(path,{'content-type':'application/json',},payload)},create:function(name,vars,trigger,events,schedule,timeout){if(name===undefined){throw new Error('Missing required parameter: "name"')} -if(vars===undefined){throw new Error('Missing required parameter: "vars"')} -if(trigger===undefined){throw new Error('Missing required parameter: "trigger"')} -if(events===undefined){throw new Error('Missing required parameter: "events"')} -if(schedule===undefined){throw new Error('Missing required parameter: "schedule"')} -if(timeout===undefined){throw new Error('Missing required parameter: "timeout"')} +return http.get(path,{'content-type':'application/json',},payload)},create:function(name,vars=[],trigger='event',events=[],schedule='',timeout=10){if(name===undefined){throw new Error('Missing required parameter: "name"')} let path='/functions';let payload={};if(name){payload.name=name} if(vars){payload.vars=vars} if(trigger){payload.trigger=trigger} @@ -150,13 +145,8 @@ if(events){payload.events=events} if(schedule){payload.schedule=schedule} if(timeout){payload.timeout=timeout} return http.post(path,{'content-type':'application/json',},payload)},get:function(functionId){if(functionId===undefined){throw new Error('Missing required parameter: "functionId"')} -let path='/functions/{functionId}'.replace(new RegExp('{functionId}','g'),functionId);let payload={};return http.get(path,{'content-type':'application/json',},payload)},update:function(functionId,name,vars,trigger,events,schedule,timeout){if(functionId===undefined){throw new Error('Missing required parameter: "functionId"')} +let path='/functions/{functionId}'.replace(new RegExp('{functionId}','g'),functionId);let payload={};return http.get(path,{'content-type':'application/json',},payload)},update:function(functionId,name,vars=[],trigger='event',events=[],schedule='',timeout=10){if(functionId===undefined){throw new Error('Missing required parameter: "functionId"')} if(name===undefined){throw new Error('Missing required parameter: "name"')} -if(vars===undefined){throw new Error('Missing required parameter: "vars"')} -if(trigger===undefined){throw new Error('Missing required parameter: "trigger"')} -if(events===undefined){throw new Error('Missing required parameter: "events"')} -if(schedule===undefined){throw new Error('Missing required parameter: "schedule"')} -if(timeout===undefined){throw new Error('Missing required parameter: "timeout"')} let path='/functions/{functionId}'.replace(new RegExp('{functionId}','g'),functionId);let payload={};if(name){payload.name=name} if(vars){payload.vars=vars} if(trigger){payload.trigger=trigger} @@ -164,7 +154,7 @@ if(events){payload.events=events} if(schedule){payload.schedule=schedule} if(timeout){payload.timeout=timeout} return http.put(path,{'content-type':'application/json',},payload)},delete:function(functionId){if(functionId===undefined){throw new Error('Missing required parameter: "functionId"')} -let path='/functions/{functionId}'.replace(new RegExp('{functionId}','g'),functionId);let payload={};return http.delete(path,{'content-type':'application/json',},payload)},updateActive:function(functionId,active){if(functionId===undefined){throw new Error('Missing required parameter: "functionId"')} +let path='/functions/{functionId}'.replace(new RegExp('{functionId}','g'),functionId);let payload={};return http.delete(path,{'content-type':'application/json',},payload)},updateTag:function(functionId,active){if(functionId===undefined){throw new Error('Missing required parameter: "functionId"')} if(active===undefined){throw new Error('Missing required parameter: "active"')} let path='/functions/{functionId}/active'.replace(new RegExp('{functionId}','g'),functionId);let payload={};if(active){payload.active=active} return http.patch(path,{'content-type':'application/json',},payload)},listExecutions:function(functionId,search='',limit=25,offset=0,orderType='ASC'){if(functionId===undefined){throw new Error('Missing required parameter: "functionId"')} diff --git a/app/sdks/console-javascript/types/index.d.ts b/app/sdks/console-javascript/types/index.d.ts index 6d4c8cedf9..3297b573c4 100644 --- a/app/sdks/console-javascript/types/index.d.ts +++ b/app/sdks/console-javascript/types/index.d.ts @@ -665,7 +665,7 @@ declare namespace Appwrite { * @throws {Error} * @return {Promise} */ - updateActive(functionId: string, active: string): Promise; + updateTag(functionId: string, active: string): Promise; /** * List Executions diff --git a/app/sdks/git/java b/app/sdks/git/java new file mode 160000 index 0000000000..d3fe8a096c --- /dev/null +++ b/app/sdks/git/java @@ -0,0 +1 @@ +Subproject commit d3fe8a096c74cdfe90b44ad26cf70aebaa17a0b7 diff --git a/app/sdks/server-go/docs/examples/functions/update-tag.md b/app/sdks/server-go/docs/examples/functions/update-tag.md new file mode 100644 index 0000000000..61aa8367e9 --- /dev/null +++ b/app/sdks/server-go/docs/examples/functions/update-tag.md @@ -0,0 +1,25 @@ +package main + +import ( + "fmt" + "github.com/appwrite/sdk-for-go" +) + +func main() { + var client := appwrite.Client{} + + client.SetProject("5df5acd0d48c2") // Your project ID + client.SetKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key + + var service := appwrite.Functions{ + client: &client + } + + var response, error := service.UpdateTag("[FUNCTION_ID]", "[ACTIVE]") + + if error != nil { + panic(error) + } + + fmt.Println(response) +} \ No newline at end of file diff --git a/app/sdks/server-go/functions.go b/app/sdks/server-go/functions.go index 6219536963..158a4ba35f 100644 --- a/app/sdks/server-go/functions.go +++ b/app/sdks/server-go/functions.go @@ -86,8 +86,8 @@ func (srv *Functions) Delete(FunctionId string) (map[string]interface{}, error) return srv.client.Call("DELETE", path, nil, params) } -// UpdateActive -func (srv *Functions) UpdateActive(FunctionId string, Active string) (map[string]interface{}, error) { +// UpdateTag +func (srv *Functions) UpdateTag(FunctionId string, Active string) (map[string]interface{}, error) { r := strings.NewReplacer("{functionId}", FunctionId) path := r.Replace("/functions/{functionId}/active") diff --git a/app/sdks/server-java/src/main/java/services/Functions.java b/app/sdks/server-java/src/main/java/services/Functions.java index 4916d10a75..c8575e2904 100644 --- a/app/sdks/server-java/src/main/java/services/Functions.java +++ b/app/sdks/server-java/src/main/java/services/Functions.java @@ -115,7 +115,7 @@ public class Functions extends Service { } /// Update Function Active Tag - public Call updateActive(String functionId, String active) { + public Call updateTag(String functionId, String active) { final String path = "/functions/{functionId}/active".replace("{functionId}", functionId); final Map params = Map.ofEntries( diff --git a/app/sdks/server-nodejs/docs/examples/functions/create.md b/app/sdks/server-nodejs/docs/examples/functions/create.md index 0e07478aaf..3ac02eb506 100644 --- a/app/sdks/server-nodejs/docs/examples/functions/create.md +++ b/app/sdks/server-nodejs/docs/examples/functions/create.md @@ -10,7 +10,7 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -let promise = functions.create('[NAME]', {}, 'event', [], '', 1); +let promise = functions.create('[NAME]'); promise.then(function (response) { console.log(response); diff --git a/app/sdks/server-nodejs/docs/examples/functions/update-tag.md b/app/sdks/server-nodejs/docs/examples/functions/update-tag.md new file mode 100644 index 0000000000..8efebb9999 --- /dev/null +++ b/app/sdks/server-nodejs/docs/examples/functions/update-tag.md @@ -0,0 +1,19 @@ +const sdk = require('node-appwrite'); + +// Init SDK +let client = new sdk.Client(); + +let functions = new sdk.Functions(client); + +client + .setProject('5df5acd0d48c2') // Your project ID + .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key +; + +let promise = functions.updateTag('[FUNCTION_ID]', '[ACTIVE]'); + +promise.then(function (response) { + console.log(response); +}, function (error) { + console.log(error); +}); \ No newline at end of file diff --git a/app/sdks/server-nodejs/docs/examples/functions/update.md b/app/sdks/server-nodejs/docs/examples/functions/update.md index f475c4a087..73672ae162 100644 --- a/app/sdks/server-nodejs/docs/examples/functions/update.md +++ b/app/sdks/server-nodejs/docs/examples/functions/update.md @@ -10,7 +10,7 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -let promise = functions.update('[FUNCTION_ID]', '[NAME]', {}, 'event', [], '', 1); +let promise = functions.update('[FUNCTION_ID]', '[NAME]'); promise.then(function (response) { console.log(response); diff --git a/app/sdks/server-nodejs/lib/services/functions.js b/app/sdks/server-nodejs/lib/services/functions.js index d9898d342c..abc2010d66 100644 --- a/app/sdks/server-nodejs/lib/services/functions.js +++ b/app/sdks/server-nodejs/lib/services/functions.js @@ -38,7 +38,7 @@ class Functions extends Service { * @throws Exception * @return {} */ - async create(name, vars, trigger, events, schedule, timeout) { + async create(name, vars = [], trigger = 'event', events = [], schedule = '', timeout = 10) { let path = '/functions'; return await this.client.call('post', path, { @@ -84,7 +84,7 @@ class Functions extends Service { * @throws Exception * @return {} */ - async update(functionId, name, vars, trigger, events, schedule, timeout) { + async update(functionId, name, vars = [], trigger = 'event', events = [], schedule = '', timeout = 10) { let path = '/functions/{functionId}'.replace(new RegExp('{functionId}', 'g'), functionId); return await this.client.call('put', path, { @@ -125,7 +125,7 @@ class Functions extends Service { * @throws Exception * @return {} */ - async updateActive(functionId, active) { + async updateTag(functionId, active) { let path = '/functions/{functionId}/active'.replace(new RegExp('{functionId}', 'g'), functionId); return await this.client.call('patch', path, { diff --git a/app/sdks/server-php/docs/examples/functions/create.md b/app/sdks/server-php/docs/examples/functions/create.md index 4e6c888f03..7ec5dc2831 100644 --- a/app/sdks/server-php/docs/examples/functions/create.md +++ b/app/sdks/server-php/docs/examples/functions/create.md @@ -12,4 +12,4 @@ $client $functions = new Functions($client); -$result = $functions->create('[NAME]', [], 'event', [], '', 1); \ No newline at end of file +$result = $functions->create('[NAME]'); \ No newline at end of file diff --git a/app/sdks/server-php/docs/examples/functions/update-tag.md b/app/sdks/server-php/docs/examples/functions/update-tag.md new file mode 100644 index 0000000000..4e7f6a8b56 --- /dev/null +++ b/app/sdks/server-php/docs/examples/functions/update-tag.md @@ -0,0 +1,15 @@ +setProject('5df5acd0d48c2') // Your project ID + ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key +; + +$functions = new Functions($client); + +$result = $functions->updateTag('[FUNCTION_ID]', '[ACTIVE]'); \ No newline at end of file diff --git a/app/sdks/server-php/docs/examples/functions/update.md b/app/sdks/server-php/docs/examples/functions/update.md index 1727ae92c9..34315a129a 100644 --- a/app/sdks/server-php/docs/examples/functions/update.md +++ b/app/sdks/server-php/docs/examples/functions/update.md @@ -12,4 +12,4 @@ $client $functions = new Functions($client); -$result = $functions->update('[FUNCTION_ID]', '[NAME]', [], 'event', [], '', 1); \ No newline at end of file +$result = $functions->update('[FUNCTION_ID]', '[NAME]'); \ No newline at end of file diff --git a/app/sdks/server-php/docs/functions.md b/app/sdks/server-php/docs/functions.md index 103bf501e9..1c832a3c43 100644 --- a/app/sdks/server-php/docs/functions.md +++ b/app/sdks/server-php/docs/functions.md @@ -26,11 +26,11 @@ POST https://appwrite.io/v1/functions | Field Name | Type | Description | Default | | --- | --- | --- | --- | | name | string | Function name. | | -| vars | object | Key-value JSON object. | | -| trigger | string | Function trigger type. | | -| events | array | Events list. | | +| vars | object | Key-value JSON object. | [] | +| trigger | string | Function trigger type. | event | +| events | array | Events list. | [] | | schedule | string | Schedule CRON syntax. | | -| timeout | integer | Function maximum execution time in seconds. | | +| timeout | integer | Function maximum execution time in seconds. | 10 | ## Get Function @@ -56,11 +56,11 @@ PUT https://appwrite.io/v1/functions/{functionId} | --- | --- | --- | --- | | functionId | string | **Required** Function unique ID. | | | name | string | Function name. | | -| vars | object | Key-value JSON object. | | -| trigger | string | Function trigger type. | | -| events | array | Events list. | | +| vars | object | Key-value JSON object. | [] | +| trigger | string | Function trigger type. | event | +| events | array | Events list. | [] | | schedule | string | Schedule CRON syntax. | | -| timeout | integer | Function maximum execution time in seconds. | | +| timeout | integer | Function maximum execution time in seconds. | 10 | ## Delete Function diff --git a/app/sdks/server-php/src/Appwrite/Services/Functions.php b/app/sdks/server-php/src/Appwrite/Services/Functions.php index 2a2633d479..0e5f2ab9f3 100644 --- a/app/sdks/server-php/src/Appwrite/Services/Functions.php +++ b/app/sdks/server-php/src/Appwrite/Services/Functions.php @@ -45,7 +45,7 @@ class Functions extends Service * @throws Exception * @return array */ - public function create(string $name, array $vars, string $trigger, array $events, string $schedule, int $timeout):array + public function create(string $name, array $vars = , string $trigger = 'event', array $events = [], string $schedule = '', int $timeout = 10):array { $path = str_replace([], [], '/functions'); $params = []; @@ -93,7 +93,7 @@ class Functions extends Service * @throws Exception * @return array */ - public function update(string $functionId, string $name, array $vars, string $trigger, array $events, string $schedule, int $timeout):array + public function update(string $functionId, string $name, array $vars = , string $trigger = 'event', array $events = [], string $schedule = '', int $timeout = 10):array { $path = str_replace(['{functionId}'], [$functionId], '/functions/{functionId}'); $params = []; @@ -136,7 +136,7 @@ class Functions extends Service * @throws Exception * @return array */ - public function updateActive(string $functionId, string $active):array + public function updateTag(string $functionId, string $active):array { $path = str_replace(['{functionId}'], [$functionId], '/functions/{functionId}/active'); $params = []; diff --git a/app/sdks/server-python/appwrite/services/functions.py b/app/sdks/server-python/appwrite/services/functions.py index 9664d6303d..c8f204d3ef 100644 --- a/app/sdks/server-python/appwrite/services/functions.py +++ b/app/sdks/server-python/appwrite/services/functions.py @@ -20,7 +20,7 @@ class Functions(Service): 'content-type': 'application/json', }, params) - def create(self, name, vars, trigger, events, schedule, timeout): + def create(self, name, vars=[], trigger='event', events=[], schedule='', timeout=10): """Create Function""" params = {} @@ -47,7 +47,7 @@ class Functions(Service): 'content-type': 'application/json', }, params) - def update(self, function_id, name, vars, trigger, events, schedule, timeout): + def update(self, function_id, name, vars=[], trigger='event', events=[], schedule='', timeout=10): """Update Function""" params = {} @@ -75,7 +75,7 @@ class Functions(Service): 'content-type': 'application/json', }, params) - def update_active(self, function_id, active): + def update_tag(self, function_id, active): """Update Function Active Tag""" params = {} diff --git a/app/sdks/server-python/docs/examples/functions/create.md b/app/sdks/server-python/docs/examples/functions/create.md index a6551dba98..2b63ea7191 100644 --- a/app/sdks/server-python/docs/examples/functions/create.md +++ b/app/sdks/server-python/docs/examples/functions/create.md @@ -10,4 +10,4 @@ client = Client() functions = Functions(client) -result = functions.create('[NAME]', {}, 'event', {}, '', 1) +result = functions.create('[NAME]') diff --git a/app/sdks/server-python/docs/examples/functions/update-tag.md b/app/sdks/server-python/docs/examples/functions/update-tag.md new file mode 100644 index 0000000000..856fd86040 --- /dev/null +++ b/app/sdks/server-python/docs/examples/functions/update-tag.md @@ -0,0 +1,13 @@ +from appwrite.client import Client +from appwrite.services.functions import Functions + +client = Client() + +(client + .set_project('5df5acd0d48c2') # Your project ID + .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key +) + +functions = Functions(client) + +result = functions.update_tag('[FUNCTION_ID]', '[ACTIVE]') diff --git a/app/sdks/server-python/docs/examples/functions/update.md b/app/sdks/server-python/docs/examples/functions/update.md index c2482c5c23..751a5d2538 100644 --- a/app/sdks/server-python/docs/examples/functions/update.md +++ b/app/sdks/server-python/docs/examples/functions/update.md @@ -10,4 +10,4 @@ client = Client() functions = Functions(client) -result = functions.update('[FUNCTION_ID]', '[NAME]', {}, 'event', {}, '', 1) +result = functions.update('[FUNCTION_ID]', '[NAME]') diff --git a/app/sdks/server-ruby/lib/appwrite/services/functions.rb b/app/sdks/server-ruby/lib/appwrite/services/functions.rb index dbab5af104..a52b9b379b 100644 --- a/app/sdks/server-ruby/lib/appwrite/services/functions.rb +++ b/app/sdks/server-ruby/lib/appwrite/services/functions.rb @@ -16,7 +16,7 @@ module Appwrite }, params); end - def create(name:, vars:, trigger:, events:, schedule:, timeout:) + def create(name:, vars: [], trigger: 'event', events: [], schedule: '', timeout: 10) path = '/functions' params = { @@ -45,7 +45,7 @@ module Appwrite }, params); end - def update(function_id:, name:, vars:, trigger:, events:, schedule:, timeout:) + def update(function_id:, name:, vars: [], trigger: 'event', events: [], schedule: '', timeout: 10) path = '/functions/{functionId}' .gsub('{function_id}', function_id) @@ -75,7 +75,7 @@ module Appwrite }, params); end - def update_active(function_id:, active:) + def update_tag(function_id:, active:) path = '/functions/{functionId}/active' .gsub('{function_id}', function_id) diff --git a/app/views/console/functions/index.phtml b/app/views/console/functions/index.phtml index 04370a8384..5e27057844 100644 --- a/app/views/console/functions/index.phtml +++ b/app/views/console/functions/index.phtml @@ -11,10 +11,176 @@
  • Functions

    + +
    + +
    +

    No Functions Found

    + +

    You haven't created any functions for your project yet.

    +
    + +
    +
      +
    • + + + +
      + + + + + +
      + +   ( events) + +   (SSL/TLS Disabled) + +
      + +
      +
    • +
    +
    + +
    + +
    +
  • -
  • +
\ No newline at end of file diff --git a/public/scripts/dependencies/appwrite.js b/public/scripts/dependencies/appwrite.js index a9785ee7f5..a066a64aec 100644 --- a/public/scripts/dependencies/appwrite.js +++ b/public/scripts/dependencies/appwrite.js @@ -1659,31 +1659,11 @@ * @throws {Error} * @return {Promise} */ - create: function(name, vars, trigger, events, schedule, timeout) { + create: function(name, vars = [], trigger = 'event', events = [], schedule = '', timeout = 10) { if(name === undefined) { throw new Error('Missing required parameter: "name"'); } - if(vars === undefined) { - throw new Error('Missing required parameter: "vars"'); - } - - if(trigger === undefined) { - throw new Error('Missing required parameter: "trigger"'); - } - - if(events === undefined) { - throw new Error('Missing required parameter: "events"'); - } - - if(schedule === undefined) { - throw new Error('Missing required parameter: "schedule"'); - } - - if(timeout === undefined) { - throw new Error('Missing required parameter: "timeout"'); - } - let path = '/functions'; let payload = {}; @@ -1755,7 +1735,7 @@ * @throws {Error} * @return {Promise} */ - update: function(functionId, name, vars, trigger, events, schedule, timeout) { + update: function(functionId, name, vars = [], trigger = 'event', events = [], schedule = '', timeout = 10) { if(functionId === undefined) { throw new Error('Missing required parameter: "functionId"'); } @@ -1764,26 +1744,6 @@ throw new Error('Missing required parameter: "name"'); } - if(vars === undefined) { - throw new Error('Missing required parameter: "vars"'); - } - - if(trigger === undefined) { - throw new Error('Missing required parameter: "trigger"'); - } - - if(events === undefined) { - throw new Error('Missing required parameter: "events"'); - } - - if(schedule === undefined) { - throw new Error('Missing required parameter: "schedule"'); - } - - if(timeout === undefined) { - throw new Error('Missing required parameter: "timeout"'); - } - let path = '/functions/{functionId}'.replace(new RegExp('{functionId}', 'g'), functionId); let payload = {}; @@ -1850,7 +1810,7 @@ * @throws {Error} * @return {Promise} */ - updateActive: function(functionId, active) { + updateTag: function(functionId, active) { if(functionId === undefined) { throw new Error('Missing required parameter: "functionId"'); }