fix device fetch returning duplicate results if overlapping tags are supplied.
This commit is contained in:
@@ -296,8 +296,13 @@ func (r *DeviceRepo) populate(ctx context.Context, records []deviceRecord) ([]mo
|
||||
return nil, dbErr(err)
|
||||
}
|
||||
|
||||
hasAdded := make(map[int]bool, len(records))
|
||||
devices := make([]models.Device, 0, len(records))
|
||||
for _, record := range records {
|
||||
if hasAdded[record.ID] {
|
||||
continue
|
||||
}
|
||||
|
||||
device := models.Device{
|
||||
ID: record.ID,
|
||||
BridgeID: record.BridgeID,
|
||||
@@ -361,6 +366,7 @@ func (r *DeviceRepo) populate(ctx context.Context, records []deviceRecord) ([]mo
|
||||
}
|
||||
}
|
||||
|
||||
hasAdded[record.ID] = true
|
||||
devices = append(devices, device)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user