Files
schedtxt_api/internal/store/scheduled_message_store.go
T
phoenixandphoenix 44e00684cc tsk-20: Add event to scheduled message (#23)
Closes #20

Reviewed-on: phoenix/textsender-api#23
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-11-10 16:25:34 +00:00

34 lines
835 B
Go

package store
import (
"context"
"github.com/jackc/pgx/v5/pgxpool"
"git.kundeng.us/phoenix/textsender-models/pkg/message/scheduling"
)
type ScheduledMessageStore interface {
CreateScheduledMessage(ctx context.Context, schedMsg *scheduling.ScheduledMessage) error
}
type PGScheduledMessageStore struct {
db *pgxpool.Pool
}
func NewScheduledMessageStore(db *pgxpool.Pool) *PGScheduledMessageStore {
return &PGScheduledMessageStore{db: db}
}
func (s *PGScheduledMessageStore) CreateScheduledMessage(ctx context.Context, schedMsg *scheduling.ScheduledMessage) error {
query := `
INSERT INTO scheduled_messages (scheduled, status, user_id)
VALUES ($1, $2, $3)
RETURNING id, created
`
return s.db.QueryRow(ctx, query, schedMsg.Scheduled, schedMsg.Status, schedMsg.UserId).Scan(
&schedMsg.Id, &schedMsg.Created,
)
}