public function addAction(Request $request, Application $app) { if (!$request->request->has('name')) { return $app->json('Missing required parameter: name', 400); } if (!$request->request->has('short_biography')) { return $app->json('Missing required parameter: short_biography', 400); } $user = new User(); $user->setName($request->request->get('name')); $user->setShortBiography($request->request->get('short_biography')); $user->setBiography($request->request->get('biography')); $user->setSoundCloudUrl($request->request->get('soundcloud_url')); $app['repository.user']->save($user); $headers = array('Location' => '/api/user/' . $user->getId()); return $app->json('Created', 201, $headers); }
/** * Instantiates a user entity and sets its properties using db data. * * @param array $userData * The array of db data. * * @return \Swim\Entity\User */ protected function buildUser($userData) { $address = $this->addressRepository->findByUser($userData['user_id']); $user = new User(); $user->setUserId($userData['user_id']); $user->setUsername($userData['username']); $user->setSalt($userData['salt']); $user->setPassword($userData['password']); $user->setRole($userData['role']); $user->setFirstName($userData['firstname']); $user->setLastName($userData['lastname']); $user->setSpouseFirstName($userData['spouse_firstname']); $user->setSpouseLastName($userData['spouse_lastname']); $user->setMobile($userData['mobile']); $user->setHome($userData['home']); $user->setEmail($userData['email']); $user->setAddress($address); $createdAt = new \DateTime('@' . $userData['created_at']); $user->setCreatedAt($createdAt); return $user; }