46 lines
1.1 KiB
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
|
|
}
|