. */ declare(strict_types=1); namespace FireflyIII\Api\V2\Controllers\UserGroup; use FireflyIII\Api\V2\Controllers\Controller; use FireflyIII\Api\V2\Request\UserGroup\StoreRequest; use FireflyIII\Repositories\UserGroup\UserGroupRepositoryInterface; use FireflyIII\Transformers\V2\UserGroupTransformer; use Illuminate\Http\JsonResponse; /** * Class StoreController */ class StoreController extends Controller { private UserGroupRepositoryInterface $repository; /** * */ public function __construct() { parent::__construct(); $this->middleware( function ($request, $next) { $this->repository = app(UserGroupRepositoryInterface::class); return $next($request); } ); } /** * @param StoreRequest $request * * @return JsonResponse */ public function store(StoreRequest $request): JsonResponse { $all = $request->getAll(); $userGroup = $this->repository->store($all); $transformer = new UserGroupTransformer(); $transformer->setParameters($this->parameters); return response() ->api($this->jsonApiObject('user-groups', $userGroup, $transformer)) ->header('Content-Type', self::CONTENT_TYPE); } }