init push

This commit is contained in:
2026-05-21 19:52:45 +08:00
commit e3f75311ab
1280 changed files with 179173 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
package pg
import (
"context"
"encoding/json"
"errors"
"github.com/chaitin/panda-wiki/domain"
"github.com/chaitin/panda-wiki/log"
"github.com/chaitin/panda-wiki/store/pg"
"gorm.io/gorm"
)
type BlockWordRepo struct {
db *pg.DB
logger *log.Logger
}
type BlockWords struct {
Words []string
}
func NewBlockWordRepo(db *pg.DB, logger *log.Logger) *BlockWordRepo {
return &BlockWordRepo{
db: db,
logger: logger,
}
}
func (r *BlockWordRepo) GetBlockWords(ctx context.Context, kbID string) ([]string, error) {
var setting domain.Setting
var words BlockWords
err := r.db.WithContext(ctx).Table("settings").
Where("kb_id = ? AND key = ?", kbID, domain.SettingBlockWords).
First(&setting).Error
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, nil
}
return nil, err
}
if err := json.Unmarshal(setting.Value, &words); err != nil {
return nil, err
}
return words.Words, nil
}