예제 #1
0
 /**
  * Create.
  *
  * @Rest\RequestParam(name = "name", requirements = {
  *  @Assert\NotBlank(message="Name is required"),
  *  @Assert\Length(max=50, minMessage="Maximum length of name is 50 characters")
  * })
  * @Rest\Security("is_fully_authenticated() & has_role('ROLE_API_USER') & is_granted('CREATE', 'BackBee\\Security\\Group')")
  */
 public function postAction(Request $request)
 {
     $group = new Group();
     $site = $this->getSite($request);
     if ($this->isDuplicated($request->request->get('name'), $site)) {
         return new JsonResponse(['errors' => ['name' => 'Group already exists.']], 400);
     }
     $group->setName($request->request->get('name'));
     $group->setSite($site);
     $group = $this->deserializeEntity($request->request->all(), $group);
     $this->getEntityManager()->persist($group);
     $this->getEntityManager()->flush();
     return new Response($this->formatItem($group), 200, ['Content-Type' => 'application/json']);
 }