WEB - ADD COMMENTS ON ISSUES

This commit is contained in:
Ine Maria Nilssen Aanonsen
2026-02-20 11:25:08 +01:00
parent 890c57dd74
commit bb059ad8d8
10 changed files with 1145 additions and 25 deletions

View File

@@ -3,6 +3,7 @@ package service
import (
"context"
"fmt"
"time"
"github.com/LazyBachelor/LazyPM/internal/models"
@@ -51,3 +52,51 @@ func (s *BeadsService) DeleteIssues() error {
}
return nil
}
func (s *BeadsService) GetComments(ctx context.Context, issueID string) ([]models.Comment, error) {
query := `SELECT id, issue_id, author, text, created_at FROM comments WHERE issue_id = ? ORDER BY created_at ASC`
rows, err := s.UnderlyingDB().QueryContext(ctx, query, issueID)
if err != nil {
return nil, err
}
defer rows.Close()
var comments []models.Comment
for rows.Next() {
var c models.Comment
if err := rows.Scan(&c.ID, &c.IssueID, &c.Author, &c.Text, &c.CreatedAt); err != nil {
return nil, err
}
comments = append(comments, c)
}
if err := rows.Err(); err != nil {
return nil, err
}
return comments, nil
}
func (s *BeadsService) AddComment(ctx context.Context, issueID, author, text string) (*models.Comment, error) {
query := `INSERT INTO comments (issue_id, author, text, created_at) VALUES (?, ?, ?, ?)`
createdAt := time.Now()
result, err := s.UnderlyingDB().ExecContext(ctx, query, issueID, author, text, createdAt)
if err != nil {
return nil, err
}
id, err := result.LastInsertId()
if err != nil {
return nil, err
}
return &models.Comment{
ID: id,
IssueID: issueID,
Author: author,
Text: text,
CreatedAt: createdAt,
}, nil
}