Merge branch 'feat-scheduled-executions' into feat-delete-execution
This commit is contained in:
commit
c7d030fef4
9 changed files with 23 additions and 11 deletions
2
.env
2
.env
|
@ -17,7 +17,7 @@ _APP_OPTIONS_ROUTER_PROTECTION=disabled
|
|||
_APP_OPTIONS_FORCE_HTTPS=disabled
|
||||
_APP_OPTIONS_FUNCTIONS_FORCE_HTTPS=disabled
|
||||
_APP_OPENSSL_KEY_V1=your-secret-key
|
||||
_APP_DOMAIN=localhost
|
||||
_APP_DOMAIN=traefik
|
||||
_APP_DOMAIN_FUNCTIONS=functions.localhost
|
||||
_APP_DOMAIN_TARGET=localhost
|
||||
_APP_REDIS_HOST=redis
|
||||
|
|
|
@ -4551,7 +4551,7 @@ $consoleCollections = array_merge([
|
|||
'filters' => [],
|
||||
],
|
||||
[
|
||||
'$id' => ID::custom('metadata'),
|
||||
'$id' => ID::custom('data'),
|
||||
'type' => Database::VAR_STRING,
|
||||
'format' => '',
|
||||
'size' => 65535,
|
||||
|
@ -4559,7 +4559,7 @@ $consoleCollections = array_merge([
|
|||
'required' => false,
|
||||
'default' => new \stdClass(),
|
||||
'array' => false,
|
||||
'filters' => ['json'],
|
||||
'filters' => ['json', 'encrypt'],
|
||||
],
|
||||
[
|
||||
'$id' => ID::custom('active'),
|
||||
|
|
|
@ -1765,7 +1765,7 @@ App::post('/v1/functions/:functionId/executions')
|
|||
->setParam('executionId', $execution->getId())
|
||||
->trigger();
|
||||
} else {
|
||||
$metadata = [
|
||||
$data = [
|
||||
'headers' => $headers,
|
||||
'path' => $path,
|
||||
'method' => $method,
|
||||
|
@ -1781,7 +1781,7 @@ App::post('/v1/functions/:functionId/executions')
|
|||
'resourceUpdatedAt' => DateTime::now(),
|
||||
'projectId' => $project->getId(),
|
||||
'schedule' => $scheduledAt,
|
||||
'metadata' => $metadata,
|
||||
'data' => $data,
|
||||
'active' => true,
|
||||
]));
|
||||
}
|
||||
|
@ -1828,6 +1828,7 @@ App::post('/v1/functions/:functionId/executions')
|
|||
'APPWRITE_FUNCTION_PROJECT_ID' => $project->getId(),
|
||||
'APPWRITE_FUNCTION_RUNTIME_NAME' => $runtime['name'] ?? '',
|
||||
'APPWRITE_FUNCTION_RUNTIME_VERSION' => $runtime['version'] ?? '',
|
||||
'APPWRITE_VERSION' => APP_VERSION_STABLE
|
||||
]);
|
||||
|
||||
/** Execute function */
|
||||
|
|
|
@ -250,6 +250,7 @@ function router(App $utopia, Database $dbForConsole, callable $getProjectDB, Swo
|
|||
'APPWRITE_FUNCTION_PROJECT_ID' => $project->getId(),
|
||||
'APPWRITE_FUNCTION_RUNTIME_NAME' => $runtime['name'] ?? '',
|
||||
'APPWRITE_FUNCTION_RUNTIME_VERSION' => $runtime['version'] ?? '',
|
||||
'APPWRITE_VERSION' => APP_VERSION_STABLE
|
||||
]);
|
||||
|
||||
/** Execute function */
|
||||
|
@ -901,7 +902,7 @@ App::get('/robots.txt')
|
|||
$host = $request->getHostname() ?? '';
|
||||
$mainDomain = System::getEnv('_APP_DOMAIN', '');
|
||||
|
||||
if ($host === $mainDomain) {
|
||||
if ($host === $mainDomain || $host === 'localhost') {
|
||||
$template = new View(__DIR__ . '/../views/general/robots.phtml');
|
||||
$response->text($template->render(false));
|
||||
} else {
|
||||
|
@ -926,7 +927,7 @@ App::get('/humans.txt')
|
|||
$host = $request->getHostname() ?? '';
|
||||
$mainDomain = System::getEnv('_APP_DOMAIN', '');
|
||||
|
||||
if ($host === $mainDomain) {
|
||||
if ($host === $mainDomain || $host === 'localhost') {
|
||||
$template = new View(__DIR__ . '/../views/general/humans.phtml');
|
||||
$response->text($template->render(false));
|
||||
} else {
|
||||
|
|
|
@ -29,6 +29,11 @@ class ScheduleExecutions extends ScheduleBase
|
|||
|
||||
foreach ($this->schedules as $schedule) {
|
||||
if (!$schedule['active']) {
|
||||
$dbForConsole->deleteDocument(
|
||||
'schedules',
|
||||
$schedule['$id'],
|
||||
);
|
||||
|
||||
unset($this->schedules[$schedule['resourceId']]);
|
||||
continue;
|
||||
}
|
||||
|
@ -46,10 +51,10 @@ class ScheduleExecutions extends ScheduleBase
|
|||
// TODO: Refactor to use function instead of functionId
|
||||
->setFunctionId($schedule['resource']['functionId'])
|
||||
->setExecution($schedule['resource'])
|
||||
->setMethod($schedule['metadata']['method'] ?? 'POST')
|
||||
->setPath($schedule['metadata']['path'] ?? '/')
|
||||
->setHeaders($schedule['metadata']['headers'] ?? [])
|
||||
->setBody($schedule['metadata']['body'] ?? '')
|
||||
->setMethod($schedule['data']['method'] ?? 'POST')
|
||||
->setPath($schedule['data']['path'] ?? '/')
|
||||
->setHeaders($schedule['data']['headers'] ?? [])
|
||||
->setBody($schedule['data']['body'] ?? '')
|
||||
->setProject($schedule['project'])
|
||||
->trigger();
|
||||
|
||||
|
|
|
@ -400,6 +400,7 @@ class Builds extends Action
|
|||
'APPWRITE_FUNCTION_PROJECT_ID' => $project->getId(),
|
||||
'APPWRITE_FUNCTION_RUNTIME_NAME' => $runtime['name'] ?? '',
|
||||
'APPWRITE_FUNCTION_RUNTIME_VERSION' => $runtime['version'] ?? '',
|
||||
'APPWRITE_VERSION' => APP_VERSION_STABLE
|
||||
]);
|
||||
|
||||
$command = $deployment->getAttribute('commands', '');
|
||||
|
|
|
@ -468,6 +468,7 @@ class Functions extends Action
|
|||
'APPWRITE_FUNCTION_PROJECT_ID' => $project->getId(),
|
||||
'APPWRITE_FUNCTION_RUNTIME_NAME' => $runtime['name'] ?? '',
|
||||
'APPWRITE_FUNCTION_RUNTIME_VERSION' => $runtime['version'] ?? '',
|
||||
'APPWRITE_VERSION' => APP_VERSION_STABLE
|
||||
]);
|
||||
|
||||
/** Execute function */
|
||||
|
|
|
@ -445,6 +445,7 @@ class FunctionsCustomClientTest extends Scope
|
|||
$this->assertEquals('http', $output['APPWRITE_FUNCTION_TRIGGER']);
|
||||
$this->assertEquals('PHP', $output['APPWRITE_FUNCTION_RUNTIME_NAME']);
|
||||
$this->assertEquals('8.0', $output['APPWRITE_FUNCTION_RUNTIME_VERSION']);
|
||||
$this->assertEquals(APP_VERSION_STABLE, $output['APPWRITE_VERSION']);
|
||||
$this->assertEquals('', $output['APPWRITE_FUNCTION_EVENT']);
|
||||
$this->assertEquals('foobar', $output['APPWRITE_FUNCTION_DATA']);
|
||||
$this->assertEquals($this->getUser()['$id'], $output['APPWRITE_FUNCTION_USER_ID']);
|
||||
|
@ -829,6 +830,7 @@ class FunctionsCustomClientTest extends Scope
|
|||
$this->assertEquals('http', $output['APPWRITE_FUNCTION_TRIGGER']);
|
||||
$this->assertEquals('PHP', $output['APPWRITE_FUNCTION_RUNTIME_NAME']);
|
||||
$this->assertEquals('8.0', $output['APPWRITE_FUNCTION_RUNTIME_VERSION']);
|
||||
$this->assertEquals(APP_VERSION_STABLE, $output['APPWRITE_VERSION']);
|
||||
$this->assertEquals('', $output['APPWRITE_FUNCTION_EVENT']);
|
||||
$this->assertEquals('foobar', $output['APPWRITE_FUNCTION_DATA']);
|
||||
$this->assertEquals($this->getUser()['$id'], $output['APPWRITE_FUNCTION_USER_ID']);
|
||||
|
|
|
@ -10,6 +10,7 @@ return function ($context) {
|
|||
'APPWRITE_FUNCTION_TRIGGER' => $context->req->headers['x-appwrite-trigger'] ?? '',
|
||||
'APPWRITE_FUNCTION_RUNTIME_NAME' => \getenv('APPWRITE_FUNCTION_RUNTIME_NAME') ?: '',
|
||||
'APPWRITE_FUNCTION_RUNTIME_VERSION' => \getenv('APPWRITE_FUNCTION_RUNTIME_VERSION') ?: '',
|
||||
'APPWRITE_VERSION' => \getenv('APPWRITE_VERSION') ?: '',
|
||||
'APPWRITE_FUNCTION_EVENT' => $context->req->headers['x-appwrite-event'] ?? '',
|
||||
'APPWRITE_FUNCTION_EVENT_DATA' => $context->req->bodyRaw ?? '',
|
||||
'APPWRITE_FUNCTION_DATA' => $context->req->bodyRaw ?? '',
|
||||
|
|
Loading…
Reference in a new issue