From 846057f0d696fded87d105dec1245e9ba32763ce Mon Sep 17 00:00:00 2001 From: Tobi Smethurst <31960611+tsmethurst@users.noreply.github.com> Date: Sun, 11 Jul 2021 16:22:21 +0200 Subject: Block/unblock (#96) * remote + local block logic, incl. federation * improve blocking stuff * fiddle with display of blocked profiles * go fmt --- internal/typeutils/internaltofrontend.go | 33 ++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'internal/typeutils/internaltofrontend.go') diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go index 61c11b8ef..03e071981 100644 --- a/internal/typeutils/internaltofrontend.go +++ b/internal/typeutils/internaltofrontend.go @@ -150,6 +150,11 @@ func (c *converter) AccountToMastoPublic(a *gtsmodel.Account) (*model.Account, e acct = a.Username } + var suspended bool + if !a.SuspendedAt.IsZero() { + suspended = true + } + return &model.Account{ ID: a.ID, Username: a.Username, @@ -170,6 +175,34 @@ func (c *converter) AccountToMastoPublic(a *gtsmodel.Account) (*model.Account, e LastStatusAt: lastStatusAt, Emojis: emojis, // TODO: implement this Fields: fields, + Suspended: suspended, + }, nil +} + +func (c *converter) AccountToMastoBlocked(a *gtsmodel.Account) (*model.Account, error) { + var acct string + if a.Domain != "" { + // this is a remote user + acct = fmt.Sprintf("%s@%s", a.Username, a.Domain) + } else { + // this is a local user + acct = a.Username + } + + var suspended bool + if !a.SuspendedAt.IsZero() { + suspended = true + } + + return &model.Account{ + ID: a.ID, + Username: a.Username, + Acct: acct, + DisplayName: a.DisplayName, + Bot: a.Bot, + CreatedAt: a.CreatedAt.Format(time.RFC3339), + URL: a.URL, + Suspended: suspended, }, nil } -- cgit v1.2.3