Skip to content
Snippets Groups Projects
Verified Commit 658095f1 authored by Damien's avatar Damien
Browse files

FEAT #13664 TIME 0:50 Alfresco config controller

parent b755384d
No related branches found
No related tags found
No related merge requests found
...@@ -561,6 +561,8 @@ $app->get('/externalSummary/{resId}', \ExternalSummary\controllers\SummaryContro ...@@ -561,6 +561,8 @@ $app->get('/externalSummary/{resId}', \ExternalSummary\controllers\SummaryContro
$app->get('/externalConnectionsEnabled', \SrcCore\controllers\CoreController::class . ':externalConnectionsEnabled'); $app->get('/externalConnectionsEnabled', \SrcCore\controllers\CoreController::class . ':externalConnectionsEnabled');
//Alfresco //Alfresco
$app->get('/alfresco/configuration', \Alfresco\controllers\AlfrescoController::class . ':getConfiguration');
$app->put('/alfresco/configuration', \Alfresco\controllers\AlfrescoController::class . ':updateConfiguration');
$app->get('/alfresco/accounts', \Alfresco\controllers\AlfrescoController::class . ':getAccounts'); $app->get('/alfresco/accounts', \Alfresco\controllers\AlfrescoController::class . ':getAccounts');
$app->post('/alfresco/accounts', \Alfresco\controllers\AlfrescoController::class . ':createAccount'); $app->post('/alfresco/accounts', \Alfresco\controllers\AlfrescoController::class . ':createAccount');
$app->get('/alfresco/accounts/{id}', \Alfresco\controllers\AlfrescoController::class . ':getAccountById'); $app->get('/alfresco/accounts/{id}', \Alfresco\controllers\AlfrescoController::class . ':getAccountById');
......
...@@ -19,17 +19,17 @@ use SrcCore\models\ValidatorModel; ...@@ -19,17 +19,17 @@ use SrcCore\models\ValidatorModel;
class ConfigurationModel class ConfigurationModel
{ {
public static function getByService(array $aArgs) public static function getByService(array $args)
{ {
ValidatorModel::notEmpty($aArgs, ['service']); ValidatorModel::notEmpty($args, ['service']);
ValidatorModel::stringType($aArgs, ['service']); ValidatorModel::stringType($args, ['service']);
ValidatorModel::arrayType($aArgs, ['select']); ValidatorModel::arrayType($args, ['select']);
$configuration = DatabaseModel::select([ $configuration = DatabaseModel::select([
'select' => empty($aArgs['select']) ? ['*'] : $aArgs['select'], 'select' => empty($args['select']) ? ['*'] : $args['select'],
'table' => ['configurations'], 'table' => ['configurations'],
'where' => ['service = ?'], 'where' => ['service = ?'],
'data' => [$aArgs['service']], 'data' => [$args['service']],
]); ]);
if (empty($configuration[0])) { if (empty($configuration[0])) {
...@@ -39,16 +39,32 @@ class ConfigurationModel ...@@ -39,16 +39,32 @@ class ConfigurationModel
return $configuration[0]; return $configuration[0];
} }
public static function update(array $aArgs) public static function create(array $args)
{ {
ValidatorModel::notEmpty($aArgs, ['set', 'where', 'data']); ValidatorModel::notEmpty($args, ['service', 'value']);
ValidatorModel::arrayType($aArgs, ['set', 'where', 'data']); ValidatorModel::stringType($args, ['service', 'value']);
DatabaseModel::insert([
'table' => 'configurations',
'columnsValues' => [
'service' => $args['service'],
'value' => $args['value']
]
]);
return true;
}
public static function update(array $args)
{
ValidatorModel::notEmpty($args, ['set', 'where', 'data']);
ValidatorModel::arrayType($args, ['set', 'where', 'data']);
DatabaseModel::update([ DatabaseModel::update([
'table' => 'configurations', 'table' => 'configurations',
'set' => $aArgs['set'], 'set' => $args['set'],
'where' => $aArgs['where'], 'where' => $args['where'],
'data' => $aArgs['data'] 'data' => $args['data']
]); ]);
return true; return true;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
namespace Alfresco\controllers; namespace Alfresco\controllers;
use Attachment\models\AttachmentModel; use Attachment\models\AttachmentModel;
use Configuration\models\ConfigurationModel;
use Convert\controllers\ConvertPdfController; use Convert\controllers\ConvertPdfController;
use Docserver\models\DocserverModel; use Docserver\models\DocserverModel;
use Entity\models\EntityModel; use Entity\models\EntityModel;
...@@ -31,6 +32,46 @@ use User\models\UserModel; ...@@ -31,6 +32,46 @@ use User\models\UserModel;
class AlfrescoController class AlfrescoController
{ {
public function getConfiguration(Request $request, Response $response)
{
// if (!PrivilegeController::hasPrivilege(['privilegeId' => 'admin_alfresco', 'userId' => $GLOBALS['id']])) {
// return $response->withStatus(403)->withJson(['errors' => 'Service forbidden']);
// }
$configuration = ConfigurationModel::getByService(['service' => 'admin_alfresco']);
if (empty($configuration)) {
return $response->withJson(['configuration' => null]);
}
$configuration['value'] = json_decode($configuration['value'], true);
return $response->withJson(['configuration' => ['uri' => $configuration['value']['uri']]]);
}
public function updateConfiguration(Request $request, Response $response)
{
// if (!PrivilegeController::hasPrivilege(['privilegeId' => 'admin_alfresco', 'userId' => $GLOBALS['id']])) {
// return $response->withStatus(403)->withJson(['errors' => 'Service forbidden']);
// }
$body = $request->getParsedBody();
if (!Validator::stringType()->notEmpty()->validate($body['uri'])) {
return $response->withStatus(400)->withJson(['errors' => 'Body uri is empty or not a string']);
}
$value = json_encode(['uri' => $body['uri']]);
$configuration = ConfigurationModel::getByService(['service' => 'admin_alfresco']);
if (empty($configuration)) {
ConfigurationModel::create(['service' => 'admin_alfresco', 'value' => $value]);
} else {
ConfigurationModel::update(['set' => ['value' => $value], 'where' => ['service = ?'], 'data' => ['admin_alfresco']]);
}
return $response->withStatus(204);
}
public function getAccounts(Request $request, Response $response) public function getAccounts(Request $request, Response $response)
{ {
// if (!PrivilegeController::hasPrivilege(['privilegeId' => 'admin_alfresco', 'userId' => $GLOBALS['id']])) { // if (!PrivilegeController::hasPrivilege(['privilegeId' => 'admin_alfresco', 'userId' => $GLOBALS['id']])) {
......
...@@ -86,10 +86,10 @@ abstract class TemplateModelAbstract ...@@ -86,10 +86,10 @@ abstract class TemplateModelAbstract
return $aTemplate; return $aTemplate;
} }
public static function create(array $aArgs) public static function create(array $args)
{ {
ValidatorModel::notEmpty($aArgs, ['template_label']); ValidatorModel::notEmpty($args, ['template_label']);
ValidatorModel::stringType($aArgs, ['template_label']); ValidatorModel::stringType($args, ['template_label']);
$nextSequenceId = DatabaseModel::getNextSequenceValue(['sequenceId' => 'templates_seq']); $nextSequenceId = DatabaseModel::getNextSequenceValue(['sequenceId' => 'templates_seq']);
...@@ -97,16 +97,16 @@ abstract class TemplateModelAbstract ...@@ -97,16 +97,16 @@ abstract class TemplateModelAbstract
'table' => 'templates', 'table' => 'templates',
'columnsValues' => [ 'columnsValues' => [
'template_id' => $nextSequenceId, 'template_id' => $nextSequenceId,
'template_label' => $aArgs['template_label'], 'template_label' => $args['template_label'],
'template_comment' => $aArgs['template_comment'], 'template_comment' => $args['template_comment'],
'template_content' => $aArgs['template_content'], 'template_content' => $args['template_content'],
'template_type' => $aArgs['template_type'], 'template_type' => $args['template_type'],
'template_style' => $aArgs['template_style'], 'template_style' => $args['template_style'],
'template_datasource' => $aArgs['template_datasource'], 'template_datasource' => $args['template_datasource'],
'template_target' => $aArgs['template_target'], 'template_target' => $args['template_target'],
'template_attachment_type' => $aArgs['template_attachment_type'], 'template_attachment_type' => $args['template_attachment_type'],
'template_path' => $aArgs['template_path'], 'template_path' => $args['template_path'],
'template_file_name' => $aArgs['template_file_name'], 'template_file_name' => $args['template_file_name'],
] ]
]); ]);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment