From ae59b40fad10a64dbe363c09fa7b8d6bf254c06c Mon Sep 17 00:00:00 2001 From: jsilinski Date: Thu, 9 May 2024 22:09:48 +0200 Subject: [PATCH 1/2] 341-4 func-update --- .../sys/src/main/resources/std/sys/extension.lua | 15 +++++++++++++++ .../api/func/update/nothing_to_update/01.lua | 10 ++++++---- .../resources/api/func/update/updated/01.lua | 11 ++++++----- 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/platform/runner/extension/std/sys/src/main/resources/std/sys/extension.lua b/platform/runner/extension/std/sys/src/main/resources/std/sys/extension.lua index 74c764880e..6e2a930588 100644 --- a/platform/runner/extension/std/sys/src/main/resources/std/sys/extension.lua +++ b/platform/runner/extension/std/sys/src/main/resources/std/sys/extension.lua @@ -144,6 +144,21 @@ function extension_create() return err, resp end + function instance.func.update(req) + req = req or {} + local err, resp = handle_error(http.patch({ + url = '/v1/funcs/' .. req.id, + headers = { ['x-exec-token'] = context.exec.token }, + body = { + name = req.name or nil, + inputs = req.inputs or {}, + code = req.code or nil + } + })) + + return err, resp + end + function instance.namespace.append(req) req = req or {} namespace_id = req.namespace_id or exec_namespace_id diff --git a/platform/testbed/src/integrationTest/resources/api/func/update/nothing_to_update/01.lua b/platform/testbed/src/integrationTest/resources/api/func/update/nothing_to_update/01.lua index 33ebc5700d..741c5e918a 100644 --- a/platform/testbed/src/integrationTest/resources/api/func/update/nothing_to_update/01.lua +++ b/platform/testbed/src/integrationTest/resources/api/func/update/nothing_to_update/01.lua @@ -1,18 +1,20 @@ -sys = require_plugin('std.sys') +sys = require('std.sys').create({ + base_url = context.env.api_host +}) -local func_req = fail_on_error(sys.funcs.create({ +local func_req = fail_on_error(sys.func.create({ name = 'created-name', inputs = { }, code = 'created-code' })) sys.await_completed(func_req) -update_req = fail_on_error(sys.funcs.update({ +update_req = fail_on_error(sys.func.update({ id = func_req.id })) sys.await_completed(update_req) -func_one = fail_on_error(sys.funcs.get(func_req.id)) +func_one = fail_on_error(sys.func.get(func_req.id)) assert(func_one.name == 'created-name') assert(func_one.code.version == 1) assert(func_one.code.value == 'created-code') diff --git a/platform/testbed/src/integrationTest/resources/api/func/update/updated/01.lua b/platform/testbed/src/integrationTest/resources/api/func/update/updated/01.lua index efb215dbda..9d221b2b52 100644 --- a/platform/testbed/src/integrationTest/resources/api/func/update/updated/01.lua +++ b/platform/testbed/src/integrationTest/resources/api/func/update/updated/01.lua @@ -1,20 +1,21 @@ -sys = require_plugin('std.sys') - -local func_req = fail_on_error(sys.funcs.create({ +sys = require('std.sys').create({ + base_url = context.env.api_host +}) +local func_req = fail_on_error(sys.func.create({ name = 'created-name', inputs = { }, code = 'created-code' })) sys.await_completed(func_req) -update_req = fail_on_error(sys.funcs.update({ +update_req = fail_on_error(sys.func.update({ id = func_req.id, name = 'updated-name', code = 'updated-code' })) sys.await_completed(update_req) -func_one = fail_on_error(sys.funcs.get(func_req.id)) +func_one = fail_on_error(sys.func.get(func_req.id)) assert(func_one.name == 'updated-name') assert(func_one.code.version == 2) assert(func_one.code.value == 'updated-code') From 661c6fb0255eaf4e833ad94c0625a12c7d0d0abd Mon Sep 17 00:00:00 2001 From: jsilinski Date: Thu, 16 May 2024 00:00:00 +0000 Subject: [PATCH 2/2] 341-4 merge base branch --- .../std/sys/src/main/resources/std/sys/extension.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platform/runner/extension/std/sys/src/main/resources/std/sys/extension.lua b/platform/runner/extension/std/sys/src/main/resources/std/sys/extension.lua index 6d18a53a29..f84a24f95b 100644 --- a/platform/runner/extension/std/sys/src/main/resources/std/sys/extension.lua +++ b/platform/runner/extension/std/sys/src/main/resources/std/sys/extension.lua @@ -182,7 +182,7 @@ function extension_create() function instance.func.update(req) req = req or {} - local err, resp = handle_error(http.patch({ + local err, resp = handle_response(http.patch({ url = '/v1/funcs/' .. req.id, headers = { ['x-exec-token'] = context.exec.token }, body = { @@ -192,7 +192,7 @@ function extension_create() } })) - return err, resp + return err, resp.content end function instance.namespace.append(req)