memory leak
This commit is contained in:
35
database/psql/ai.go
Normal file
35
database/psql/ai.go
Normal file
@@ -0,0 +1,35 @@
|
||||
package psql
|
||||
|
||||
import (
|
||||
"git.nix13.pw/scuroneko/laniakea"
|
||||
"github.com/vinovest/sqlx"
|
||||
)
|
||||
|
||||
type AIModel struct {
|
||||
ID string
|
||||
Key string
|
||||
Name string
|
||||
ContextSize int `db:"context_size"`
|
||||
}
|
||||
|
||||
type AIRepository struct {
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
func newAiRepository(db *sqlx.DB) *AIRepository {
|
||||
return &AIRepository{db}
|
||||
}
|
||||
func NewAIRepository(db *laniakea.DatabaseContext) *AIRepository {
|
||||
return newAiRepository(db.PostgresSQL)
|
||||
}
|
||||
|
||||
func (rep *AIRepository) GetModel(id string) (*AIModel, error) {
|
||||
model := new(AIModel)
|
||||
err := rep.db.Get(model, "SELECT * FROM ai_models WHERE id=$1;", id)
|
||||
return model, err
|
||||
}
|
||||
func (rep *AIRepository) GetAllModels() ([]*AIModel, error) {
|
||||
models := make([]*AIModel, 0)
|
||||
err := rep.db.Select(&models, "SELECT * FROM ai_models ORDER BY id;")
|
||||
return models, err
|
||||
}
|
||||
@@ -21,12 +21,6 @@ type RPScenario struct {
|
||||
Description string
|
||||
Prompt string
|
||||
}
|
||||
type RPModel struct {
|
||||
ID string
|
||||
Key string
|
||||
Name string
|
||||
ContextSize int `db:"context_size"`
|
||||
}
|
||||
type RPSetting struct {
|
||||
ID int
|
||||
Name string
|
||||
@@ -41,7 +35,7 @@ type RPUser struct {
|
||||
SelectedPreset string `db:"selected_preset"`
|
||||
Preset *RPPreset
|
||||
SelectedModel string `db:"selected_model"`
|
||||
Model *RPModel
|
||||
Model *AIModel
|
||||
|
||||
CompressMethod string `db:"compress_method"`
|
||||
CompressLimit int `db:"compress_limit"`
|
||||
@@ -72,7 +66,8 @@ func (rep *RPRepository) CreateUser(id int64) (*RPUser, error) {
|
||||
if err != nil {
|
||||
return user, err
|
||||
}
|
||||
user.Model, err = rep.GetModel(user.SelectedModel)
|
||||
aiRep := newAiRepository(rep.db)
|
||||
user.Model, err = aiRep.GetModel(user.SelectedModel)
|
||||
return user, err
|
||||
}
|
||||
func (rep *RPRepository) GetUser(id int64) (*RPUser, error) {
|
||||
@@ -85,7 +80,8 @@ func (rep *RPRepository) GetUser(id int64) (*RPUser, error) {
|
||||
if err != nil {
|
||||
return user, err
|
||||
}
|
||||
user.Model, err = rep.GetModel(user.SelectedModel)
|
||||
aiRep := newAiRepository(rep.db)
|
||||
user.Model, err = aiRep.GetModel(user.SelectedModel)
|
||||
return user, err
|
||||
}
|
||||
func (rep *RPRepository) UpdateUser(user *RPUser) error {
|
||||
@@ -133,17 +129,6 @@ func (rep *RPRepository) GetScenario(id int) (*RPScenario, error) {
|
||||
return scenario, err
|
||||
}
|
||||
|
||||
func (rep *RPRepository) GetModel(id string) (*RPModel, error) {
|
||||
model := new(RPModel)
|
||||
err := rep.db.Get(model, "SELECT * FROM rp_models WHERE id=$1;", id)
|
||||
return model, err
|
||||
}
|
||||
func (rep *RPRepository) GetAllModels() ([]*RPModel, error) {
|
||||
models := make([]*RPModel, 0)
|
||||
err := rep.db.Select(&models, "SELECT * FROM rp_models ORDER BY id;")
|
||||
return models, err
|
||||
}
|
||||
|
||||
func (rep *RPRepository) GetAllSettings() ([]*RPSetting, error) {
|
||||
settings := make([]*RPSetting, 0)
|
||||
err := rep.db.Select(&settings, "SELECT * FROM rp_settings ORDER BY id;")
|
||||
|
||||
Reference in New Issue
Block a user