mirror of
https://github.com/salesagility/SuiteCRM.git
synced 2024-11-24 00:29:35 +00:00
115 lines
3.2 KiB
PHP
115 lines
3.2 KiB
PHP
<?php
|
|
namespace Api\V8\Controller;
|
|
|
|
use Api\V8\Param\CreateRelationshipParams;
|
|
use Api\V8\Param\CreateRelationshipByLinkParams;
|
|
use Api\V8\Param\DeleteRelationshipParams;
|
|
use Api\V8\Param\GetRelationshipParams;
|
|
use Api\V8\Service\RelationshipService;
|
|
use Slim\Http\Request;
|
|
use Slim\Http\Response;
|
|
|
|
class RelationshipController extends BaseController
|
|
{
|
|
/**
|
|
* @var RelationshipService
|
|
*/
|
|
protected $relationshipService;
|
|
|
|
/**
|
|
* @param RelationshipService $relationshipService
|
|
*/
|
|
public function __construct(RelationshipService $relationshipService)
|
|
{
|
|
$this->relationshipService = $relationshipService;
|
|
}
|
|
|
|
/**
|
|
* @param Request $request
|
|
* @param Response $response
|
|
* @param array $args
|
|
* @param GetRelationshipParams $params
|
|
*
|
|
* @return Response
|
|
*/
|
|
public function getRelationship(Request $request, Response $response, array $args, GetRelationshipParams $params)
|
|
{
|
|
try {
|
|
$jsonResponse = $this->relationshipService->getRelationship($params, $request);
|
|
|
|
return $this->generateResponse($response, $jsonResponse, 200);
|
|
} catch (\Exception $exception) {
|
|
return $this->generateErrorResponse($response, $exception, 400);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @param Request $request
|
|
* @param Response $response
|
|
* @param array $args
|
|
* @param CreateRelationshipParams $params
|
|
*
|
|
* @return Response
|
|
*/
|
|
public function createRelationship(
|
|
Request $request,
|
|
Response $response,
|
|
array $args,
|
|
CreateRelationshipParams $params
|
|
) {
|
|
try {
|
|
$jsonResponse = $this->relationshipService->createRelationship($params);
|
|
|
|
return $this->generateResponse($response, $jsonResponse, 201);
|
|
} catch (\Exception $exception) {
|
|
return $this->generateErrorResponse($response, $exception, 400);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @param Request $request
|
|
* @param Response $response
|
|
* @param array $args
|
|
* @param CreateRelationshipByLinkParams $params
|
|
*
|
|
* @return Response
|
|
*/
|
|
public function createRelationshipByLink(
|
|
Request $request,
|
|
Response $response,
|
|
array $args,
|
|
CreateRelationshipByLinkParams $params
|
|
) {
|
|
try {
|
|
$jsonResponse = $this->relationshipService->createRelationshipByLink($params);
|
|
|
|
return $this->generateResponse($response, $jsonResponse, 201);
|
|
} catch (\Exception $exception) {
|
|
return $this->generateErrorResponse($response, $exception, 400);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @param Request $request
|
|
* @param Response $response
|
|
* @param array $args
|
|
* @param DeleteRelationshipParams $params
|
|
*
|
|
* @return Response
|
|
*/
|
|
public function deleteRelationship(
|
|
Request $request,
|
|
Response $response,
|
|
array $args,
|
|
DeleteRelationshipParams $params
|
|
) {
|
|
try {
|
|
$jsonResponse = $this->relationshipService->deleteRelationship($params);
|
|
|
|
return $this->generateResponse($response, $jsonResponse, 200);
|
|
} catch (\Exception $exception) {
|
|
return $this->generateErrorResponse($response, $exception, 400);
|
|
}
|
|
}
|
|
}
|