From 75504a81885db55a3f5f9041dcda6b9d2ef421b2 Mon Sep 17 00:00:00 2001 From: bt Date: Tue, 31 Mar 2026 09:01:29 +0200 Subject: [daemon] Better error handling --- server/user.go | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 server/user.go (limited to 'server/user.go') diff --git a/server/user.go b/server/user.go new file mode 100644 index 0000000..204fbbe --- /dev/null +++ b/server/user.go @@ -0,0 +1,42 @@ +package server + +import ( + "net" + + "git.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 +} -- cgit v1.2.3