models

package
v0.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 6, 2022 License: GPL-3.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

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"`
	IsAdmin     bool      `validate:"-" bun:",notnull"`
	IsMod       bool      `validate:"-" bun:",notnull"`
}

Account represents a federated social account.

func (*Account) GetActorURI

func (a *Account) GetActorURI() (actorURI string)

GetActorURI returns the account's actor uri.

func (*Account) GetDisplayName

func (a *Account) GetDisplayName() (displayName string)

GetDisplayName returns the account's display name.

func (*Account) GetID

func (a *Account) GetID() (accountID int64)

GetID returns the account's database id.

func (*Account) GetInstance

func (a *Account) GetInstance() (instance fedihelper.Instance)

GetInstance returns the instance of the account.

func (*Account) GetLastFinger

func (a *Account) GetLastFinger() (lastFinger time.Time)

GetLastFinger returns the time of the last finger.

func (*Account) GetUsername

func (a *Account) GetUsername() (username string)

GetUsername returns the account's username.

func (*Account) SetActorURI

func (a *Account) SetActorURI(actorURI string)

SetActorURI sets the account's actor uri.

func (*Account) SetDisplayName

func (a *Account) SetDisplayName(displayName string)

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

func (a *Account) SetLastFinger(lastFinger time.Time)

SetLastFinger sets the time of the last finger.

func (*Account) SetUsername

func (a *Account) SetUsername(username string)

SetUsername sets the account's username.

type AccountConfigMap added in v0.2.0

type AccountConfigMap map[int64]ConfigMap

type Block

type Block struct {
	ID                  int64     `validate:"-" bun:",pk,autoincrement,nullzero,notnull,unique" json:"-"`
	CreatedAt           time.Time `validate:"-" bun:",nullzero,notnull,default:current_timestamp" json:"-"`
	UpdatedAt           time.Time `validate:"-" bun:",nullzero,notnull,default:current_timestamp" json:"-"`
	MarkedForDeletionOn time.Time `validate:"-" bun:",nullzero" json:"-"`
	Domain              string    `validate:"required,fqdn" bun:",nullzero,notnull,unique" json:"domain"`
	ObfuscatedDomain    string    `validate:"-" bun:",nullzero" json:"obfuscated_domain,omitempty"`
	BlockSubdomains     bool      `validate:"-" bun:",notnull" json:"block_subdomains"`
}

Block represents a block of a domain

func (*Block) IsPunycode added in v0.2.1

func (b *Block) IsPunycode() bool

IsPunycode returns true if the domain is a punycode domain.

func (*Block) UnicodeDomain added in v0.2.1

func (b *Block) UnicodeDomain() string

UnicodeDomain returns a unicode representation of the domain.

type Change

type Change int
const (
	ChangeAdd Change = iota
	ChangeDelete
	ChangeUpdate
)

type Config

type Config 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"`
	Key         ConfigKey `validate:"-" bun:",unique,nullzero,notnull"`
	Value       string    `validate:"-" bun:",nullzero"`
	IsEncrypted bool      `validate:"-" bun:",notnull"`
	AccountID   int64     `validate:"-" bun:",nullzero"`
	Account     *Account  `validate:"-" bun:"rel:belongs-to,join:account_id=id"`
}

Config represents a federated social account.

func (*Config) GetValue

func (c *Config) GetValue() (string, error)

func (*Config) GetValueBool added in v0.2.0

func (c *Config) GetValueBool() (bool, error)

func (*Config) GetValueInt

func (c *Config) GetValueInt() (int, error)

func (*Config) SetValue

func (c *Config) SetValue(value string, encrypt bool) error

func (*Config) SetValueBool added in v0.2.0

func (c *Config) SetValueBool(value bool, encrypt bool) error

func (*Config) SetValueInt

func (c *Config) SetValueInt(value int, encrypt bool) error

type ConfigChange

type ConfigChange struct {
	Change Change
	Config *Config
}

type ConfigKey

type ConfigKey string
const (
	ConfigHomeBody            ConfigKey = `home.body`
	ConfigTelegramEnabled     ConfigKey = `telegram.enabled`
	ConfigTelegramToken       ConfigKey = `telegram.token`
	ConfigUserTelegramEnabled ConfigKey = `user.telegram.enabled`
	ConfigUserTelegramChatID  ConfigKey = `user.telegram.chat_id`
)

func (ConfigKey) String

func (k ConfigKey) String() string

type ConfigMap

type ConfigMap map[ConfigKey]*Config

type Error

type Error struct {
	// contains filtered or unexported fields
}

Error represents a logic specific error.

func NewError

func NewError(m string) *Error

NewError wraps a message in an Error object.

func NewErrorf

func NewErrorf(m string, args ...interface{}) *Error

NewErrorf wraps a message in an Error object.

func (*Error) Error

func (e *Error) Error() string

Error returns the error message as a string.

type EventType added in v0.2.0

type EventType string
const (
	EventInstanceFollow   EventType = "instance_follow"
	EventInstanceUnfollow EventType = "instance_unfollow"
)

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"`
	IsFollowing       bool           `validate:"-" bun:",notnull"`
	OAuthClientID     string         `validate:"-" bun:",nullzero"`
	OAuthClientSecret string         `validate:"-" bun:",nullzero"`
	BlockID           int64          `validate:"-" bun:",nullzero"`
	Block             *Block         `validate:"-" bun:"rel:belongs-to"`
}

Instance represents a federated social instance

func (*Instance) GetActorURI

func (i *Instance) GetActorURI() (actorURI string)

func (*Instance) GetDomain

func (i *Instance) GetDomain() (domain string)

func (*Instance) GetID

func (i *Instance) GetID() (instanceID int64)

func (*Instance) GetOAuthClientID

func (i *Instance) GetOAuthClientID() (clientID string)

func (*Instance) GetOAuthClientSecret

func (i *Instance) GetOAuthClientSecret() (string, error)

GetOAuthClientSecret returns unencrypted client secret.

func (*Instance) GetPrivateKey

func (i *Instance) GetPrivateKey() (*rsa.PrivateKey, error)

GetPrivateKey returns unencrypted client secret.

func (*Instance) GetServerHostname

func (i *Instance) GetServerHostname() (hostname string)

func (*Instance) GetSoftware

func (i *Instance) GetSoftware() (software string)

func (*Instance) IsPunycode added in v0.2.1

func (i *Instance) IsPunycode() bool

IsPunycode returns true if the domain is a punycode domain.

func (*Instance) PublicKeyPEM

func (i *Instance) PublicKeyPEM() (string, error)

PublicKeyPEM returns a PEM string from the public key.

func (*Instance) SetActorURI

func (i *Instance) SetActorURI(actorURI string)

func (*Instance) SetDomain

func (i *Instance) SetDomain(domain string)

func (*Instance) SetInboxURI

func (i *Instance) SetInboxURI(inboxURI string)

func (*Instance) SetOAuthClientID

func (i *Instance) SetOAuthClientID(clientID string)

func (*Instance) SetOAuthClientSecret

func (i *Instance) SetOAuthClientSecret(clientSecret string) error

SetOAuthClientSecret sets encrypted client secret.

func (*Instance) SetPrivateKey

func (i *Instance) SetPrivateKey(key *rsa.PrivateKey) error

SetPrivateKey sets encrypted client secret.

func (*Instance) SetServerHostname

func (i *Instance) SetServerHostname(hostname string)

func (*Instance) SetSoftware

func (i *Instance) SetSoftware(software string)

func (*Instance) UnicodeDomain added in v0.2.1

func (i *Instance) UnicodeDomain() string

UnicodeDomain returns a unicode representation of the domain.

type NotificationService added in v0.2.0

type NotificationService string
const (
	ServiceTelegram NotificationService = "telegram"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL