Changeset 0.19.1 (#83)
This commit is contained in:
@@ -85,6 +85,18 @@ func (s *ProjectStore) Update(ctx context.Context, id string, patch models.Proje
|
||||
if patch.IsArchived != nil {
|
||||
add("is_archived", boolToInt(*patch.IsArchived))
|
||||
}
|
||||
if len(patch.Settings) > 0 {
|
||||
// Merge: read existing settings, overlay with patch values, write back.
|
||||
var existing models.JSONMap
|
||||
_ = DB.QueryRowContext(ctx, "SELECT settings FROM projects WHERE id = ?", id).Scan(&existing)
|
||||
if existing == nil {
|
||||
existing = make(models.JSONMap)
|
||||
}
|
||||
for k, v := range patch.Settings {
|
||||
existing[k] = v
|
||||
}
|
||||
add("settings", ToJSON(existing))
|
||||
}
|
||||
if len(sets) == 0 {
|
||||
return nil
|
||||
}
|
||||
@@ -277,10 +289,12 @@ func (s *ProjectStore) RemoveKB(ctx context.Context, projectID, kbID string) err
|
||||
|
||||
func (s *ProjectStore) ListKBs(ctx context.Context, projectID string) ([]models.ProjectKB, error) {
|
||||
rows, err := DB.QueryContext(ctx, `
|
||||
SELECT project_id, kb_id, auto_search, added_at
|
||||
FROM project_knowledge_bases
|
||||
WHERE project_id = ?
|
||||
ORDER BY added_at`, projectID)
|
||||
SELECT pk.project_id, pk.kb_id, pk.auto_search, pk.added_at,
|
||||
COALESCE(kb.name, '') AS name
|
||||
FROM project_knowledge_bases pk
|
||||
LEFT JOIN knowledge_bases kb ON kb.id = pk.kb_id
|
||||
WHERE pk.project_id = ?
|
||||
ORDER BY pk.added_at`, projectID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -290,7 +304,7 @@ func (s *ProjectStore) ListKBs(ctx context.Context, projectID string) ([]models.
|
||||
for rows.Next() {
|
||||
var pkb models.ProjectKB
|
||||
var autoSearch int
|
||||
if err := rows.Scan(&pkb.ProjectID, &pkb.KBID, &autoSearch, &pkb.AddedAt); err != nil {
|
||||
if err := rows.Scan(&pkb.ProjectID, &pkb.KBID, &autoSearch, &pkb.AddedAt, &pkb.Name); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
pkb.AutoSearch = autoSearch != 0
|
||||
@@ -344,10 +358,12 @@ func (s *ProjectStore) RemoveNote(ctx context.Context, projectID, noteID string)
|
||||
|
||||
func (s *ProjectStore) ListNotes(ctx context.Context, projectID string) ([]models.ProjectNote, error) {
|
||||
rows, err := DB.QueryContext(ctx, `
|
||||
SELECT project_id, note_id, added_at
|
||||
FROM project_notes
|
||||
WHERE project_id = ?
|
||||
ORDER BY added_at`, projectID)
|
||||
SELECT pn.project_id, pn.note_id, pn.added_at,
|
||||
COALESCE(n.title, '') AS title
|
||||
FROM project_notes pn
|
||||
LEFT JOIN notes n ON n.id = pn.note_id
|
||||
WHERE pn.project_id = ?
|
||||
ORDER BY pn.added_at`, projectID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -356,7 +372,7 @@ func (s *ProjectStore) ListNotes(ctx context.Context, projectID string) ([]model
|
||||
var result []models.ProjectNote
|
||||
for rows.Next() {
|
||||
var pn models.ProjectNote
|
||||
if err := rows.Scan(&pn.ProjectID, &pn.NoteID, &pn.AddedAt); err != nil {
|
||||
if err := rows.Scan(&pn.ProjectID, &pn.NoteID, &pn.AddedAt, &pn.Title); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
result = append(result, pn)
|
||||
|
||||
Reference in New Issue
Block a user