Updated API to v0.0.8

This commit is contained in:
diamondburned (Forefront) 2020-05-22 19:44:50 -07:00
parent ddd646da32
commit 45333c71c2
5 changed files with 41 additions and 32 deletions

View File

@ -13,7 +13,7 @@ import (
)
type Channel struct {
session *Service
session *Session
id uint32
name string
done chan struct{}
@ -90,7 +90,7 @@ func (ch *Channel) CompleteMessage(words []string, i int) []string {
return words
}
func generateChannels(s *Service, amount int) []cchat.Server {
func generateChannels(s *Session, amount int) []cchat.Server {
var channels = make([]cchat.Server, amount)
for i := range channels {
channels[i] = &Channel{

2
go.mod
View File

@ -4,5 +4,5 @@ go 1.14
require (
github.com/Pallinder/go-randomdata v1.2.0
github.com/diamondburned/cchat v0.0.7
github.com/diamondburned/cchat v0.0.8
)

2
go.sum
View File

@ -14,4 +14,6 @@ github.com/diamondburned/cchat v0.0.6 h1:lSIgbxT7C8uSka0wqLl/5kc/8rgsYDfZGxaU346
github.com/diamondburned/cchat v0.0.6/go.mod h1:+zXktogE45A0om4fT6B/z6Ii7FXNafjxsNspI0rlhbU=
github.com/diamondburned/cchat v0.0.7 h1:y5zbEoD6L8YHuN/yclqjokF0lPkRj5tYWOuJe0bBldI=
github.com/diamondburned/cchat v0.0.7/go.mod h1:+zXktogE45A0om4fT6B/z6Ii7FXNafjxsNspI0rlhbU=
github.com/diamondburned/cchat v0.0.8 h1:/PmI23SFHJcjYBWNBwQbp36n7fDvDu+NMnQuhM5FM2E=
github.com/diamondburned/cchat v0.0.8/go.mod h1:+zXktogE45A0om4fT6B/z6Ii7FXNafjxsNspI0rlhbU=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=

View File

@ -10,7 +10,7 @@ import (
)
type Server struct {
session *Service
session *Session
id uint32
name string
children []cchat.Server
@ -34,11 +34,11 @@ func (sv *Server) Servers(container cchat.ServersContainer) error {
return nil
}
func GenerateServers(s *Service) []cchat.Server {
func GenerateServers(s *Session) []cchat.Server {
return generateServers(s, rand.Intn(45))
}
func generateServers(s *Service, amount int) []cchat.Server {
func generateServers(s *Session, amount int) []cchat.Server {
var channels = make([]cchat.Server, amount)
for i := range channels {
channels[i] = &Server{

View File

@ -6,44 +6,34 @@ import (
"strconv"
"github.com/diamondburned/cchat"
"github.com/diamondburned/cchat/services"
)
type Service struct {
username string
servers []cchat.Server
lastid uint32
func init() {
services.RegisterService(&Service{})
}
type Service struct{}
var (
_ cchat.Service = (*Service)(nil)
_ cchat.Authenticator = (*Service)(nil)
_ cchat.Configurator = (*Service)(nil)
_ cchat.Service = (*Service)(nil)
_ cchat.Configurator = (*Service)(nil)
)
func NewService() cchat.Service {
return &Service{}
func (s Service) Name() string {
return "Mock"
}
func (s *Service) AuthenticateForm() []cchat.AuthenticateEntry {
func (s Service) AuthenticateForm() []cchat.AuthenticateEntry {
return []cchat.AuthenticateEntry{{
Name: "Username",
}}
}
func (s *Service) Authenticate(form []string) error {
s.username = form[0]
s.servers = GenerateServers(s)
return nil
}
func (s *Service) Name() string {
return "Mock backend"
}
func (s *Service) Servers(container cchat.ServersContainer) error {
container.SetServers(s.servers)
return nil
func (s Service) Authenticate(form []string) (cchat.Session, error) {
ses := &Session{username: form[0]}
ses.servers = GenerateServers(ses)
return ses, nil
}
var (
@ -54,7 +44,7 @@ var (
internetMaxLatency = 2500
)
func (s *Service) Configuration() (map[string]string, error) {
func (s Service) Configuration() (map[string]string, error) {
return map[string]string{
"internet.canFail": strconv.FormatBool(internetCanFail),
"internet.minLatency": strconv.Itoa(internetMinLatency),
@ -62,7 +52,7 @@ func (s *Service) Configuration() (map[string]string, error) {
}, nil
}
func (s *Service) SetConfiguration(config map[string]string) error {
func (s Service) SetConfiguration(config map[string]string) error {
for _, err := range []error{
// shit code, would not recommend. It's only an ok-ish idea here because
// unmarshalConfig() returns ErrInvalidConfigAtField.
@ -85,3 +75,20 @@ func unmarshalConfig(config map[string]string, key string, value interface{}) er
}
return nil
}
type Session struct {
username string
servers []cchat.Server
lastid uint32
}
var _ cchat.Session = (*Session)(nil)
func (s *Session) Name() (string, error) {
return s.username, nil
}
func (s *Session) Servers(container cchat.ServersContainer) error {
container.SetServers(s.servers)
return nil
}