database

package
v0.0.0-...-33d731b Latest Latest
Warning

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

Go to latest
Published: May 4, 2017 License: AGPL-3.0 Imports: 14 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewIDGenerator

func NewIDGenerator(c *mgo.Collection) *idgenerator

NewIDGenerator starts a new goroutine, which generates new autoincrementing IDs. Do not generate multiple instances of this object!

func ReadPepper

func ReadPepper(path string)

Types

type ImageDBProvider

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

func NewImageDBProvider

func NewImageDBProvider(s *mgo.Session, dbname string) *ImageDBProvider

func (*ImageDBProvider) Create

func (p *ImageDBProvider) Create(data io.Reader, user, contentType string, obj uint64) (bson.ObjectId, error)

func (*ImageDBProvider) Delete

func (p *ImageDBProvider) Delete(obj bson.ObjectId) error

func (*ImageDBProvider) GetImageById

func (p *ImageDBProvider) GetImageById(obj bson.ObjectId) (*bytes.Buffer, string, error)

func (*ImageDBProvider) GetImageMetadataById

func (p *ImageDBProvider) GetImageMetadataById(obj bson.ObjectId) (*ImageMetadata, error)

func (*ImageDBProvider) Remove

func (p *ImageDBProvider) Remove(obj bson.ObjectId) error

type ImageMetadata

type ImageMetadata struct {
	ItmRef uint64
	User   string
}

type Item

type Item struct {
	ID          bson.ObjectId   `bson:"_id,omitempty" json:"-"`
	EID         uint64          `json:"Id"`
	Name        string          `bson:",omitempty"`
	Description string          `bson:",omitempty" description:"This string should be in Github Flavored Markdown"`
	Parent      uint64          `bson:",omitempty"`
	Owner       string          `bson:",omitempty"`
	Maintainer  string          `bson:",omitempty"`
	Usage       string          `bson:",omitempty"`
	Discard     string          `bson:",omitempty"`
	Images      []bson.ObjectId `bson:",omitempty"`
}

func (*Item) NewItemHistory

func (i *Item) NewItemHistory(it *Item, user string) *ItemHistory

type ItemDBProvider

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

func NewItemDBProvider

func NewItemDBProvider(s *mgo.Session, dbname string, img *ImageDBProvider) *ItemDBProvider

func (*ItemDBProvider) AddImage

func (p *ItemDBProvider) AddImage(id uint64, ref bson.ObjectId, user string) error

func (*ItemDBProvider) CheckItemExistance

func (p *ItemDBProvider) CheckItemExistance(itm *Item) bool

func (*ItemDBProvider) CreateItem

func (p *ItemDBProvider) CreateItem(itm *Item) (uint64, error)

func (*ItemDBProvider) DeleteItem

func (p *ItemDBProvider) DeleteItem(itm *Item, ih *ItemHistory) error

func (*ItemDBProvider) GetItemById

func (p *ItemDBProvider) GetItemById(id uint64) (Item, error)

func (*ItemDBProvider) GetItemLog

func (p *ItemDBProvider) GetItemLog(id uint64) ([]ItemHistory, error)

func (*ItemDBProvider) GetItemLogByUsername

func (p *ItemDBProvider) GetItemLogByUsername(name string) (*[]ItemHistory, error)

func (*ItemDBProvider) ListItem

func (p *ItemDBProvider) ListItem() ([]Item, error)

func (*ItemDBProvider) RemoveImage

func (p *ItemDBProvider) RemoveImage(id uint64, ref bson.ObjectId, user string) error

func (*ItemDBProvider) Stop

func (p *ItemDBProvider) Stop()

func (*ItemDBProvider) UpdateItem

func (p *ItemDBProvider) UpdateItem(itm *Item, ih *ItemHistory) error

type ItemHistory

type ItemHistory struct {
	ID        bson.ObjectId `bson:"_id,omitempty" json:"-"`
	Timestamp time.Time     `bson:"-" json:",omitempty"`
	User      string
	Item      map[string]interface{}
}

type Policy

type Policy struct {
	ID          bson.ObjectId `bson:"_id,omitempty" json:"-"`
	Name        string
	Description string
}

func (*Policy) NewPolicyHistory

func (p *Policy) NewPolicyHistory(po *Policy, user string) *PolicyHistory

type PolicyDBProvider

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

func NewPolicyDBProvider

func NewPolicyDBProvider(s *mgo.Session, dbname string) *PolicyDBProvider

func (*PolicyDBProvider) CheckPolicyExistance

func (p *PolicyDBProvider) CheckPolicyExistance(pol *Policy) bool

func (*PolicyDBProvider) CreatePolicy

func (p *PolicyDBProvider) CreatePolicy(pol *Policy) error

func (*PolicyDBProvider) DeletePolicy

func (p *PolicyDBProvider) DeletePolicy(pol *Policy, ph *PolicyHistory) error

func (*PolicyDBProvider) GetPolicyByName

func (p *PolicyDBProvider) GetPolicyByName(name string) (Policy, error)

func (*PolicyDBProvider) GetPolicyLog

func (p *PolicyDBProvider) GetPolicyLog(name string) ([]PolicyHistory, error)

func (*PolicyDBProvider) GetPolicyLogByUsername

func (p *PolicyDBProvider) GetPolicyLogByUsername(name string) (*[]PolicyHistory, error)

func (*PolicyDBProvider) ListPolicy

func (p *PolicyDBProvider) ListPolicy() ([]Policy, error)

func (*PolicyDBProvider) UpdatePolicy

func (p *PolicyDBProvider) UpdatePolicy(pol *Policy, ph *PolicyHistory) error

type PolicyHistory

type PolicyHistory struct {
	ID        bson.ObjectId `bson:"_id,omitempty" json:"-"`
	Timestamp time.Time     `bson:"-" json:",omitempty"`
	User      string
	Policy    map[string]interface{}
}

type Secret

type Secret struct {
	Password [sha512.Size]byte `json:"-"`
	Salt     [64]byte          `json:"-"`
}

func (*Secret) SetPassword

func (s *Secret) SetPassword(pw string) error

func (*Secret) VerifyPassword

func (s *Secret) VerifyPassword(pw string) bool

type User

type User struct {
	ID       bson.ObjectId `bson:"_id,omitempty" json:"-"`
	Name     string        `description:"The unique identifier of a user. Let your user know that they should choose it wisely"`
	EMail    string
	Password string `bson:"-" json:",omitempty" description:"Use this field to set a new password. This field will never occour in responses."`

	Secret Secret `json:"-"`
}

type UserActionHistory

type UserActionHistory struct {
	ItemChanges   []ItemHistory
	PolicyChanges []PolicyHistory
}

type UserDBProvider

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

func NewUserDBProvider

func NewUserDBProvider(s *mgo.Session, i *ItemDBProvider, p *PolicyDBProvider, dbname string) *UserDBProvider

func (*UserDBProvider) CheckUserExistance

func (p *UserDBProvider) CheckUserExistance(usr *User) bool

func (*UserDBProvider) CreateUser

func (p *UserDBProvider) CreateUser(usr *User) error

func (*UserDBProvider) DeleteUser

func (p *UserDBProvider) DeleteUser(name string) error

func (*UserDBProvider) GetUserByName

func (p *UserDBProvider) GetUserByName(name string) (User, error)

func (*UserDBProvider) GetUserLogByName

func (p *UserDBProvider) GetUserLogByName(name string) (*UserActionHistory, error)

func (*UserDBProvider) ListUser

func (p *UserDBProvider) ListUser() ([]User, error)

func (*UserDBProvider) UpdateUser

func (p *UserDBProvider) UpdateUser(usr *User) error

Jump to

Keyboard shortcuts

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