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

FEAT #11694 TIME 0:30 Get history resource

parent 583f10ab
No related branches found
No related tags found
No related merge requests found
......@@ -158,6 +158,8 @@ CREATE TABLE indexing_models_fields
)
WITH (OIDS=FALSE);
ALTER TABLE res_letterbox ADD COLUMN model_id INTEGER;
/* TAGS */
DO $$ BEGIN
......@@ -318,11 +320,13 @@ WHERE service_id = 'edit_recipient_outside_process' OR service_id = 'update_diff
DELETE FROM usergroups_services WHERE service_id = 'edit_recipient_outside_process';
DELETE FROM usergroups_services WHERE service_id = 'update_list_diff_in_details';
DELETE FROM usergroups_services WHERE service_id = 'edit_recipient_in_process';
UPDATE priorities SET delays = 30 WHERE delays IS NULL;
/* REFACTORING MODIFICATION */
ALTER TABLE notif_email_stack ALTER COLUMN attachments TYPE text;
ALTER TABLE tags ALTER COLUMN label TYPE character varying(128);
ALTER TABLE priorities ALTER COLUMN delays SET NOT NULL;
/* REFACTORING SUPPRESSION */
......@@ -363,12 +367,8 @@ DROP TABLE IF EXISTS foldertypes_doctypes_level1;
DROP TABLE IF EXISTS foldertypes_indexes;
ALTER TABLE doctypes DROP COLUMN IF EXISTS coll_id;
DROP TABLE IF EXISTS mlb_doctype_ext;
ALTER TABLE res_letterbox ADD COLUMN model_id INTEGER;
/* PRIORITIES */
ALTER TABLE priorities DROP COLUMN IF EXISTS working_days;
UPDATE priorities SET delays = 30 WHERE delays IS NULL;
ALTER TABLE priorities ALTER COLUMN delays SET NOT NULL;
/* RE CREATE VIEWS */
CREATE OR REPLACE VIEW res_view_letterbox AS
......
......@@ -216,6 +216,7 @@ $app->put('/groups/{id}/reassign/{newGroupId}', \Group\controllers\GroupControll
//Histories
$app->get('/histories', \History\controllers\HistoryController::class . ':get');
$app->get('/histories/users/{userSerialId}', \History\controllers\HistoryController::class . ':getByUserId');
$app->get('/histories/resources/{resId}', \History\controllers\HistoryController::class . ':getByResourceId');
//Header
$app->get('/header', \SrcCore\controllers\CoreController::class . ':getHeader');
......
......@@ -14,6 +14,7 @@
namespace History\controllers;
use Resource\controllers\ResController;
use Respect\Validation\Validator;
use SrcCore\controllers\LogsController;
use Group\models\ServiceModel;
......@@ -106,4 +107,15 @@ class HistoryController
return $response->withJson(['histories' => $aHistories]);
}
public function getByResourceId(Request $request, Response $response, array $args)
{
if (!Validator::intVal()->validate($args['resId']) || !ResController::hasRightByResId(['resId' => [$args['resId']], 'userId' => $GLOBALS['id']])) {
return $response->withStatus(403)->withJson(['errors' => 'Document out of perimeter']);
}
$history = HistoryModel::getByResourceId(['resId' => $args['resId'], 'select' => ['info', 'event_date']]);
return $response->withJson(['history' => $history]);
}
}
......@@ -77,6 +77,23 @@ abstract class HistoryModelAbstract
return $aHistories;
}
public static function getByResourceId(array $args)
{
ValidatorModel::notEmpty($args, ['resId']);
ValidatorModel::stringType($args, ['resId']);
$history = DatabaseModel::select([
'select' => empty($args['select']) ? ['*'] : $args['select'],
'table' => ['history'],
'where' => ['table_name in (?)', 'record_id = ?', 'event_date > (CURRENT_TIMESTAMP - interval \'30 DAYS\')'],
'data' => [['res_letterbox', 'res_view_letterbox'], $args['resId']],
'order_by' => ['event_date DESC'],
'limit' => 200
]);
return $history;
}
public static function getFilter(array $aArgs = [])
{
ValidatorModel::notEmpty($aArgs, ['select','event_date']);
......
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