diff options
Diffstat (limited to 'juick-server/src/main/java/com/juick/server/api/activity/Info.java')
-rw-r--r-- | juick-server/src/main/java/com/juick/server/api/activity/Info.java | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/juick-server/src/main/java/com/juick/server/api/activity/Info.java b/juick-server/src/main/java/com/juick/server/api/activity/Info.java new file mode 100644 index 00000000..4cff15c1 --- /dev/null +++ b/juick-server/src/main/java/com/juick/server/api/activity/Info.java @@ -0,0 +1,44 @@ +package com.juick.server.api.activity; + +import com.juick.User; +import com.juick.server.api.activity.model.ActivityObject; +import com.juick.server.api.activity.model.Person; +import com.juick.server.util.HttpNotFoundException; +import com.juick.service.UserService; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.util.UriComponentsBuilder; + +import javax.inject.Inject; + +@RestController +public class Info { + @Inject + private UserService userService; + @Value("${web_domain:localhost}") + private String domain; + @Value("${ap_base_uri:http://localhost:8080/}") + private String baseUri; + @Value("${img_url:http://localhost:8080/i/}") + private String baseImagesUri; + + @GetMapping(value = "/u/{userName}", produces = ActivityObject.CONTENT_TYPE) + public Person getUser(@PathVariable String userName) { + User user = userService.getUserByName(userName); + if (!user.isAnonymous()) { + Person person = new Person(); + UriComponentsBuilder builder = UriComponentsBuilder.fromUriString(baseUri); + builder.path(String.format("/u/%s", userName)); + person.setId(builder.toUriString()); + person.setName(userName); + person.setOutbox(builder.path(String.format("/u/%s/blog", userName)).toUriString()); + UriComponentsBuilder imgBuilder = UriComponentsBuilder.fromUriString(baseImagesUri); + imgBuilder.path(String.format("/a/%d.png", user.getUid())); + person.setIcon(imgBuilder.toUriString()); + return person; + } + throw new HttpNotFoundException(); + } +} |