models

package
v0.3.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	LogEntryTypeInstanceJoin       LogEntryType = "INSTANCE_JOIN"
	LogEntryTypeInstanceJoinString string       = "Instance %s joined."
)
View Source
const (
	LogEntryTypeInstanceLeft       LogEntryType = "INSTANCE_LEFT"
	LogEntryTypeInstanceLeftString string       = "Instance %s left."
)

Variables

View Source
var LogEntryTypeBlockCreateString = []string{
	"Domain %s was blocked.",
	"Domain %s and it's subdomains were blocked.",
}
View Source
var LogEntryTypeBlockDeleteString = []string{
	"Domain %s was unblocked.",
	"Domain %s and it's subdomains were unblocked.",
}
View Source
var LogEntryTypeBlockUpdateString = []string{
	"Domain %s block was updated, %s.",
	"the field %s was changed from '%s' to '%s'",
}

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.

func (*Account) String added in v0.3.0

func (a *Account) String() string

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 LogEntry added in v0.3.0

type LogEntry struct {
	ID        int64        `validate:"-" bun:"id,pk,autoincrement"`
	CreatedAt time.Time    `validate:"-" bun:",nullzero,notnull,default:current_timestamp"`
	Type      LogEntryType `validate:"-" bun:",nullzero,notnull"`
	MetaData  string       `validate:"-" bun:",nullzero,notnull"`
}

LogEntry represents a event log entry.

func (*LogEntry) GetMetaData added in v0.3.0

func (l *LogEntry) GetMetaData(metadata LogEntryMetaData) error

func (*LogEntry) SetMetaData added in v0.3.0

func (l *LogEntry) SetMetaData(metadata LogEntryMetaData) error

func (*LogEntry) String added in v0.3.0

func (l *LogEntry) String() string

type LogEntryBlockCreate added in v0.3.0

type LogEntryBlockCreate struct {
	Account         string `json:"account"`
	Domain          string `json:"domain"`
	BlockSubdomains bool   `json:"subdomains"`
}

func (*LogEntryBlockCreate) FromJSON added in v0.3.0

func (t *LogEntryBlockCreate) FromJSON(metadata string) error

func (*LogEntryBlockCreate) String added in v0.3.0

func (t *LogEntryBlockCreate) String() string

func (*LogEntryBlockCreate) ToJSON added in v0.3.0

func (t *LogEntryBlockCreate) ToJSON() (metadata string, err error)

type LogEntryBlockDelete added in v0.3.0

type LogEntryBlockDelete struct {
	Account         string `json:"account"`
	Domain          string `json:"domain"`
	BlockSubdomains bool   `json:"subdomains"`
}

func (*LogEntryBlockDelete) FromJSON added in v0.3.0

func (t *LogEntryBlockDelete) FromJSON(metadata string) error

func (*LogEntryBlockDelete) String added in v0.3.0

func (t *LogEntryBlockDelete) String() string

func (*LogEntryBlockDelete) ToJSON added in v0.3.0

func (t *LogEntryBlockDelete) ToJSON() (metadata string, err error)

type LogEntryBlockUpdate added in v0.3.0

type LogEntryBlockUpdate struct {
	Account string                      `json:"account"`
	Domain  string                      `json:"domain"`
	Change  []LogEntryBlockUpdateChange `json:"changes"`
}

func (*LogEntryBlockUpdate) FromJSON added in v0.3.0

func (t *LogEntryBlockUpdate) FromJSON(metadata string) error

func (*LogEntryBlockUpdate) String added in v0.3.0

func (t *LogEntryBlockUpdate) String() string

func (*LogEntryBlockUpdate) ToJSON added in v0.3.0

func (t *LogEntryBlockUpdate) ToJSON() (metadata string, err error)

type LogEntryBlockUpdateChange added in v0.3.0

type LogEntryBlockUpdateChange struct {
	Field string `json:"field"`
	Old   string `json:"old"`
	New   string `json:"new"`
}

type LogEntryInstanceJoin added in v0.3.0

type LogEntryInstanceJoin struct {
	Domain string `json:"domain"`
}

func (*LogEntryInstanceJoin) FromJSON added in v0.3.0

func (t *LogEntryInstanceJoin) FromJSON(metadata string) error

func (*LogEntryInstanceJoin) String added in v0.3.0

func (t *LogEntryInstanceJoin) String() string

func (*LogEntryInstanceJoin) ToJSON added in v0.3.0

func (t *LogEntryInstanceJoin) ToJSON() (metadata string, err error)

type LogEntryInstanceLeft added in v0.3.0

type LogEntryInstanceLeft struct {
	Domain string `json:"domain"`
}

func (*LogEntryInstanceLeft) FromJSON added in v0.3.0

func (t *LogEntryInstanceLeft) FromJSON(metadata string) error

func (*LogEntryInstanceLeft) String added in v0.3.0

func (t *LogEntryInstanceLeft) String() string

func (*LogEntryInstanceLeft) ToJSON added in v0.3.0

func (t *LogEntryInstanceLeft) ToJSON() (metadata string, err error)

type LogEntryMetaData added in v0.3.0

type LogEntryMetaData interface {
	String() string
	ToJSON() (string, error)
	FromJSON(string) error
}

type LogEntryType added in v0.3.0

type LogEntryType string
const LogEntryTypeBlockCreate LogEntryType = "BLOCK_CREATE"
const LogEntryTypeBlockDelete LogEntryType = "BLOCK_DELETE"
const LogEntryTypeBlockUpdate LogEntryType = "BLOCK_UPDATE"

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