util/sets.go: Use generics Sets

This commit is contained in:
2022-03-30 01:00:50 +02:00
parent f670c78337
commit 6d4c742d4c
4 changed files with 22 additions and 24 deletions
+5 -5
View File
@@ -32,8 +32,8 @@ const (
// User represents a user in the database.
type User struct {
ID string `json:"id"`
Permissions util.StringSet `json:"permissions"`
ID string `json:"id"`
Permissions util.Set[string] `json:"permissions"`
// passwordSaltHash string
}
@@ -122,7 +122,7 @@ type Database interface {
GetRoomOccupiedSeats(roomID string) ([]string, error)
GetRoomFreeSeats(roomID string) ([]string, error)
GetUserSeats(userID string) (util.StringSet, error)
GetUserSeats(userID string) (util.Set[string], error)
OccupySeat(seatID, userID string) error
FreeSeat(seatID string) error
@@ -161,12 +161,12 @@ func NewInMemoryStore() Database {
db.users["aziis98"] = &User{
ID: "aziis98",
Permissions: util.NewStringSet(PermissionAdmin),
Permissions: util.NewSet[string](PermissionAdmin),
}
db.users["bachoseven"] = &User{
ID: "bachoseven",
Permissions: util.NewStringSet(PermissionAdmin),
Permissions: util.NewSet[string](PermissionAdmin),
}
return db
+3 -3
View File
@@ -146,14 +146,14 @@ func (db *memDB) GetRoomFreeSeats(roomID string) ([]string, error) {
return seats, nil
}
func (db *memDB) GetUserSeats(userID string) (util.StringSet, error) {
func (db *memDB) GetUserSeats(userID string) (util.Set[string], error) {
for _, seat := range db.seats {
if len(seat.OccupiedBy) > 0 && seat.OccupiedBy[0] == userID {
return util.NewStringSet(seat.ID), nil
return util.NewSet[string](seat.ID), nil
}
}
return util.NewStringSet(), nil
return util.NewSet[string](), nil
}
func (db *memDB) OccupySeat(seatID, userID string) error {