tsk-59: Added code to get MessageEventResponse
This commit is contained in:
@@ -11,6 +11,7 @@ import (
|
||||
|
||||
type MessageEventResponseStore interface {
|
||||
Create(ctx context.Context, mer *message.MessageEventResponse) error
|
||||
GetWithUserId(ctx context.Context, userId uuid.UUID) ([]*message.MessageEventResponse, error)
|
||||
}
|
||||
|
||||
type PGMessageEventResponseStore struct {
|
||||
@@ -34,3 +35,27 @@ func (m *PGMessageEventResponseStore) Create(ctx context.Context, mer *message.M
|
||||
return m.db.QueryRow(ctx, query, mer.ScheduledMessageEventId, mer.Response, mer.UserId, mer.Sent, mer.ContactId, mer.MessageId).Scan(&mer.Id)
|
||||
}
|
||||
}
|
||||
|
||||
func (m *PGMessageEventResponseStore) GetWithUserId(ctx context.Context, userId uuid.UUID) ([]*message.MessageEventResponse, error) {
|
||||
query := "SELECT id, scheduled_message_event_id, response, user_id, sent, contact_id, message_id FROM message_event_responses WHERE user_id = $1"
|
||||
rows, err := m.db.Query(ctx, query)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Error querying: %w", err)
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
var sentMessages []*message.MessageEventResponse
|
||||
for rows.Next() {
|
||||
var msg message.MessageEventResponse
|
||||
if err := rows.Scan(&msg.Id, &msg.ScheduledMessageEventId, &msg.Response, &msg.UserId, &msg.Sent, &msg.ContactId, &msg.MessageId,); err != nil {
|
||||
return nil, fmt.Errorf("Scanning row: %w", err)
|
||||
}
|
||||
sentMessages = append(sentMessages, &msg)
|
||||
}
|
||||
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, fmt.Errorf("Iterating message_event_responses: %w", err)
|
||||
}
|
||||
|
||||
return sentMessages, nil
|
||||
}
|
||||
|
||||
@@ -60,3 +60,5 @@ func (m *MockMessageEventResponseStore) Create(ctx context.Context, mer *message
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Add code to get mock MessageEventResponse
|
||||
|
||||
Reference in New Issue
Block a user