tsk-27: Added endpoint to delete scheduled message event (#31)
Closes #27 Reviewed-on: phoenix/textsender-api#31 Co-authored-by: phoenix <kundeng00@pm.me> Co-committed-by: phoenix <kundeng00@pm.me>
This commit is contained in:
@@ -46,11 +46,54 @@ func (m *MockScheduledMessageEventStore) Get(ctx context.Context, id uuid.UUID)
|
||||
if _, exists := m.ScheduledMessageEvents[id]; exists {
|
||||
return m.ScheduledMessageEvents[id], nil
|
||||
} else {
|
||||
fmt.Println("Not found")
|
||||
return nil, fmt.Errorf("Not found")
|
||||
}
|
||||
}
|
||||
|
||||
func (m *MockScheduledMessageEventStore) Delete(ctx context.Context, id uuid.UUID) error {
|
||||
m.mu.Lock()
|
||||
defer m.mu.Unlock()
|
||||
|
||||
if m.Error != nil {
|
||||
return m.Error
|
||||
}
|
||||
|
||||
if id == uuid.Nil {
|
||||
return fmt.Errorf("Id is nil")
|
||||
}
|
||||
|
||||
if _, exists := m.ScheduledMessageEvents[id]; exists {
|
||||
originalAmount := len(m.ScheduledMessageEvents)
|
||||
copiedEvents := make(map[uuid.UUID]*scheduling.ScheduledMessageEvent)
|
||||
copiedEventsKey := make(map[ScheduledMessageEventKey]*scheduling.ScheduledMessageEvent)
|
||||
|
||||
for i, schMsgEvent := range m.ScheduledMessageEvents {
|
||||
key := ScheduledMessageEventKey{RecipientId: schMsgEvent.RecipientId, MessageId: schMsgEvent.MessageId, ScheduledMessageId: schMsgEvent.ScheduledMessageId}
|
||||
if schMsgEvent.Id != id {
|
||||
copiedEvents[i] = schMsgEvent
|
||||
copiedEventsKey[key] = schMsgEvent
|
||||
}
|
||||
}
|
||||
|
||||
if originalAmount > 1 {
|
||||
if len(copiedEvents) > 0 && len(copiedEventsKey) > 0 {
|
||||
m.ScheduledMessageEvents = copiedEvents
|
||||
m.ScheduledMessageEventsByKey = copiedEventsKey
|
||||
return nil
|
||||
} else {
|
||||
return fmt.Errorf("Not removed")
|
||||
}
|
||||
} else {
|
||||
m.ScheduledMessageEvents = make(map[uuid.UUID]*scheduling.ScheduledMessageEvent)
|
||||
m.ScheduledMessageEventsByKey = make(map[ScheduledMessageEventKey]*scheduling.ScheduledMessageEvent)
|
||||
|
||||
return nil
|
||||
}
|
||||
} else {
|
||||
return fmt.Errorf("Not found")
|
||||
}
|
||||
}
|
||||
|
||||
func (m *MockScheduledMessageEventStore) CreateScheduledMessageEvent(ctx context.Context, event *scheduling.ScheduledMessageEvent) error {
|
||||
m.mu.Lock()
|
||||
defer m.mu.Unlock()
|
||||
|
||||
Reference in New Issue
Block a user