Documentation ¶
Index ¶
- type Account
- func (a *Account) GetActorURI() (actorURI string)
- func (a *Account) GetDisplayName() (displayName string)
- func (a *Account) GetID() (accountID int64)
- func (a *Account) GetInstance() (instance fedihelper.Instance)
- func (a *Account) GetLastFinger() (lastFinger time.Time)
- func (a *Account) GetUsername() (username string)
- func (a *Account) InGroup(groups ...Group) bool
- func (a *Account) SetActorURI(actorURI string)
- func (a *Account) SetDisplayName(displayName string)
- func (a *Account) SetInstance(instanceI fedihelper.Instance)
- func (a *Account) SetLastFinger(lastFinger time.Time)
- func (a *Account) SetUsername(username string)
- func (a *Account) String() string
- type Group
- type GroupMembership
- type Instance
- func (i *Instance) GetActorURI() (actorURI string)
- func (i *Instance) GetDomain() (domain string)
- func (i *Instance) GetID() (instanceID int64)
- func (i *Instance) GetOAuthClientID() (clientID string)
- func (i *Instance) GetOAuthClientSecret() (string, error)
- func (i *Instance) GetPrivateKey() (*rsa.PrivateKey, error)
- func (i *Instance) GetS3SecretAccessKey() (string, error)
- func (i *Instance) GetServerHostname() (hostname string)
- func (i *Instance) GetSoftware() (software string)
- func (i *Instance) IsPunycode() bool
- func (i *Instance) PublicKeyPEM() (string, error)
- func (i *Instance) SetActorURI(actorURI string)
- func (i *Instance) SetDomain(domain string)
- func (i *Instance) SetInboxURI(inboxURI string)
- func (i *Instance) SetOAuthClientID(clientID string)
- func (i *Instance) SetOAuthClientSecret(clientSecret string) error
- func (i *Instance) SetPrivateKey(key *rsa.PrivateKey) error
- func (i *Instance) SetS3SecretAccessKey(clientSecret string) error
- func (i *Instance) SetServerHostname(hostname string)
- func (i *Instance) SetSoftware(software string)
- func (i *Instance) UnicodeDomain() string
- type InstanceTeam
- type InstanceTeamMember
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Account ¶
type Account struct { ID int64 `validate:"-" bun:"id,pk,autoincrement"` CreatedAt time.Time `validate:"-" bun:",nullzero,notnull,default:current_timestamp"` UpdatedAt time.Time `validate:"-" bun:",nullzero,notnull,default:current_timestamp"` ActorURI string `validate:"url" bun:",nullzero,notnull"` Username string `validate:"-" bun:",unique:unique_fedi_user,nullzero,notnull"` InstanceID int64 `validate:"-" bun:",unique:unique_fedi_user,nullzero,notnull"` Instance *Instance `validate:"-" bun:"rel:belongs-to,join:instance_id=id"` DisplayName string `validate:"-" bun:",nullzero"` LastFinger time.Time `validate:"-" bun:",notnull"` LogInCount int64 `validate:"-" bun:",notnull"` LogInLast time.Time `validate:"-" bun:",nullzero"` Groups []*GroupMembership `validate:"-" bun:"rel:has-many,join:id=account_id"` InstanceMemberships []*InstanceTeamMember `validate:"-" bun:"rel:has-many,join:id=account_id"` }
Account represents a federated social account.
func (*Account) GetActorURI ¶
GetActorURI returns the account's actor uri.
func (*Account) GetDisplayName ¶
GetDisplayName returns the account's display name.
func (*Account) GetInstance ¶
func (a *Account) GetInstance() (instance fedihelper.Instance)
GetInstance returns the instance of the account.
func (*Account) GetLastFinger ¶
GetLastFinger returns the time of the last finger.
func (*Account) GetUsername ¶
GetUsername returns the account's username.
func (*Account) SetActorURI ¶
SetActorURI sets the account's actor uri.
func (*Account) SetDisplayName ¶
SetDisplayName sets the account's display name.
func (*Account) SetInstance ¶
func (a *Account) SetInstance(instanceI fedihelper.Instance)
SetInstance sets the instance of the account.
func (*Account) SetLastFinger ¶
SetLastFinger sets the time of the last finger.
func (*Account) SetUsername ¶
SetUsername sets the account's username.
type GroupMembership ¶
type GroupMembership struct { ID int64 `validate:"-" bun:"id,pk,autoincrement"` CreatedAt time.Time `validate:"-" bun:",nullzero,notnull,default:current_timestamp"` AccountID int64 `validate:"min=1" bun:",unique:group_membership,notnull,nullzero"` Account *Account `validate:"-" bun:"rel:belongs-to,join:account_id=id"` Group Group `validate:"min=1" bun:",unique:group_membership,notnull,nullzero"` }
GroupMembership represents a user's membership in a group
type Instance ¶
type Instance struct { ID int64 `validate:"-" bun:",pk,autoincrement,nullzero,notnull,unique"` CreatedAt time.Time `validate:"-" bun:",nullzero,notnull,default:current_timestamp"` UpdatedAt time.Time `validate:"-" bun:",nullzero,notnull,default:current_timestamp"` Domain string `validate:"required,fqdn" bun:",nullzero,notnull,unique"` ServerHostname string `validate:"required,fqdn" bun:",nullzero,notnull,unique"` Software string `validate:"-" bun:",nullzero"` PublicKey *rsa.PublicKey `validate:"-"` PrivateKey string `validate:"-" bun:",nullzero"` ActorIRI string `validate:"required,url" bun:",nullzero,notnull,unique"` InboxIRI string `validate:"required,url" bun:",nullzero,notnull,unique"` OAuthClientID string `validate:"-" bun:",nullzero"` OAuthClientSecret string `validate:"-" bun:",nullzero"` Team InstanceTeam `validate:"-" bun:"rel:has-many,join:id=instance_id"` S3IsEnabled bool `validate:"-" bun:",notnull"` S3AccessKey string `validate:"-" bun:",nullzero"` S3SecretAccessKey string `validate:"-" bun:",nullzero"` S3KeyCreationDate time.Time `validate:"-" bun:",nullzero"` }
Instance represents a federated social instance
func (*Instance) GetActorURI ¶
func (*Instance) GetOAuthClientID ¶
func (*Instance) GetOAuthClientSecret ¶
GetOAuthClientSecret returns unencrypted client secret.
func (*Instance) GetPrivateKey ¶
func (i *Instance) GetPrivateKey() (*rsa.PrivateKey, error)
GetPrivateKey returns unencrypted client secret.
func (*Instance) GetS3SecretAccessKey ¶
GetS3SecretAccessKey returns unencrypted client secret.
func (*Instance) GetServerHostname ¶
func (*Instance) GetSoftware ¶
func (*Instance) IsPunycode ¶
IsPunycode returns true if the domain is a punycode domain.
func (*Instance) PublicKeyPEM ¶
PublicKeyPEM returns a PEM string from the public key.
func (*Instance) SetActorURI ¶
func (*Instance) SetInboxURI ¶
func (*Instance) SetOAuthClientID ¶
func (*Instance) SetOAuthClientSecret ¶
SetOAuthClientSecret sets encrypted client secret.
func (*Instance) SetPrivateKey ¶
func (i *Instance) SetPrivateKey(key *rsa.PrivateKey) error
SetPrivateKey sets encrypted client secret.
func (*Instance) SetS3SecretAccessKey ¶
SetS3SecretAccessKey sets encrypted client secret.
func (*Instance) SetServerHostname ¶
func (*Instance) SetSoftware ¶
func (*Instance) UnicodeDomain ¶
UnicodeDomain returns a unicode representation of the domain.
type InstanceTeam ¶
type InstanceTeam []*InstanceTeamMember
func (InstanceTeam) GetMember ¶
func (t InstanceTeam) GetMember(id int64) (*InstanceTeamMember, bool)
func (InstanceTeam) GetOwner ¶
func (t InstanceTeam) GetOwner() (*InstanceTeamMember, bool)
type InstanceTeamMember ¶
type InstanceTeamMember struct { ID int64 `validate:"-" bun:"id,pk,autoincrement"` CreatedAt time.Time `validate:"-" bun:",nullzero,notnull,default:current_timestamp"` UpdatedAt time.Time `validate:"-" bun:",nullzero,notnull,default:current_timestamp"` InstanceID int64 `validate:"min=1" bun:",unique:instance_team_membership,notnull,nullzero"` Instance *Instance `validate:"-" bun:"rel:belongs-to,join:instance_id=id"` AccountID int64 `validate:"min=1" bun:",unique:instance_team_membership,notnull,nullzero"` Account *Account `validate:"-" bun:"rel:belongs-to,join:account_id=id"` IsOwner bool `validate:"-" bun:",notnull"` }
InstanceTeamMember represents a membership in an instance's team