diff --git a/rest/index.php b/rest/index.php index 1e3c388ca5e4a3e1b0b6f1a0e58d42b5410d5eea..e2185efab130f107448fb50610a602487d31e5b6 100755 --- a/rest/index.php +++ b/rest/index.php @@ -358,9 +358,9 @@ $app->put('/res/externalInfos', \Resource\controllers\ResController::class . ':u $app->get('/categories', \Resource\controllers\ResController::class . ':getCategories'); $app->get('/resources/{resId}/users/{userId}/isDestinationChanging', \Action\controllers\PreProcessActionController::class . ':isDestinationChanging'); $app->get('/resources/{resId}/users/{userId}/groups/{groupId}/baskets/{basketId}/processingData', \Resource\controllers\ResController::class . ':getProcessingData'); -$app->put('/resources/{resId}/follow', \Resource\controllers\UsersFollowedResourcesController::class . ':follow'); -$app->delete('/resources/{resId}/unfollow', \Resource\controllers\UsersFollowedResourcesController::class . ':unFollow'); -$app->get('/followedResources', \Resource\controllers\UsersFollowedResourcesController::class . ':getFollowedResources'); +$app->post('/resources/{resId}/follow', \Resource\controllers\UserFollowedResourceController::class . ':follow'); +$app->delete('/resources/{resId}/unfollow', \Resource\controllers\UserFollowedResourceController::class . ':unFollow'); +$app->get('/followedResources', \Resource\controllers\UserFollowedResourceController::class . ':getFollowedResources'); //ResourcesList $app->get('/resourcesList/users/{userId}/groups/{groupId}/baskets/{basketId}', \Resource\controllers\ResourceListController::class . ':get'); diff --git a/src/app/resource/controllers/ResController.php b/src/app/resource/controllers/ResController.php index 64dfa7d7d5f67e25fc70060ef90b9163a0c50784..e277918363f5e01e36ca973f378ee7f29232f59d 100755 --- a/src/app/resource/controllers/ResController.php +++ b/src/app/resource/controllers/ResController.php @@ -42,7 +42,7 @@ use Note\models\NoteModel; use Priority\models\PriorityModel; use Resource\models\ResModel; use Resource\models\ResourceContactModel; -use Resource\models\UsersFollowedResourcesModel; +use Resource\models\UserFollowedResourceModel; use Respect\Validation\Validator; use setasign\Fpdi\Tcpdf\Fpdi; use Slim\Http\Request; @@ -79,7 +79,10 @@ class ResController ResController::createAdjacentData(['body' => $body, 'resId' => $resId]); if (!empty($body['followed'])) { - UsersFollowedResourcesController::followResource(['userId' => $GLOBALS['id'], 'resId' => $resId]); + UserFollowedResourceModel::create([ + 'userId' => $GLOBALS['id'], + 'resId' => $resId + ]); } if (!empty($body['encodedFile'])) { @@ -228,7 +231,7 @@ class ResController $attachments = AttachmentModel::get(['select' => ['count(1)'], 'where' => ['res_id_master = ?', 'status in (?)'], 'data' => [$args['resId'], ['TRA', 'A_TRA', 'FRZ']]]); $formattedData['attachments'] = $attachments[0]['count']; - $followed = UsersFollowedResourcesModel::get([ + $followed = UserFollowedResourceModel::get([ 'where' => ['user_id = ?', 'res_id = ?'], 'data' => [$GLOBALS['id'], $args['resId']] ]); @@ -738,7 +741,7 @@ class ResController return true; } - $followed = UsersFollowedResourcesModel::get([ + $followed = UserFollowedResourceModel::get([ 'where' => ['user_id = ?', 'res_id in (?)'], 'data' => [$args['userId'], $resources] ]); diff --git a/src/app/resource/controllers/UsersFollowedResourcesController.php b/src/app/resource/controllers/UserFollowedResourceController.php similarity index 90% rename from src/app/resource/controllers/UsersFollowedResourcesController.php rename to src/app/resource/controllers/UserFollowedResourceController.php index 8e2c200e2d4f180fa33d76cf25427b037481e14f..10ab9655575d7978489c215a38290b03df456a69 100644 --- a/src/app/resource/controllers/UsersFollowedResourcesController.php +++ b/src/app/resource/controllers/UserFollowedResourceController.php @@ -18,11 +18,11 @@ namespace Resource\controllers; use Attachment\models\AttachmentModel; use Group\controllers\PrivilegeController; use Resource\models\ResourceListModel; -use Resource\models\UsersFollowedResourcesModel; +use Resource\models\UserFollowedResourceModel; use Slim\Http\Request; use Slim\Http\Response; -class UsersFollowedResourcesController +class UserFollowedResourceController { public function follow(Request $request, Response $response, array $args) { @@ -30,7 +30,19 @@ class UsersFollowedResourcesController return $response->withStatus(403)->withJson(['errors' => 'Document out of perimeter']); } - UsersFollowedResourcesController::followResource($args); + $following = UserFollowedResourceModel::get([ + 'where' => ['user_id = ?', 'res_id = ?'], + 'data' => [$GLOBALS['id'], $args['resId']] + ]); + + if (!empty($following)) { + return $response->withStatus(204); + } + + UserFollowedResourceModel::create([ + 'userId' => $GLOBALS['id'], + 'resId' => $args['resId'] + ]); return $response->withStatus(204); } @@ -41,7 +53,7 @@ class UsersFollowedResourcesController return $response->withStatus(403)->withJson(['errors' => 'Document out of perimeter']); } - $following = UsersFollowedResourcesModel::get([ + $following = UserFollowedResourceModel::get([ 'where' => ['user_id = ?', 'res_id = ?'], 'data' => [$GLOBALS['id'], $args['resId']] ]); @@ -50,7 +62,7 @@ class UsersFollowedResourcesController return $response->withStatus(204); } - UsersFollowedResourcesModel::delete([ + UserFollowedResourceModel::delete([ 'userId' => $GLOBALS['id'], 'resId' => $args['resId'] ]); @@ -60,7 +72,7 @@ class UsersFollowedResourcesController public function getFollowedResources(Request $request, Response $response) { - $followedResources = UsersFollowedResourcesModel::get(['select' => ['res_id'], 'where' => ['user_id = ?'], 'data' => [$GLOBALS['id']]]); + $followedResources = UserFollowedResourceModel::get(['select' => ['res_id'], 'where' => ['user_id = ?'], 'data' => [$GLOBALS['id']]]); $followedResources = array_column($followedResources, 'res_id'); $formattedResources = []; @@ -140,23 +152,4 @@ class UsersFollowedResourcesController return $response->withJson(['resources' => $formattedResources, 'countResources' => $count, 'allResources' => $allResources]); } - - public static function followResource(array $args) - { - $following = UsersFollowedResourcesModel::get([ - 'where' => ['user_id = ?', 'res_id = ?'], - 'data' => [$GLOBALS['id'], $args['resId']] - ]); - - if (!empty($following)) { - return true; - } - - UsersFollowedResourcesModel::create([ - 'userId' => $GLOBALS['id'], - 'resId' => $args['resId'] - ]); - - return true; - } } diff --git a/src/app/resource/models/UsersFollowedResourcesModel.php b/src/app/resource/models/UserFollowedResourceModel.php similarity index 98% rename from src/app/resource/models/UsersFollowedResourcesModel.php rename to src/app/resource/models/UserFollowedResourceModel.php index f36e80b21a9fb35fd82e8416151a0920b0d19cd6..68350317df765ba588ab2a6f80f956776550e440 100644 --- a/src/app/resource/models/UsersFollowedResourcesModel.php +++ b/src/app/resource/models/UserFollowedResourceModel.php @@ -17,7 +17,7 @@ namespace Resource\models; use SrcCore\models\DatabaseModel; use SrcCore\models\ValidatorModel; -class UsersFollowedResourcesModel +class UserFollowedResourceModel { public static function get(array $args = []) {