Skip to content

Commit

Permalink
[fix] Fix bugs with slice element removal
Browse files Browse the repository at this point in the history
  • Loading branch information
kennhung committed Sep 28, 2019
1 parent f4b5916 commit ec8e73c
Showing 1 changed file with 13 additions and 20 deletions.
33 changes: 13 additions & 20 deletions models/meeting.go
Original file line number Diff line number Diff line change
Expand Up @@ -199,18 +199,14 @@ func (database *Database) GetMeetingsByUserId(userId string) ([]Meeting, error)
return nil, err
}

for index, meet := range meetings {
//TODO fix remove element of array will make index wrong
if !meet.CheckUserParticipate(userId) {
if index+1 < len(meetings) {
copy(meetings[index:], meetings[index+1:])
meetings = meetings[:len(meetings)-1]
} else {
meetings = meetings[:len(meetings)-1]
}
var out []Meeting

for _, meet := range meetings {
if meet.CheckUserParticipate(userId) {
out = append(out, meet)
}
}
return meetings, nil
return out, nil
}

func (database *Database) GetOngoingMeetingsByUserId(userId string) ([]Meeting, error) {
Expand All @@ -219,22 +215,19 @@ func (database *Database) GetOngoingMeetingsByUserId(userId string) ([]Meeting,
return nil, err
}

for index, meet := range meetings {
if !meet.CheckinStarted() || meet.MeetingFinished() {
if index+1 < len(meetings) {
copy(meetings[index:], meetings[index+1:])
meetings = meetings[:len(meetings)-1]
} else {
meetings = meetings[:len(meetings)-1]
}
var out []Meeting

for _, meet := range meetings {
if meet.CheckinStarted() && !meet.MeetingFinished() {
out = append(out, meet)
}
}

if len(meetings) == 0 {
if len(out) == 0 {
return nil, nil
}

return meetings, nil
return out, nil
}

func (database *Database) GetLastOngoingMeetingsByUserId(userId string) (*Meeting, error) {
Expand Down

0 comments on commit ec8e73c

Please sign in to comment.