package server import ( "net" "go.rctt.net/solec/core" ) type User struct { Name string Conns map[net.Conn]struct{} } func NewUser(conn net.Conn, auth core.Auth) User { u := User{ Name: auth.Name, Conns: make(map[net.Conn]struct{}), } u.Conns[conn] = struct{}{} return u } func (u *User) Send(payload core.Wrapper) error { for c := range u.Conns { if err := core.Send(c, payload); err != nil { return err } } return nil } func (u *User) Auth(pass string) error { // TODO: Implement auth if pass != "valid" { return core.ErrAuthInvalidPassword } return nil }