Enha: journal repo [wip]
This commit is contained in:
@ -3,10 +3,33 @@ package repos
|
||||
import (
|
||||
"context"
|
||||
"gralias/models"
|
||||
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
type JournalRepo interface {
|
||||
JournalByRoomID(ctx context.Context, roomID string) ([]models.Journal, error)
|
||||
JournalCreate(ctx context.Context, action *models.Journal) error
|
||||
JournalCreate(ctx context.Context, j *models.Journal) error
|
||||
JournalDeleteByRoomID(ctx context.Context, roomID string) error
|
||||
}
|
||||
|
||||
func (p *RepoProvider) JournalByRoomID(ctx context.Context, roomID string) ([]models.Journal, error) {
|
||||
journals := []models.Journal{}
|
||||
err := sqlx.SelectContext(ctx, p.DB, &journals, `SELECT id, created_at, entry, username, room_id FROM journal WHERE room_id = ? ORDER BY created_at ASC`, roomID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return journals, nil
|
||||
}
|
||||
|
||||
func (p *RepoProvider) JournalCreate(ctx context.Context, j *models.Journal) error {
|
||||
db := getDB(ctx, p.DB)
|
||||
_, err := db.ExecContext(ctx, `INSERT INTO journal (entry, username, room_id) VALUES (?, ?, ?)`, j.Entry, j.Username, j.RoomID)
|
||||
return err
|
||||
}
|
||||
|
||||
func (p *RepoProvider) JournalDeleteByRoomID(ctx context.Context, roomID string) error {
|
||||
db := getDB(ctx, p.DB)
|
||||
_, err := db.ExecContext(ctx, `DELETE FROM journal WHERE room_id = ?`, roomID)
|
||||
return err
|
||||
}
|
||||
|
Reference in New Issue
Block a user