models

package
v0.6.2 Latest Latest
Warning

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

Go to latest
Published: Aug 25, 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'",
}
View Source
var LogEntryTypeInstanceDeliveryPausedReasonString = map[LogEntryReason]string{
	LogEntryReasonDeliveryError: " due to delivery errors",
}
View Source
var LogEntryTypeInstanceDeliveryResumedReasonString = map[LogEntryReason]string{
	LogEntryReasonAdminIntervention: " manually",
	LogEntryReasonDeliveryReceived:  " because a delivery was received from it",
	LogEntryReasonUserIntervention:  " manually",
}

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:",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`
	ConfigRobotsAllowIndexing ConfigKey = `robots.allow-indexing`
	ConfigTelegramEnabled     ConfigKey = `telegram.enabled`
	ConfigTelegramToken       ConfigKey = `telegram.token`
	ConfigUserTelegramEnabled ConfigKey = `user.telegram.enabled`
	ConfigUserTelegramChatID  ConfigKey = `user.telegram.chat_id`
)

func (ConfigKey) DefaultValue added in v0.5.0

func (k ConfigKey) DefaultValue() string

func (ConfigKey) DefaultValueBool added in v0.5.0

func (k ConfigKey) DefaultValueBool() bool

func (ConfigKey) DefaultValueInt added in v0.5.0

func (k ConfigKey) DefaultValueInt() int

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"`
	IsPaused          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) String added in v0.6.1

func (i *Instance) String() string

String returns a unicode representation of the domain.

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 LogEntryInstanceDeliveryPaused added in v0.6.0

type LogEntryInstanceDeliveryPaused struct {
	Domain string         `json:"domain"`
	Reason LogEntryReason `json:"reason"`
}

func (*LogEntryInstanceDeliveryPaused) FromJSON added in v0.6.0

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

func (*LogEntryInstanceDeliveryPaused) String added in v0.6.0

func (*LogEntryInstanceDeliveryPaused) ToJSON added in v0.6.0

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

type LogEntryInstanceDeliveryResumed added in v0.6.0

type LogEntryInstanceDeliveryResumed struct {
	Account string         `json:"account,omitempty"`
	Domain  string         `json:"domain"`
	Reason  LogEntryReason `json:"reason"`
}

func (*LogEntryInstanceDeliveryResumed) FromJSON added in v0.6.0

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

func (*LogEntryInstanceDeliveryResumed) String added in v0.6.0

func (*LogEntryInstanceDeliveryResumed) ToJSON added in v0.6.0

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

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 LogEntryReason added in v0.6.0

type LogEntryReason string
const (
	LogEntryReasonAdminIntervention LogEntryReason = "ADMIN_INTERVENTION"
	LogEntryReasonDeliveryError     LogEntryReason = "DELIVERY_ERROR"
	LogEntryReasonDeliveryReceived  LogEntryReason = "DELIVERY_RECEIVED"
	LogEntryReasonUserIntervention  LogEntryReason = "USER_INTERVENTION"
)

type LogEntryType added in v0.3.0

type LogEntryType string
const (
	LogEntryTypeInstanceDeliveryPaused       LogEntryType = "INSTANCE_DELIVERY_PAUSED"
	LogEntryTypeInstanceDeliveryPausedString              = "Delivery to instance %s was paused%s."
)
const (
	LogEntryTypeInstanceDeliveryResumed       LogEntryType = "INSTANCE_DELIVERY_RESUMED"
	LogEntryTypeInstanceDeliveryResumedString              = "Delivery to instance %s was resumed%s."
)
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