/** * 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']); }