filegate/db/container.go

46 lines
1.1 KiB
Go

package db
// new creates a new and empty container
func (container *Container) New() (*Container, error) {
container = &Container{}
if err := conn.Create(container).Error; err != nil {
return container, err
}
return container, nil
}
// save saves the (modified) container
func (container *Container) Save() error {
container = &Container{}
if err := conn.Save(container).Error; err != nil {
return err
}
return nil
}
// delete deltes the Container
func (container *Container) Delete() error {
container = &Container{}
if err := conn.Delete(container).Error; err != nil {
return err
}
return nil
}
// ContainerByID gets the Container by its DB ID
func ContainerByID(id uint) *Container {
var container Container
conn.First(&container, id)
return &container
}
// ContainerByFolder retrieves the Container by its folder UUID
func ContainerByFolder(folder string) (*Container, error) {
var container Container
if err := conn.First(&container, folder).Error; err != nil {
return &container, err
}
return &container, nil
}