database & CD bucket
This commit is contained in:
30
database/controller.go
Normal file
30
database/controller.go
Normal file
@ -0,0 +1,30 @@
|
||||
package database
|
||||
|
||||
import (
|
||||
"git.schreifuchs.ch/schreifuchs/warehouse/api"
|
||||
"git.schreifuchs.ch/schreifuchs/warehouse/model"
|
||||
)
|
||||
|
||||
func (db *DB) InsertBucket(bucket *model.Bucket) error {
|
||||
return db.conn.Create(bucket).Error
|
||||
}
|
||||
|
||||
func (db *DB) FindApiBuckets(limit, offset int) (buckets []api.Bucket, err error) {
|
||||
buckets = make([]api.Bucket, 0)
|
||||
err = db.conn.Model(&model.Bucket{}).Limit(limit).Offset(offset).Find(&buckets).Error
|
||||
return
|
||||
}
|
||||
|
||||
func (db *DB) FindBucketIdByName(name string) (id uint, err error) {
|
||||
b := &model.Bucket{}
|
||||
err = db.conn.Select("id").First(b).Error
|
||||
|
||||
return b.ID, err
|
||||
}
|
||||
|
||||
func (db *DB) DeleteBucket(id uint) error {
|
||||
return db.conn.Delete(&model.Bucket{}, id).Error
|
||||
}
|
||||
func (db *DB) DeleteBucketByName(name string) error {
|
||||
return db.conn.Delete(&model.Bucket{}).Where("name = ?", name).Error
|
||||
}
|
20
database/resource.go
Normal file
20
database/resource.go
Normal file
@ -0,0 +1,20 @@
|
||||
package database
|
||||
|
||||
import (
|
||||
"git.schreifuchs.ch/schreifuchs/warehouse/model"
|
||||
"gorm.io/driver/sqlite" // Sqlite driver based on CGO
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type DB struct {
|
||||
conn *gorm.DB
|
||||
}
|
||||
|
||||
func Init(file string) (*DB, error) {
|
||||
if db, err := gorm.Open(sqlite.Open(file), &gorm.Config{}); err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
db.AutoMigrate(&model.Bucket{}, &model.Object{})
|
||||
return &DB{conn: db}, nil
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user