init push
This commit is contained in:
41
backend/repo/pg/wechat.go
Normal file
41
backend/repo/pg/wechat.go
Normal file
@@ -0,0 +1,41 @@
|
||||
package pg
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/chaitin/panda-wiki/domain"
|
||||
"github.com/chaitin/panda-wiki/log"
|
||||
"github.com/chaitin/panda-wiki/store/pg"
|
||||
)
|
||||
|
||||
type WechatRepository struct {
|
||||
db *pg.DB
|
||||
logger *log.Logger
|
||||
}
|
||||
|
||||
func NewWechatRepository(db *pg.DB, logger *log.Logger) *WechatRepository {
|
||||
return &WechatRepository{db: db, logger: logger.WithModule("repo.pg.wechat")}
|
||||
}
|
||||
|
||||
func (r *WechatRepository) GetWechatStatic(ctx context.Context, kbID string, appType domain.AppType) (*domain.WechatStatic, error) {
|
||||
var wechatStatic domain.WechatStatic
|
||||
if err := r.db.WithContext(ctx).Model(&domain.App{}).
|
||||
Where("kb_id = ? AND type = ?", kbID, appType).
|
||||
Joins("join knowledge_bases kb on kb.id = kb_id ").
|
||||
Select("apps.settings ->>'icon' as image_path", "kb.access_settings ->>'base_url' as base_url").
|
||||
Find(&wechatStatic).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &wechatStatic, nil
|
||||
}
|
||||
|
||||
func (r *WechatRepository) GetWechatBaseURL(ctx context.Context, kbID string) (string, error) {
|
||||
var baseUrl string
|
||||
if err := r.db.WithContext(ctx).Model(&domain.KnowledgeBase{}).
|
||||
Where("id = ?", kbID).
|
||||
Select("access_settings ->>'base_url'").
|
||||
First(&baseUrl).Error; err != nil {
|
||||
return "", err
|
||||
}
|
||||
return baseUrl, nil
|
||||
}
|
||||
Reference in New Issue
Block a user