public function store(UserCreateRequest $request)
{
$data = $request->all();
$this->validator->with($data)->passesOrFail(ValidatorInterface::RULE_CREATE);
// encrypt password
$data['password'] = bcrypt($data['password']);
$user = $this->repository->create($data);
// throw exception if store failed
// throw new StoreResourceFailedException('Failed to store.');
// A. return 201 created
// return $this->response->created(null);
// B. return data
return $user;
}