コード例 #1
0
 /**
  * @param User $user
  * @param EmbedBag $includes
  * @return array
  */
 private function getIncludes(User $user, EmbedBag $includes)
 {
     $embed = ['badges' => []];
     if ($includes->has('badges')) {
         foreach ($user->getBadges() as $userBadge) {
             $embed['badges'][] = $this->badgeTransformer->transform($userBadge->getBadge(), new EmbedBag());
         }
     } else {
         foreach ($user->getBadges() as $userBadge) {
             $embed['badges'][] = $userBadge->getBadge()->getId();
         }
     }
     return ['_embed' => $embed];
 }
コード例 #2
0
 /**
  * @ApiDoc(
  *   description = "Badges list of a given user (scope: public)",
  *   section = "User - Public data",
  *   parameters={
  *      { "name"="login", "dataType"="string", "required"=true, "description"="User login" }
  *   }
  * )
  *
  * @Route("/public/users/{login}/badges", name="api_public_users_badges")
  * @Method("GET")
  */
 public function badgesAction(User $user)
 {
     $badges = [];
     foreach ($user->getBadges() as $userBadge) {
         $badges[] = $userBadge->getBadge();
     }
     return $this->format(['data' => $this->get('etu.api.badge.transformer')->transform($badges)]);
 }