package com.juick.api.controllers; import com.juick.User; import com.juick.server.helpers.TagStats; import com.juick.service.TagService; import com.juick.service.UserService; import com.juick.util.UserUtils; import org.springframework.http.MediaType; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import javax.inject.Inject; import java.security.Principal; import java.util.List; /** * Created by vitalyster on 29.11.2016. */ @Controller @ResponseBody public class Tags { @Inject UserService userService; @Inject TagService tagService; @RequestMapping(value = "/tags", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public List tags( Principal principal, @RequestParam(required = false, defaultValue = "0") int user_id ) { String name = UserUtils.getUsername(principal, null); User visitor = userService.getUserByName(name); if (user_id == 0) { user_id = visitor.getUid(); } if (user_id > 0) { return tagService.getUserTagStats(user_id); } return tagService.getTagStats(); } }