Skip to content
Snippets Groups Projects
Commit 7c1a0fe3 authored by Damien's avatar Damien
Browse files

[REFACTORING] create StoreController + res

parent e4af20f1
No related branches found
No related tags found
No related merge requests found
...@@ -18,7 +18,6 @@ namespace Core\Controllers; ...@@ -18,7 +18,6 @@ namespace Core\Controllers;
use Core\Models\CoreConfigModel; use Core\Models\CoreConfigModel;
use Psr\Http\Message\RequestInterface; use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ResponseInterface;
use Respect\Validation\Validator;
use Core\Models\ServiceModel; use Core\Models\ServiceModel;
class CoreController class CoreController
......
...@@ -24,64 +24,32 @@ use Core\Models\DocserverTypeModel; ...@@ -24,64 +24,32 @@ use Core\Models\DocserverTypeModel;
use Core\Models\UserModel; use Core\Models\UserModel;
use Core\Models\ResModel; use Core\Models\ResModel;
use Notes\Models\NoteModel; use Notes\Models\NoteModel;
use Entities\Models\EntityModel;
use Core\Controllers\DocserverController;
use Core\Controllers\DocserverToolsController;
require_once 'core/class/class_db_pdo.php'; require_once 'core/class/class_db_pdo.php';
class ResController class ResController
{ {
public function create(RequestInterface $request, ResponseInterface $response, $aArgs) public function create(RequestInterface $request, ResponseInterface $response)
{ {
$data = $request->getParams();
if (empty($aArgs)) { $check = Validator::notEmpty()->validate($data['encodedFile']);
$aArgs = $request->getParsedBody(); $check = $check && Validator::stringType()->notEmpty()->validate($data['fileFormat']);
} $check = $check && Validator::stringType()->notEmpty()->validate($data['status']);
$check = $check && Validator::stringType()->notEmpty()->validate($data['collId']);
// if(empty($aArgs)) { $check = $check && Validator::stringType()->notEmpty()->validate($data['table']);
// $aArgs = $request->getQueryParams(); $check = $check && Validator::arrayType()->notEmpty()->validate($data['data']);
// $aArgs['data'] = json_decode($aArgs['data']); if (!$check) {
// $aArgs['data'] = $this->object2array($aArgs['data']); return $response->withStatus(400)->withJson(['errors' => 'Bad Request']);
// //FIX pb if data has parent
// if (isset($aArgs['data']['data'])) {
// $aArgs['data'] = $aArgs['data']['data'];
// }
// }
$aArgs['data'] = $this->object2array($aArgs['data']);
//*****************************************************************************************
//LOG ONLY LOG FOR DEBUG
// $file = fopen('storeResourceLogs.log', a);
// fwrite($file, '[' . date('Y-m-d H:i:s') . '] new request' . PHP_EOL);
// foreach ($aArgs as $key => $value) {
// if ($key <> 'encodedFile') {
// fwrite($file, '[' . date('Y-m-d H:i:s') . '] ' . $key . ' : ' . $value . PHP_EOL);
// }
// }
// fclose($file);
// ob_flush();
// ob_start();
// print_r($aArgs['data']);
// file_put_contents("storeResourceLogs.log", ob_get_flush());
//END LOG FOR DEBUG ONLY
//*****************************************************************************************
$return = $this->storeResource($aArgs);
if ($return['errors']) {
return $response
->withStatus(500)
->withJson(
['errors' => _NOT_CREATE . ' ' . $return['errors']]
);
} }
//standardize ws response for MaarchCapture $resId = StoreController::storeResource($data);
$wsReturn['resId'] = $return[0];
if (empty($resId) || !empty($resId['errors'])) {
return $response->withJson($wsReturn); return $response->withStatus(500)->withJson(['errors' => '[ResController create] ' . $resId['errors']]);
}
return $response->withJson(['resId' => $resId]);
} }
public function delete(RequestInterface $request, ResponseInterface $response, $aArgs) public function delete(RequestInterface $request, ResponseInterface $response, $aArgs)
......
This diff is collapsed.
...@@ -17,25 +17,14 @@ namespace Core\Models; ...@@ -17,25 +17,14 @@ namespace Core\Models;
class ResModelAbstract class ResModelAbstract
{ {
/**
* Retrieve info of resId
* @param $aArgs array
*
* @return array $res
*/
public static function getById(array $aArgs = []) public static function getById(array $aArgs = [])
{ {
ValidatorModel::notEmpty($aArgs, ['resId']); ValidatorModel::notEmpty($aArgs, ['resId']);
ValidatorModel::intVal($aArgs, ['resId']); ValidatorModel::intVal($aArgs, ['resId']);
ValidatorModel::stringType($aArgs, ['table']);
if (empty($aArgs['table'])) {
$aArgs['table'] = 'res_letterbox';
}
$aReturn = DatabaseModel::select([ $aReturn = DatabaseModel::select([
'select' => empty($aArgs['select']) ? ['*'] : $aArgs['select'], 'select' => empty($aArgs['select']) ? ['*'] : $aArgs['select'],
'table' => [$aArgs['table']], 'table' => ['res_letterbox'],
'where' => ['res_id = ?'], 'where' => ['res_id = ?'],
'data' => [$aArgs['resId']] 'data' => [$aArgs['resId']]
]); ]);
...@@ -119,29 +108,21 @@ class ResModelAbstract ...@@ -119,29 +108,21 @@ class ResModelAbstract
return $aReturn; return $aReturn;
} }
/**
* insert into a resTable
* @param $aArgs array
*
* @return boolean
*/
public static function create(array $aArgs = []) public static function create(array $aArgs = [])
{ {
ValidatorModel::notEmpty($aArgs, ['data']); ValidatorModel::notEmpty($aArgs, ['format', 'typist', 'creation_date', 'docserver_id', 'path', 'filename', 'fingerprint', 'filesize', 'status']);
ValidatorModel::arrayType($aArgs, ['data']); ValidatorModel::stringType($aArgs, ['format', 'typist', 'creation_date', 'docserver_id', 'path', 'filename', 'fingerprint', 'status']);
ValidatorModel::stringType($aArgs, ['table']); ValidatorModel::intVal($aArgs, ['filesize']);
if (empty($aArgs['table'])) { $nextSequenceId = DatabaseModel::getNextSequenceValue(['sequenceId' => 'res_id_mlb_seq']);
$aArgs['table'] = 'res_letterbox'; $aArgs['res_id'] = $nextSequenceId;
}
DatabaseModel::insert([ DatabaseModel::insert([
'table' => $aArgs['table'], 'table' => 'res_letterbox',
'columnsValues' => $aArgs['data'] 'columnsValues' => $aArgs
]); ]);
return true; return $nextSequenceId;
} }
/** /**
......
...@@ -41,6 +41,23 @@ class AttachmentsModelAbstract ...@@ -41,6 +41,23 @@ class AttachmentsModelAbstract
return $aAttachment[0]; return $aAttachment[0];
} }
public static function create(array $aArgs)
{
ValidatorModel::notEmpty($aArgs, ['format', 'typist', 'creation_date', 'docserver_id', 'path', 'filename', 'fingerprint', 'filesize', 'status']);
ValidatorModel::stringType($aArgs, ['format', 'typist', 'creation_date', 'docserver_id', 'path', 'filename', 'fingerprint', 'filesize', 'status']);
ValidatorModel::intVal($aArgs, ['filesize']);
$nextSequenceId = DatabaseModel::getNextSequenceValue(['sequenceId' => 'res_attachment_res_id_seq']);
$aArgs['res_id'] = $nextSequenceId;
DatabaseModel::insert([
'table' => 'res_attachments',
'columnsValues' => $aArgs
]);
return $nextSequenceId;
}
public static function getAttachmentsTypesByXML() public static function getAttachmentsTypesByXML()
{ {
$customId = CoreConfigModel::getCustomId(); $customId = CoreConfigModel::getCustomId();
......
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