node build fixed
This commit is contained in:
50
seanime-2.9.10/internal/database/db/mal.go
Normal file
50
seanime-2.9.10/internal/database/db/mal.go
Normal file
@@ -0,0 +1,50 @@
|
||||
package db
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"gorm.io/gorm"
|
||||
"gorm.io/gorm/clause"
|
||||
"seanime/internal/database/models"
|
||||
)
|
||||
|
||||
func (db *Database) GetMalInfo() (*models.Mal, error) {
|
||||
// Get the first entry
|
||||
var res models.Mal
|
||||
err := db.gormdb.First(&res, 1).Error
|
||||
if err != nil && errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
return nil, errors.New("MAL not connected")
|
||||
} else if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &res, nil
|
||||
}
|
||||
|
||||
func (db *Database) UpsertMalInfo(info *models.Mal) (*models.Mal, error) {
|
||||
err := db.gormdb.Clauses(clause.OnConflict{
|
||||
Columns: []clause.Column{{Name: "id"}},
|
||||
UpdateAll: true,
|
||||
}).Create(info).Error
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return info, nil
|
||||
}
|
||||
|
||||
func (db *Database) InsertMalInfo(info *models.Mal) (*models.Mal, error) {
|
||||
err := db.gormdb.Create(info).Error
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return info, nil
|
||||
}
|
||||
|
||||
func (db *Database) DeleteMalInfo() error {
|
||||
err := db.gormdb.Delete(&models.Mal{}, 1).Error
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user