Browse Source

Move more types into types.go and general cleanup

main
Sam 5 years ago
parent
commit
22f6125e36
  1. 37
      keybase.go
  2. 37
      types.go

37
keybase.go

@ -17,41 +17,6 @@ const ( @@ -17,41 +17,6 @@ const (
CHAT string = "chat"
)
// Keybase holds basic information about the local Keybase executable
type Keybase struct {
Path string
Username string
LoggedIn bool
Version string
}
// Chat holds basic information about a specific conversation
type Chat struct {
keybase *Keybase
Channel Channel
}
type chat interface {
Send(message ...string) (ChatAPI, error)
Edit(messageId int, message ...string) (ChatAPI, error)
React(messageId int, reaction string) (ChatAPI, error)
Delete(messageId int) (ChatAPI, error)
}
type keybase interface {
NewChat(channel Channel) Chat
Run(handler func(ChatAPI), options ...RunOptions)
ChatList() ([]conversation, error)
loggedIn() bool
username() string
version() string
}
type status struct {
Username string `json:"Username"`
LoggedIn bool `json:"LoggedIn"`
}
// NewKeybase returns a new Keybase. Optionally, you can pass a string containing the path to the Keybase executable as the first argument.
func NewKeybase(path ...string) *Keybase {
k := &Keybase{}
@ -62,7 +27,7 @@ func NewKeybase(path ...string) *Keybase { @@ -62,7 +27,7 @@ func NewKeybase(path ...string) *Keybase {
}
k.Version = k.version()
k.LoggedIn = k.loggedIn()
if k.LoggedIn == true {
if k.LoggedIn {
k.Username = k.username()
}
return k

37
types.go

@ -119,6 +119,8 @@ type msg struct { @@ -119,6 +119,8 @@ type msg struct {
HasPairwiseMacs bool `json:"has_pairwise_macs"`
ChannelMention string `json:"channel_mention"`
}
// Channel holds information about a conversation
type Channel struct {
Name string `json:"name"`
Public bool `json:"public,omitempty"`
@ -164,3 +166,38 @@ type conversation struct { @@ -164,3 +166,38 @@ type conversation struct {
ActiveAtMs int64 `json:"active_at_ms"`
MemberStatus string `json:"member_status"`
}
// Keybase holds basic information about the local Keybase executable
type Keybase struct {
Path string
Username string
LoggedIn bool
Version string
}
// Chat holds basic information about a specific conversation
type Chat struct {
keybase *Keybase
Channel Channel
}
type chat interface {
Send(message ...string) (ChatAPI, error)
Edit(messageID int, message ...string) (ChatAPI, error)
React(messageID int, reaction string) (ChatAPI, error)
Delete(messageID int) (ChatAPI, error)
}
type keybase interface {
NewChat(channel Channel) Chat
Run(handler func(ChatAPI), options ...RunOptions)
ChatList() ([]conversation, error)
loggedIn() bool
username() string
version() string
}
type status struct {
Username string `json:"Username"`
LoggedIn bool `json:"LoggedIn"`
}

Loading…
Cancel
Save