diff --git a/.gitignore b/.gitignore index f75a141..8376d56 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules/ dist/*.js src/ +underbbs \ No newline at end of file diff --git a/adapter/adapter.go b/adapter/adapter.go new file mode 100644 index 0000000..3140a66 --- /dev/null +++ b/adapter/adapter.go @@ -0,0 +1,15 @@ +package adapter + +import ( + . "forge.lightcrystal.systems/lightcrystal/underbbs/models" +) + +type Adapter interface { + Init(map[string]string, chan Message) error + Subscribe(string) error + SendMessage(Message) error + Follow(Author) error + Unfollow(Author) error + GetFollowers() error + UpdateMetadata(interface{}) error +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..41dbfeb --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module forge.lightcrystal.systems/lightcrystal/underbbs + +go 1.22.0 diff --git a/models/msg.go b/models/msg.go new file mode 100644 index 0000000..9bcb433 --- /dev/null +++ b/models/msg.go @@ -0,0 +1,35 @@ +package models + +import ( + "time" +) + +type MessageFactory interface { + FromNostr(interface{}) Message + FromMasto(interface{}) Message +} + +type Message struct { + Author Author + Protocol string + Content string + Attachments []Attachment + ReplyTo Message + Replies []Message + Mentions []Author + Created time.Time + Aux *interface{} +} + +type Author struct { + Id string + Name string + ProfileData interface{} + Messages []Message +} + +type Attachment struct { + Src string + Data []uint8 + Desc string +} diff --git a/underbbs.go b/underbbs.go new file mode 100644 index 0000000..e0b87a2 --- /dev/null +++ b/underbbs.go @@ -0,0 +1,5 @@ +package main + +func main() { + return +}