database

package module
v0.0.0-...-1673907 Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2020 License: MIT Imports: 12 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Setup

func Setup(builder component.Builder)

Setup configures package services

Types

type AccessKey

type AccessKey struct {
	ID        int    `gorm:"column:id;auto_increment;primary_key"`
	Label     string `gorm:"column:label;type:varchar(256)"`
	ProjectID string `gorm:"column:project_id;type:varchar(128);foreignkey"`
	Key       string `gorm:"column:key;type:varchar(1024);unique_index"`
}

AccessKey contains information about project's access key

func (*AccessKey) CopyFromModel

func (p *AccessKey) CopyFromModel(m *model.AccessKey)

CopyFromModel copies model data to entity

func (*AccessKey) CopyToModel

func (p *AccessKey) CopyToModel(m *model.AccessKey)

CopyToModel copies entity data to model

func (AccessKey) TableName

func (AccessKey) TableName() string

TableName returns database table name

type Backup

type Backup struct {
	ID              string           `gorm:"column:id;type:varchar(128);primary_key"`
	ProjectID       string           `gorm:"column:project_id;type:varchar(128);foreignkey"`
	FileName        string           `gorm:"column:filename;type:varchar(256)"`
	StorageFilePath string           `gorm:"column:storage_path;type:varchar(256);unique_index"`
	Time            time.Time        `gorm:"column:time"`
	Type            model.BackupType `gorm:"column:type"`
	Length          int64            `gorm:"column:length";default:-1`
}

Backup contains information about project's backup

func (*Backup) CopyFromModel

func (p *Backup) CopyFromModel(m *model.Backup)

CopyFromModel copies model data to entity

func (*Backup) CopyToModel

func (p *Backup) CopyToModel(m *model.Backup)

CopyToModel copies entity data to model

func (Backup) TableName

func (Backup) TableName() string

TableName returns database table name

func (*Backup) ToModel

func (p *Backup) ToModel() *model.Backup

ToModel creates new model and copies entity data to it

type Project

type Project struct {
	ID                  string             `gorm:"column:id;type:varchar(64);primary_key"`
	Name                string             `gorm:"column:name;type:varchar(256)"`
	BackupRetention     int                `gorm:"column:backup_retention"`
	BackupFrequency     int                `gorm:"column:backup_frequency"`
	IsActive            bool               `gorm:"column:is_active"`
	EnableNotifications bool               `gorm:"column:enable_notifications"`
	LastNotification    *time.Time         `gorm:"column:last_notified"`
	SlackUsers          string             `gorm:"column:notify_slack;type:varchar(256)"`
	TelegramUsers       string             `gorm:"column:notify_telegram;type:varchar(256)"`
	Webhooks            string             `gorm:"column:notify_webhook;type:varchar(1024)"`
	BackupStatus        model.BackupStatus `gorm:"column:backup_status"`
	Backups             []*Backup          `gorm:"foreignkey:project_id"`
	AccessKeys          []*AccessKey       `gorm:"foreignkey:project_id"`
}

Project contains information about project

func (*Project) CopyFromModel

func (p *Project) CopyFromModel(m *model.Project)

CopyFromModel copies model data to entity

func (*Project) CopyToModel

func (p *Project) CopyToModel(m *model.Project)

CopyToModel copies entity data to model

func (Project) TableName

func (Project) TableName() string

TableName returns database table name

func (*Project) ToModel

func (p *Project) ToModel() *model.Project

ToModel creates new model and copies entity data to it

type Provider

type Provider interface {
	// Open database connection
	Open() (*gorm.DB, error)
}

Provider provides a database context

func GetProvider

func GetProvider(c di.Container) Provider

GetProvider returns an implementation of Provider from DI container

type User

type User struct {
	ID           int    `gorm:"column:id;auto_increment;primary_key"`
	UserName     string `gorm:"column:username;unique_index"`
	PasswordHash string `gorm:"column:password"`
}

User contains information about application user

func (*User) CopyFromModel

func (p *User) CopyFromModel(m *model.User)

CopyFromModel copies model data to entity

func (*User) CopyToModel

func (p *User) CopyToModel(m *model.User)

CopyToModel copies entity data to model

func (User) TableName

func (User) TableName() string

TableName returns database table name

Jump to

Keyboard shortcuts

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