feat: get all contacts for a given tag in the api (#3534)

This commit is contained in:
Regis Freyd
2020-02-01 08:31:59 -05:00
committed by GitHub
parent 018e6e0bab
commit dfacb89c87
8 changed files with 252 additions and 31 deletions
@@ -5,6 +5,7 @@ namespace App\Http\Controllers\Api;
use Illuminate\Http\Request;
use App\Helpers\SearchHelper;
use App\Models\Contact\Contact;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Collection;
use Illuminate\Database\QueryException;
use App\Services\Contact\Contact\SetMeContact;
@@ -12,6 +13,7 @@ use Illuminate\Validation\ValidationException;
use App\Services\Contact\Contact\CreateContact;
use App\Services\Contact\Contact\UpdateContact;
use App\Services\Contact\Contact\DestroyContact;
use Illuminate\Http\Resources\Json\JsonResource;
use App\Services\Contact\Contact\UpdateContactWork;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use App\Http\Resources\Contact\Contact as ContactResource;
@@ -37,7 +39,8 @@ class ApiContactController extends ApiController
* We will only retrieve the contacts that are "real", not the partials
* ones.
*
* @return \Illuminate\Http\Resources\Json\JsonResource|\Illuminate\Http\JsonResponse
* @param Request $request
* @return JsonResource|JsonResponse
*/
public function index(Request $request)
{
@@ -80,10 +83,10 @@ class ApiContactController extends ApiController
* Get the detail of a given contact.
*
* @param Request $request
*
* @return ContactResource|\Illuminate\Http\JsonResponse|ContactWithContactFieldsResource
* @param int $id
* @return ContactResource|JsonResponse|ContactWithContactFieldsResource
*/
public function show(Request $request, $id)
public function show(Request $request, int $id)
{
try {
$contact = Contact::where('account_id', auth()->user()->account_id)
@@ -107,7 +110,7 @@ class ApiContactController extends ApiController
*
* @param Request $request
*
* @return ContactResource|\Illuminate\Http\JsonResponse
* @return ContactResource|JsonResponse
*/
public function store(Request $request)
{
@@ -135,7 +138,7 @@ class ApiContactController extends ApiController
*
* @param Request $request
*
* @return ContactResource|\Illuminate\Http\JsonResponse
* @return ContactResource|JsonResponse
*/
public function update(Request $request, $contactId)
{
@@ -164,7 +167,7 @@ class ApiContactController extends ApiController
*
* @param Request $request
*
* @return \Illuminate\Http\JsonResponse
* @return JsonResponse
*/
public function destroy(Request $request, $contactId)
{
@@ -180,7 +183,7 @@ class ApiContactController extends ApiController
/**
* Apply the `?with=` parameter.
* @param Collection $contacts
* @return \Illuminate\Http\Resources\Json\JsonResource
* @return JsonResource
*/
private function applyWithParameter($contacts, string $parameter = null)
{
@@ -218,7 +221,7 @@ class ApiContactController extends ApiController
* @param Request $request
* @param int $contactId
*
* @return ContactResource|\Illuminate\Http\JsonResponse
* @return ContactResource|JsonResponse
*/
public function updateWork(Request $request, $contactId)
{
@@ -247,7 +250,7 @@ class ApiContactController extends ApiController
* @param Request $request
* @param int $contactId
*
* @return ContactResource|\Illuminate\Http\JsonResponse
* @return ContactResource|JsonResponse
*/
public function updateFoodPreferences(Request $request, $contactId)
{
@@ -276,7 +279,7 @@ class ApiContactController extends ApiController
* @param Request $request
* @param int $contactId
*
* @return ContactResource|\Illuminate\Http\JsonResponse
* @return ContactResource|JsonResponse
*/
public function updateIntroduction(Request $request, $contactId)
{