Skip to content

Commit

Permalink
Merge pull request #41 from NicolasConstant/develop
Browse files Browse the repository at this point in the history
0.4.0 PR
  • Loading branch information
NicolasConstant authored Jan 11, 2021
2 parents 6b511e9 + 7ccd619 commit 670c88a
Show file tree
Hide file tree
Showing 5 changed files with 53 additions and 22 deletions.
1 change: 1 addition & 0 deletions src/BirdsiteLive.ActivityPub/Models/Actor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,6 @@ public class Actor
public Image icon { get; set; }
public Image image { get; set; }
public EndPoints endpoints { get; set; }
public UserAttachment[] attachment { get; set; }
}
}
9 changes: 9 additions & 0 deletions src/BirdsiteLive.ActivityPub/Models/UserAttachment.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
namespace BirdsiteLive.ActivityPub
{
public class UserAttachment
{
public string type { get; set; }
public string name { get; set; }
public string value { get; set; }
}
}
9 changes: 9 additions & 0 deletions src/BirdsiteLive.Domain/UserService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,15 @@ public Actor GetUser(TwitterUser twitterUser)
mediaType = "image/jpeg",
url = twitterUser.ProfileBannerURL
},
attachment = new []
{
new UserAttachment
{
type = "PropertyValue",
name = "Official",
value = $"<a href=\"https://twitter.com/{acct}\" rel=\"me nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">twitter.com/{acct}</span></a>"
}
},
endpoints = new EndPoints
{
sharedInbox = $"https://{_instanceSettings.Domain}/inbox"
Expand Down
2 changes: 1 addition & 1 deletion src/BirdsiteLive/BirdsiteLive.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<TargetFramework>netcoreapp3.1</TargetFramework>
<UserSecretsId>d21486de-a812-47eb-a419-05682bb68856</UserSecretsId>
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
<Version>0.3.3</Version>
<Version>0.4.0</Version>
</PropertyGroup>

<ItemGroup>
Expand Down
54 changes: 33 additions & 21 deletions src/BirdsiteLive/Controllers/UsersController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,25 +39,33 @@ public UsersController(ITwitterService twitterService, IUserService userService,
[Route("/users")]
public IActionResult Index()
{
var r = Request.Headers["Accept"].First();
if (r.Contains("application/activity+json")) return NotFound();
var acceptHeaders = Request.Headers["Accept"];
if (acceptHeaders.Any())
{
var r = acceptHeaders.First();
if (r.Contains("application/activity+json")) return NotFound();
}
return View("UserNotFound");
}

[Route("/@{id}")]
[Route("/users/{id}")]
public IActionResult Index(string id)
{
id = id.Trim(new[] {' ', '@'}).ToLowerInvariant();
id = id.Trim(new[] { ' ', '@' }).ToLowerInvariant();
var user = _twitterService.GetUser(id);

var r = Request.Headers["Accept"].First();
if (r.Contains("application/activity+json"))
var acceptHeaders = Request.Headers["Accept"];
if (acceptHeaders.Any())
{
if (user == null) return NotFound();
var apUser = _userService.GetUser(user);
var jsonApUser = JsonConvert.SerializeObject(apUser);
return Content(jsonApUser, "application/activity+json; charset=utf-8");
var r = acceptHeaders.First();
if (r.Contains("application/activity+json"))
{
if (user == null) return NotFound();
var apUser = _userService.GetUser(user);
var jsonApUser = JsonConvert.SerializeObject(apUser);
return Content(jsonApUser, "application/activity+json; charset=utf-8");
}
}

if (user == null) return View("UserNotFound");
Expand All @@ -79,22 +87,26 @@ public IActionResult Index(string id)
[Route("/users/{id}/statuses/{statusId}")]
public IActionResult Tweet(string id, string statusId)
{
var r = Request.Headers["Accept"].First();
if (r.Contains("application/activity+json"))
var acceptHeaders = Request.Headers["Accept"];
if (acceptHeaders.Any())
{
if (!long.TryParse(statusId, out var parsedStatusId))
return NotFound();
var r = acceptHeaders.First();
if (r.Contains("application/activity+json"))
{
if (!long.TryParse(statusId, out var parsedStatusId))
return NotFound();

var tweet = _twitterService.GetTweet(parsedStatusId);
if (tweet == null)
return NotFound();
var tweet = _twitterService.GetTweet(parsedStatusId);
if (tweet == null)
return NotFound();

//var user = _twitterService.GetUser(id);
//if (user == null) return NotFound();
//var user = _twitterService.GetUser(id);
//if (user == null) return NotFound();

var status = _statusService.GetStatus(id, tweet);
var jsonApUser = JsonConvert.SerializeObject(status);
return Content(jsonApUser, "application/activity+json; charset=utf-8");
var status = _statusService.GetStatus(id, tweet);
var jsonApUser = JsonConvert.SerializeObject(status);
return Content(jsonApUser, "application/activity+json; charset=utf-8");
}
}

return View("Tweet", statusId);
Expand Down

0 comments on commit 670c88a

Please sign in to comment.