package users import ( "errors" "github.com/google/uuid" ) type User struct { Name string `json:"name"` UUID uuid.UUID `json:"uuid"` } type VLESSUsers []User func (u VLESSUsers) Del(user string) VLESSUsers { var newU VLESSUsers = make(VLESSUsers, 0, len(u)) for _, v := range u { if v.Name != user { newU = append(newU, v) } } return newU } func (u VLESSUsers) checkInConfig(userName string) bool { for _, v := range u { if v.Name == userName { return true } } return false } func (u VLESSUsers) Add(userName string) (VLESSUsers, error) { if u.checkInConfig(userName) { return nil, errors.New("пользователь уже добавлен в конфиг") } newUUID, err := uuid.NewRandom() if err != nil { return nil, err } newUser := User{ Name: userName, UUID: newUUID, } return append(u, newUser), nil }