summaryrefslogtreecommitdiff
path: root/internal/gtsmodel/account.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/gtsmodel/account.go')
-rw-r--r--internal/gtsmodel/account.go15
1 files changed, 13 insertions, 2 deletions
diff --git a/internal/gtsmodel/account.go b/internal/gtsmodel/account.go
index 79a35e561..bb07b8b16 100644
--- a/internal/gtsmodel/account.go
+++ b/internal/gtsmodel/account.go
@@ -31,7 +31,8 @@ import (
"github.com/superseriousbusiness/gotosocial/internal/log"
)
-// Account represents either a local or a remote fediverse account, gotosocial or otherwise (mastodon, pleroma, etc).
+// Account represents either a local or a remote fediverse
+// account, gotosocial or otherwise (mastodon, pleroma, etc).
type Account struct {
ID string `bun:"type:CHAR(26),pk,nullzero,notnull,unique"` // id of this item in the database
CreatedAt time.Time `bun:"type:timestamptz,nullzero,notnull,default:current_timestamp"` // when was item created.
@@ -83,9 +84,19 @@ type Account struct {
Stats *AccountStats `bun:"-"` // gtsmodel.AccountStats for this account.
}
+// UsernameDomain returns account @username@domain (missing domain if local).
+func (a *Account) UsernameDomain() string {
+ if a.IsLocal() {
+ return "@" + a.Username
+ }
+ return "@" + a.Username + "@" + a.Domain
+}
+
// IsLocal returns whether account is a local user account.
func (a *Account) IsLocal() bool {
- return a.Domain == "" || a.Domain == config.GetHost() || a.Domain == config.GetAccountDomain()
+ return a.Domain == "" ||
+ a.Domain == config.GetHost() ||
+ a.Domain == config.GetAccountDomain()
}
// IsRemote returns whether account is a remote user account.