diff --git a/app/controllers/api/functions.php b/app/controllers/api/functions.php index 1cabc77eb7..aedade13e9 100644 --- a/app/controllers/api/functions.php +++ b/app/controllers/api/functions.php @@ -1658,6 +1658,16 @@ App::post('/v1/functions/:functionId/executions') $vars = []; + // V2 vars + if ($version === 'v2') { + $vars = \array_merge($vars, [ + 'APPWRITE_FUNCTION_TRIGGER' => $headers['x-appwrite-trigger'] ?? '', + 'APPWRITE_FUNCTION_DATA' => $body ?? '', + 'APPWRITE_FUNCTION_USER_ID' => $headers['x-appwrite-user-id'] ?? '', + 'APPWRITE_FUNCTION_JWT' => $headers['x-appwrite-user-jwt'] ?? '' + ]); + } + // Shared vars foreach ($function->getAttribute('varsProject', []) as $var) { $vars[$var->getAttribute('key')] = $var->getAttribute('value', ''); diff --git a/app/workers/functions.php b/app/workers/functions.php index 9fa1c7df16..619d33387a 100644 --- a/app/workers/functions.php +++ b/app/workers/functions.php @@ -140,8 +140,25 @@ Server::setResource('execute', function () { $durationStart = \microtime(true); + $body = $eventData ?? ''; + if (empty($body)) { + $body = $data ?? ''; + } + $vars = []; + // V2 vars + if ($version === 'v2') { + $vars = \array_merge($vars, [ + 'APPWRITE_FUNCTION_TRIGGER' => $headers['x-appwrite-trigger'] ?? '', + 'APPWRITE_FUNCTION_DATA' => $body ?? '', + 'APPWRITE_FUNCTION_EVENT_DATA' => $body ?? '', + 'APPWRITE_FUNCTION_EVENT' => $headers['x-appwrite-event'] ?? '', + 'APPWRITE_FUNCTION_USER_ID' => $headers['x-appwrite-user-id'] ?? '', + 'APPWRITE_FUNCTION_JWT' => $headers['x-appwrite-user-jwt'] ?? '' + ]); + } + // Shared vars foreach ($function->getAttribute('varsProject', []) as $var) { $vars[$var->getAttribute('key')] = $var->getAttribute('value', ''); @@ -162,11 +179,6 @@ Server::setResource('execute', function () { 'APPWRITE_FUNCTION_RUNTIME_VERSION' => $runtime['version'] ?? '', ]); - $body = $eventData ?? ''; - if (empty($body)) { - $body = $data ?? ''; - } - /** Execute function */ try { $version = $function->getAttribute('version', 'v2');