1
0
Fork 0
mirror of synced 2024-06-02 19:04:49 +12:00

Updated attribute name

This commit is contained in:
Eldad Fux 2021-07-31 23:54:50 +03:00
parent b24225b92c
commit 0fbe6a430e
4 changed files with 11 additions and 13 deletions

View file

@ -156,7 +156,7 @@ $collections = [
'filters' => [],
],
[
'$id' => 'statusForServices',
'$id' => 'services',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,

View file

@ -449,13 +449,13 @@ App::patch('/v1/projects/:projectId/service')
->label('scope', 'projects.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN])
->label('sdk.namespace', 'projects')
->label('sdk.method', 'serviceStatus')
->label('sdk.method', 'updateServiceStatus')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_PROJECT)
->param('projectId', '', new UID(), 'Project unique ID.')
->param('service', '', new WhiteList(['functions','webhooks', 'avatars','health','locale','storage','teams'],true), 'Service name.')
->param('status', '', new Boolean(), 'Status of the service', true)
->param('service', '', new WhiteList(array_keys(array_filter(Config::getParam('services'), function($element) {return $element['optional'];})), true), 'Service name.')
->param('status', '', new Boolean(), 'Service status.', true)
->inject('response')
->inject('dbForConsole')
->action(function ($projectId, $service, $status, $response, $dbForConsole) {
@ -468,12 +468,10 @@ App::patch('/v1/projects/:projectId/service')
throw new Exception('Project not found', 404);
}
$services = $project->getAttribute('statusForServices', []);
$services = array_merge($services, [
$service => $status
]);
$services = $project->getAttribute('services', []);
$services[$service] = $status;
$project = $dbForConsole->updateDocument('projects', $project->getId(), $project->setAttribute('statusForServices', $services));
$project = $dbForConsole->updateDocument('projects', $project->getId(), $project->setAttribute('services', $services));
$response->dynamic($project, Response::MODEL_PROJECT);
});

View file

@ -258,8 +258,8 @@ App::init(function ($utopia, $request, $response, $console, $project, $dbForCons
$service = $route->getLabel('sdk.namespace','');
if(!empty($service)) {
if(array_key_exists($service,$project->getAttribute('statusForServices',[]))
&& !$project->getAttribute('statusForServices',[])[$service]
if(array_key_exists($service, $project->getAttribute('services',[]))
&& !$project->getAttribute('services',[])[$service]
&& !Auth::isPrivilegedUser(Authorization::$roles)) {
throw new Exception('Service is disabled', 503);
}

View file

@ -563,7 +563,7 @@ class ProjectsConsoleClientTest extends Scope
$this->assertEquals(200, $response['headers']['status-code']);
$this->assertNotEmpty($response['body']['$id']);
$this->assertEquals(false, $response['body']['statusForServices'][$service]);
$this->assertEquals(false, $response['body']['serviceStatusFor'.ucfirst($service)][$service]);
}
/**
@ -625,7 +625,7 @@ class ProjectsConsoleClientTest extends Scope
$this->assertEquals(200, $response['headers']['status-code']);
$this->assertNotEmpty($response['body']['$id']);
$this->assertEquals(false, $response['body']['statusForServices'][$service]);
$this->assertEquals(false, $response['body']['serviceStatusFor'.ucfirst($service)][$service]);
}
/**