| package admin | |
| import "sort" | |
| func normalizeInt64IDList(ids []int64) []int64 { | |
| if len(ids) == 0 { | |
| return nil | |
| } | |
| out := make([]int64, 0, len(ids)) | |
| seen := make(map[int64]struct{}, len(ids)) | |
| for _, id := range ids { | |
| if id <= 0 { | |
| continue | |
| } | |
| if _, ok := seen[id]; ok { | |
| continue | |
| } | |
| seen[id] = struct{}{} | |
| out = append(out, id) | |
| } | |
| sort.Slice(out, func(i, j int) bool { return out[i] < out[j] }) | |
| return out | |
| } | |