mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-24 02:14:21 -04:00
Fixes for user controllers
This commit is contained in:
parent
fd91db2f6e
commit
d1d9f7fc27
@ -69,37 +69,6 @@ class UserController extends BaseController
|
|||||||
* @param UserFilters $filters
|
* @param UserFilters $filters
|
||||||
* @return Response
|
* @return Response
|
||||||
*
|
*
|
||||||
*
|
|
||||||
* @OA\Get(
|
|
||||||
* path="/api/v1/users",
|
|
||||||
* operationId="getUsers",
|
|
||||||
* tags={"users"},
|
|
||||||
* summary="Gets a list of users",
|
|
||||||
* description="Lists users, search and filters allow fine grained lists to be generated.
|
|
||||||
*
|
|
||||||
*Query parameters can be added to performed more fine grained filtering of the users, these are handled by the UserFilters class which defines the methods available",
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/X-API-TOKEN"),
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/X-Requested-With"),
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/include"),
|
|
||||||
* @OA\Response(
|
|
||||||
* response=200,
|
|
||||||
* description="A list of users",
|
|
||||||
* @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
|
|
||||||
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
|
|
||||||
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/User"),
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response=422,
|
|
||||||
* description="Validation error",
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/ValidationError"),
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response="default",
|
|
||||||
* description="Unexpected Error",
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/Error"),
|
|
||||||
* ),
|
|
||||||
* )
|
|
||||||
*/
|
*/
|
||||||
public function index(UserFilters $filters)
|
public function index(UserFilters $filters)
|
||||||
{
|
{
|
||||||
@ -114,37 +83,6 @@ class UserController extends BaseController
|
|||||||
* @param CreateUserRequest $request
|
* @param CreateUserRequest $request
|
||||||
* @return Response
|
* @return Response
|
||||||
*
|
*
|
||||||
*
|
|
||||||
*
|
|
||||||
* @OA\Get(
|
|
||||||
* path="/api/v1/users/create",
|
|
||||||
* operationId="getUsersCreate",
|
|
||||||
* tags={"users"},
|
|
||||||
* summary="Gets a new blank User object",
|
|
||||||
* description="Returns a blank object with default values",
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/X-API-TOKEN"),
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/X-Requested-With"),
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/include"),
|
|
||||||
* @OA\Response(
|
|
||||||
* response=200,
|
|
||||||
* description="A blank User object",
|
|
||||||
* @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
|
|
||||||
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
|
|
||||||
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/User"),
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response=422,
|
|
||||||
* description="Validation error",
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/ValidationError"),
|
|
||||||
*
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response="default",
|
|
||||||
* description="Unexpected Error",
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/Error"),
|
|
||||||
* ),
|
|
||||||
* )
|
|
||||||
*/
|
*/
|
||||||
public function create(CreateUserRequest $request)
|
public function create(CreateUserRequest $request)
|
||||||
{
|
{
|
||||||
@ -159,41 +97,13 @@ class UserController extends BaseController
|
|||||||
* @param StoreUserRequest $request
|
* @param StoreUserRequest $request
|
||||||
* @return Response
|
* @return Response
|
||||||
*
|
*
|
||||||
*
|
|
||||||
*
|
|
||||||
* @OA\Post(
|
|
||||||
* path="/api/v1/users",
|
|
||||||
* operationId="storeUser",
|
|
||||||
* tags={"users"},
|
|
||||||
* summary="Adds a User",
|
|
||||||
* description="Adds an User to the system",
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/X-API-TOKEN"),
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/X-Requested-With"),
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/include"),
|
|
||||||
* @OA\Response(
|
|
||||||
* response=200,
|
|
||||||
* description="Returns the saved User object",
|
|
||||||
* @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
|
|
||||||
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
|
|
||||||
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/User"),
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response=422,
|
|
||||||
* description="Validation error",
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/ValidationError"),
|
|
||||||
*
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response="default",
|
|
||||||
* description="Unexpected Error",
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/Error"),
|
|
||||||
* ),
|
|
||||||
* )
|
|
||||||
*/
|
*/
|
||||||
public function store(StoreUserRequest $request)
|
public function store(StoreUserRequest $request)
|
||||||
{
|
{
|
||||||
$company = auth()->user()->company();
|
/** @var \App\Models\User $logged_in_user */
|
||||||
|
$logged_in_user = auth()->user();
|
||||||
|
|
||||||
|
$company = $logged_in_user->company();
|
||||||
|
|
||||||
$user = $this->user_repo->save($request->all(), $request->fetchUser());
|
$user = $this->user_repo->save($request->all(), $request->fetchUser());
|
||||||
|
|
||||||
@ -216,47 +126,6 @@ class UserController extends BaseController
|
|||||||
* @param User $user
|
* @param User $user
|
||||||
* @return Response
|
* @return Response
|
||||||
*
|
*
|
||||||
*
|
|
||||||
* @OA\Get(
|
|
||||||
* path="/api/v1/users/{id}",
|
|
||||||
* operationId="showUser",
|
|
||||||
* tags={"users"},
|
|
||||||
* summary="Shows an User",
|
|
||||||
* description="Displays an User by id",
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/X-API-TOKEN"),
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/X-Requested-With"),
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/include"),
|
|
||||||
* @OA\Parameter(
|
|
||||||
* name="id",
|
|
||||||
* in="path",
|
|
||||||
* description="The User Hashed ID",
|
|
||||||
* example="D2J234DFA",
|
|
||||||
* required=true,
|
|
||||||
* @OA\Schema(
|
|
||||||
* type="string",
|
|
||||||
* format="string",
|
|
||||||
* ),
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response=200,
|
|
||||||
* description="Returns the User object",
|
|
||||||
* @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
|
|
||||||
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
|
|
||||||
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/User"),
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response=422,
|
|
||||||
* description="Validation error",
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/ValidationError"),
|
|
||||||
*
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response="default",
|
|
||||||
* description="Unexpected Error",
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/Error"),
|
|
||||||
* ),
|
|
||||||
* )
|
|
||||||
*/
|
*/
|
||||||
public function show(ShowUserRequest $request, User $user)
|
public function show(ShowUserRequest $request, User $user)
|
||||||
{
|
{
|
||||||
@ -270,47 +139,6 @@ class UserController extends BaseController
|
|||||||
* @param User $user
|
* @param User $user
|
||||||
* @return Response
|
* @return Response
|
||||||
*
|
*
|
||||||
*
|
|
||||||
* @OA\Get(
|
|
||||||
* path="/api/v1/users/{id}/edit",
|
|
||||||
* operationId="editUser",
|
|
||||||
* tags={"users"},
|
|
||||||
* summary="Shows an User for editting",
|
|
||||||
* description="Displays an User by id",
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/X-API-TOKEN"),
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/X-Requested-With"),
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/include"),
|
|
||||||
* @OA\Parameter(
|
|
||||||
* name="id",
|
|
||||||
* in="path",
|
|
||||||
* description="The User Hashed ID",
|
|
||||||
* example="D2J234DFA",
|
|
||||||
* required=true,
|
|
||||||
* @OA\Schema(
|
|
||||||
* type="string",
|
|
||||||
* format="string",
|
|
||||||
* ),
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response=200,
|
|
||||||
* description="Returns the User object",
|
|
||||||
* @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
|
|
||||||
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
|
|
||||||
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/User"),
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response=422,
|
|
||||||
* description="Validation error",
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/ValidationError"),
|
|
||||||
*
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response="default",
|
|
||||||
* description="Unexpected Error",
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/Error"),
|
|
||||||
* ),
|
|
||||||
* )
|
|
||||||
*/
|
*/
|
||||||
public function edit(EditUserRequest $request, User $user)
|
public function edit(EditUserRequest $request, User $user)
|
||||||
{
|
{
|
||||||
@ -320,53 +148,16 @@ class UserController extends BaseController
|
|||||||
/**
|
/**
|
||||||
* Update the specified resource in storage.
|
* Update the specified resource in storage.
|
||||||
*
|
*
|
||||||
* @OA\Put(
|
|
||||||
* path="/api/v1/users/{id}",
|
|
||||||
* operationId="updateUser",
|
|
||||||
* tags={"users"},
|
|
||||||
* summary="Updates an User",
|
|
||||||
* description="Handles the updating of an User by id",
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/X-API-TOKEN"),
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/X-Requested-With"),
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/include"),
|
|
||||||
* @OA\Parameter(
|
|
||||||
* name="id",
|
|
||||||
* in="path",
|
|
||||||
* description="The User Hashed ID",
|
|
||||||
* example="D2J234DFA",
|
|
||||||
* required=true,
|
|
||||||
* @OA\Schema(
|
|
||||||
* type="string",
|
|
||||||
* format="string",
|
|
||||||
* ),
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response=200,
|
|
||||||
* description="Returns the User object",
|
|
||||||
* @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
|
|
||||||
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
|
|
||||||
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/User"),
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response=422,
|
|
||||||
* description="Validation error",
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/ValidationError"),
|
|
||||||
*
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response="default",
|
|
||||||
* description="Unexpected Error",
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/Error"),
|
|
||||||
* ),
|
|
||||||
* )
|
|
||||||
* @param UpdateUserRequest $request
|
* @param UpdateUserRequest $request
|
||||||
* @param User $user
|
* @param User $user
|
||||||
* @return Response|mixed
|
* @return Response|mixed
|
||||||
*/
|
*/
|
||||||
public function update(UpdateUserRequest $request, User $user)
|
public function update(UpdateUserRequest $request, User $user)
|
||||||
{
|
{
|
||||||
$old_company_user = $user->company_users()->where('company_id', auth()->user()->company()->id)->first();
|
/** @var \App\Models\User $logged_in_user */
|
||||||
|
$logged_in_user = auth()->user();
|
||||||
|
|
||||||
|
$old_company_user = $user->company_users()->where('company_id', $logged_in_user->company()->id)->first();
|
||||||
$old_user = json_encode($user);
|
$old_user = json_encode($user);
|
||||||
$old_user_email = $user->getOriginal('email');
|
$old_user_email = $user->getOriginal('email');
|
||||||
|
|
||||||
@ -384,10 +175,10 @@ class UserController extends BaseController
|
|||||||
$user->oauth_user_refresh_token = null;
|
$user->oauth_user_refresh_token = null;
|
||||||
$user->oauth_user_token = null;
|
$user->oauth_user_token = null;
|
||||||
$user->save();
|
$user->save();
|
||||||
UserEmailChanged::dispatch($new_user, json_decode($old_user), auth()->user()->company());
|
UserEmailChanged::dispatch($new_user, json_decode($old_user), $logged_in_user->company());
|
||||||
}
|
}
|
||||||
|
|
||||||
event(new UserWasUpdated($user, auth()->user(), auth()->user()->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null)));
|
event(new UserWasUpdated($user, $logged_in_user, $logged_in_user->company(), Ninja::eventVars($logged_in_user->id)));
|
||||||
|
|
||||||
return $this->itemResponse($user);
|
return $this->itemResponse($user);
|
||||||
}
|
}
|
||||||
@ -397,59 +188,8 @@ class UserController extends BaseController
|
|||||||
*
|
*
|
||||||
* @param DestroyUserRequest $request
|
* @param DestroyUserRequest $request
|
||||||
* @param User $user
|
* @param User $user
|
||||||
* @return Response
|
* @return JsonResponse | Response
|
||||||
*
|
*
|
||||||
*
|
|
||||||
* @OA\Delete(
|
|
||||||
* path="/api/v1/users/{id}",
|
|
||||||
* operationId="deleteUser",
|
|
||||||
* tags={"users"},
|
|
||||||
* summary="Deletes a User",
|
|
||||||
* description="Handles the deletion of an User by id",
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/X-API-TOKEN"),
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/X-Requested-With"),
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/include"),
|
|
||||||
* @OA\Parameter(
|
|
||||||
* name="token_name",
|
|
||||||
* in="query",
|
|
||||||
* required=false,
|
|
||||||
* description="Customized name for the Users API Token",
|
|
||||||
* example="iOS Device 11 iPad",
|
|
||||||
* @OA\Schema(
|
|
||||||
* type="string",
|
|
||||||
* format="string",
|
|
||||||
* ),
|
|
||||||
* ),
|
|
||||||
* @OA\Parameter(
|
|
||||||
* name="id",
|
|
||||||
* in="path",
|
|
||||||
* description="The User Hashed ID",
|
|
||||||
* example="D2J234DFA",
|
|
||||||
* required=true,
|
|
||||||
* @OA\Schema(
|
|
||||||
* type="string",
|
|
||||||
* format="string",
|
|
||||||
* ),
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response=200,
|
|
||||||
* description="Returns a HTTP status",
|
|
||||||
* @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
|
|
||||||
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
|
|
||||||
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response=422,
|
|
||||||
* description="Validation error",
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/ValidationError"),
|
|
||||||
*
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response="default",
|
|
||||||
* description="Unexpected Error",
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/Error"),
|
|
||||||
* ),
|
|
||||||
* )
|
|
||||||
*/
|
*/
|
||||||
public function destroy(DestroyUserRequest $request, User $user)
|
public function destroy(DestroyUserRequest $request, User $user)
|
||||||
{
|
{
|
||||||
@ -460,7 +200,10 @@ class UserController extends BaseController
|
|||||||
/* If the user passes the company user we archive the company user */
|
/* If the user passes the company user we archive the company user */
|
||||||
$user = $this->user_repo->delete($request->all(), $user);
|
$user = $this->user_repo->delete($request->all(), $user);
|
||||||
|
|
||||||
event(new UserWasDeleted($user, auth()->user(), auth()->user()->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null)));
|
/** @var \App\Models\User $logged_in_user */
|
||||||
|
$logged_in_user = auth()->user();
|
||||||
|
|
||||||
|
event(new UserWasDeleted($user, $logged_in_user, $logged_in_user->company(), Ninja::eventVars($logged_in_user->id)));
|
||||||
|
|
||||||
return $this->itemResponse($user->fresh());
|
return $this->itemResponse($user->fresh());
|
||||||
}
|
}
|
||||||
@ -468,54 +211,8 @@ class UserController extends BaseController
|
|||||||
/**
|
/**
|
||||||
* Perform bulk actions on the list view.
|
* Perform bulk actions on the list view.
|
||||||
*
|
*
|
||||||
* @return Collection
|
* @return Response
|
||||||
*
|
*
|
||||||
*
|
|
||||||
*
|
|
||||||
* @OA\Post(
|
|
||||||
* path="/api/v1/users/bulk",
|
|
||||||
* operationId="bulkUsers",
|
|
||||||
* tags={"users"},
|
|
||||||
* summary="Performs bulk actions on an array of users",
|
|
||||||
* description="",
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/X-API-TOKEN"),
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/X-Requested-With"),
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/index"),
|
|
||||||
* @OA\RequestBody(
|
|
||||||
* description="Hashed ids",
|
|
||||||
* required=true,
|
|
||||||
* @OA\MediaType(
|
|
||||||
* mediaType="application/json",
|
|
||||||
* @OA\Schema(
|
|
||||||
* type="array",
|
|
||||||
* @OA\Items(
|
|
||||||
* type="integer",
|
|
||||||
* description="Array of hashed IDs to be bulk 'actioned",
|
|
||||||
* example="[0,1,2,3]",
|
|
||||||
* ),
|
|
||||||
* )
|
|
||||||
* )
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response=200,
|
|
||||||
* description="The User response",
|
|
||||||
* @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
|
|
||||||
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
|
|
||||||
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/User"),
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response=422,
|
|
||||||
* description="Validation error",
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/ValidationError"),
|
|
||||||
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response="default",
|
|
||||||
* description="Unexpected Error",
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/Error"),
|
|
||||||
* ),
|
|
||||||
* )
|
|
||||||
*/
|
*/
|
||||||
public function bulk(BulkUserRequest $request)
|
public function bulk(BulkUserRequest $request)
|
||||||
{
|
{
|
||||||
@ -548,45 +245,6 @@ class UserController extends BaseController
|
|||||||
/**
|
/**
|
||||||
* Detach an existing user to a company.
|
* Detach an existing user to a company.
|
||||||
*
|
*
|
||||||
* @OA\Delete(
|
|
||||||
* path="/api/v1/users/{user}/detach_from_company",
|
|
||||||
* operationId="detachUser",
|
|
||||||
* tags={"users"},
|
|
||||||
* summary="Detach an existing user to a company",
|
|
||||||
* description="Detach an existing user from a company",
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/X-API-TOKEN"),
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/X-Requested-With"),
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/include"),
|
|
||||||
* @OA\Parameter(
|
|
||||||
* name="user",
|
|
||||||
* in="path",
|
|
||||||
* description="The user hashed_id",
|
|
||||||
* example="FD767dfd7",
|
|
||||||
* required=true,
|
|
||||||
* @OA\Schema(
|
|
||||||
* type="string",
|
|
||||||
* format="string",
|
|
||||||
* ),
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response=200,
|
|
||||||
* description="Success response",
|
|
||||||
* @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
|
|
||||||
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
|
|
||||||
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response=422,
|
|
||||||
* description="Validation error",
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/ValidationError"),
|
|
||||||
*
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response="default",
|
|
||||||
* description="Unexpected Error",
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/Error"),
|
|
||||||
* ),
|
|
||||||
* )
|
|
||||||
* @param DetachCompanyUserRequest $request
|
* @param DetachCompanyUserRequest $request
|
||||||
* @param User $user
|
* @param User $user
|
||||||
* @return \Illuminate\Http\JsonResponse
|
* @return \Illuminate\Http\JsonResponse
|
||||||
@ -622,52 +280,16 @@ class UserController extends BaseController
|
|||||||
/**
|
/**
|
||||||
* Invite an existing user to a company.
|
* Invite an existing user to a company.
|
||||||
*
|
*
|
||||||
* @OA\Post(
|
|
||||||
* path="/api/v1/users/{user}/invite",
|
|
||||||
* operationId="inviteUser",
|
|
||||||
* tags={"users"},
|
|
||||||
* summary="Reconfirm an existing user to a company",
|
|
||||||
* description="Reconfirm an existing user from a company",
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/X-API-TOKEN"),
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/X-Requested-With"),
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/include"),
|
|
||||||
* @OA\Parameter(
|
|
||||||
* name="user",
|
|
||||||
* in="path",
|
|
||||||
* description="The user hashed_id",
|
|
||||||
* example="FD767dfd7",
|
|
||||||
* required=true,
|
|
||||||
* @OA\Schema(
|
|
||||||
* type="string",
|
|
||||||
* format="string",
|
|
||||||
* ),
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response=200,
|
|
||||||
* description="Success response",
|
|
||||||
* @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
|
|
||||||
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
|
|
||||||
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response=422,
|
|
||||||
* description="Validation error",
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/ValidationError"),
|
|
||||||
*
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response="default",
|
|
||||||
* description="Unexpected Error",
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/Error"),
|
|
||||||
* ),
|
|
||||||
* )
|
|
||||||
* @param ReconfirmUserRequest $request
|
* @param ReconfirmUserRequest $request
|
||||||
* @param User $user
|
* @param User $user
|
||||||
* @return \Illuminate\Http\JsonResponse
|
* @return \Illuminate\Http\JsonResponse
|
||||||
*/
|
*/
|
||||||
public function invite(ReconfirmUserRequest $request, User $user)
|
public function invite(ReconfirmUserRequest $request, User $user)
|
||||||
{
|
{
|
||||||
$user->service()->invite($user->company());
|
/** @var \App\Models\User $logged_in_user */
|
||||||
|
$logged_in_user = auth()->user();
|
||||||
|
|
||||||
|
$user->service()->invite($logged_in_user->company());
|
||||||
|
|
||||||
return response()->json(['message' => ctrans('texts.confirmation_resent')], 200);
|
return response()->json(['message' => ctrans('texts.confirmation_resent')], 200);
|
||||||
}
|
}
|
||||||
@ -676,52 +298,16 @@ class UserController extends BaseController
|
|||||||
/**
|
/**
|
||||||
* Invite an existing user to a company.
|
* Invite an existing user to a company.
|
||||||
*
|
*
|
||||||
* @OA\Post(
|
|
||||||
* path="/api/v1/users/{user}/reconfirm",
|
|
||||||
* operationId="inviteUserReconfirm",
|
|
||||||
* tags={"users"},
|
|
||||||
* summary="Reconfirm an existing user to a company",
|
|
||||||
* description="Reconfirm an existing user from a company",
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/X-API-TOKEN"),
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/X-Requested-With"),
|
|
||||||
* @OA\Parameter(ref="#/components/parameters/include"),
|
|
||||||
* @OA\Parameter(
|
|
||||||
* name="user",
|
|
||||||
* in="path",
|
|
||||||
* description="The user hashed_id",
|
|
||||||
* example="FD767dfd7",
|
|
||||||
* required=true,
|
|
||||||
* @OA\Schema(
|
|
||||||
* type="string",
|
|
||||||
* format="string",
|
|
||||||
* ),
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response=200,
|
|
||||||
* description="Success response",
|
|
||||||
* @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
|
|
||||||
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
|
|
||||||
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response=422,
|
|
||||||
* description="Validation error",
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/ValidationError"),
|
|
||||||
*
|
|
||||||
* ),
|
|
||||||
* @OA\Response(
|
|
||||||
* response="default",
|
|
||||||
* description="Unexpected Error",
|
|
||||||
* @OA\JsonContent(ref="#/components/schemas/Error"),
|
|
||||||
* ),
|
|
||||||
* )
|
|
||||||
* @param ReconfirmUserRequest $request
|
* @param ReconfirmUserRequest $request
|
||||||
* @param User $user
|
* @param User $user
|
||||||
* @return \Illuminate\Http\JsonResponse
|
* @return \Illuminate\Http\JsonResponse
|
||||||
*/
|
*/
|
||||||
public function reconfirm(ReconfirmUserRequest $request, User $user)
|
public function reconfirm(ReconfirmUserRequest $request, User $user)
|
||||||
{
|
{
|
||||||
$user->service()->invite($user->company());
|
/** @var \App\Models\User $logged_in_user */
|
||||||
|
$logged_in_user = auth()->user();
|
||||||
|
|
||||||
|
$user->service()->invite($logged_in_user->company());
|
||||||
|
|
||||||
return response()->json(['message' => ctrans('texts.confirmation_resent')], 200);
|
return response()->json(['message' => ctrans('texts.confirmation_resent')], 200);
|
||||||
}
|
}
|
||||||
|
@ -14,8 +14,6 @@ namespace Tests\Feature;
|
|||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use Tests\TestCase;
|
use Tests\TestCase;
|
||||||
use App\Models\Client;
|
use App\Models\Client;
|
||||||
use App\Models\Invoice;
|
|
||||||
use App\Models\Payment;
|
|
||||||
use Tests\MockAccountData;
|
use Tests\MockAccountData;
|
||||||
use App\Factory\InvoiceFactory;
|
use App\Factory\InvoiceFactory;
|
||||||
use App\Utils\Traits\MakesHash;
|
use App\Utils\Traits\MakesHash;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user