Files
orbits/internal/server/database/functions.go
T
2026-04-29 23:38:43 +02:00

96 lines
1.6 KiB
Go

package database
import (
"gorm.io/gorm"
)
/*
State functions
*/
func LatestCommand(db *gorm.DB) (Command, error) {
var state Command
err := db.Last(&state).Error
return state, err
}
/*
Key functions
*/
func CountKeys(db *gorm.DB) (int64, error) {
var count int64
err := db.Model(&AccessKey{}).Count(&count).Error
return count, err
}
func ListKeys(db *gorm.DB) ([]AccessKey, error) {
var keys []AccessKey
err := db.Find(&keys).Error
return keys, err
}
func FindKeyByKeyID(db *gorm.DB, name string) (AccessKey, error) {
var key AccessKey
err := db.Where("key_id = ?", name).First(&key).Error
return key, err
}
func CreateKey(db *gorm.DB, k *AccessKey) error {
return db.Create(&k).Error
}
func DeleteKeyByID(db *gorm.DB, id int) error {
res := db.Delete(&AccessKey{}, id)
if res.Error != nil {
return res.Error
}
if res.RowsAffected == 0 {
return gorm.ErrRecordNotFound
}
return nil
}
/*
File functions
*/
func CountFiles(db *gorm.DB) (int64, error) {
var count int64
err := db.Model(&File{}).Count(&count).Error
return count, err
}
func ListFiles(db *gorm.DB) ([]File, error) {
var files []File
err := db.Find(&files).Error
return files, err
}
func FindFileByFileID(db *gorm.DB, name string) (File, error) {
var file File
err := db.Where("file_id = ?", name).First(&file).Error
return file, err
}
func CreateFile(db *gorm.DB, f *File) error {
return db.Create(&f).Error
}
func DeleteFileByID(db *gorm.DB, id int) error {
res := db.Delete(&File{}, id)
if res.Error != nil {
return res.Error
}
if res.RowsAffected == 0 {
return gorm.ErrRecordNotFound
}
return nil
}