diff --git a/Taskfile.yml b/Taskfile.yml index 4a5c4ce..6b8852f 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -9,65 +9,13 @@ tasks: fmt: desc: Format go code - sources: - - '**/*.go' cmds: - go fmt ./... - vet: - desc: Vet go code - sources: - - '**/*.go' - cmds: - - go vet ./... - - critic: - desc: Critique go code - sources: - - '**/*.go' - cmds: - - gocritic check ./... - - staticcheck: - desc: Static check go code - sources: - - '**/*.go' - cmds: - - staticcheck ./... - - analyze: - desc: Do static analysis - deps: - - vet - - critic - - staticcheck - test: desc: Run unit tests - deps: [fmt, vet] - sources: - - '**/*.go' - generates: - - build/cover.out cmds: - - go test -race -cover -coverprofile build/cover.out ./... - - coverage-report: - desc: Build coverage report - deps: [test] - sources: - - build/cover.out - generates: - - build/cover.html - cmds: - - go tool cover -html=build/cover.out -o build/cover.html - - serve-report: - desc: Serve the coverage report - deps: [coverage-report] - cmds: - - ip addr list | grep inet - - php -S 0.0.0.0:3265 -t build + - go test -race -cover ./... build: desc: Build server binary diff --git a/app.go b/app.go index 6b33a8c..6390de9 100644 --- a/app.go +++ b/app.go @@ -3,7 +3,6 @@ package lenore import ( "errors" "fmt" - "time" "codeberg.org/danjones000/lenore/config" "codeberg.org/danjones000/lenore/store" @@ -12,10 +11,6 @@ import ( boxap "github.com/go-ap/fedbox/activitypub" ) -func init() { - client.UserAgent = config.UserAgent -} - type App struct { conf config.Config self vocab.Service @@ -27,7 +22,7 @@ type App struct { func NewApp(ver string, conf config.Config, db store.Store) (*App, error) { if conf.BaseURL == "" { - return nil, errors.New("missing BaseURL") + return nil, errors.New("Missing BaseURL") } app := App{ version: ver, @@ -35,12 +30,10 @@ func NewApp(ver string, conf config.Config, db store.Store) (*App, error) { } selfIRI := boxap.DefaultServiceIRI(conf.BaseURL) - self := boxap.Self(selfIRI) - self.Name = vocab.DefaultNaturalLanguageValue(app.Name()) - self.AttributedTo = vocab.IRI(config.DevUrl) - self.Summary = vocab.DefaultNaturalLanguageValue("ActivityPub-powered reader") - self.Published = time.Now() - self.Updated = time.Now() + self, err := boxap.LoadActor(db, selfIRI) + if err != nil { + return nil, err + } app.self = self app.client = *client.New() diff --git a/app_test.go b/app_test.go index 426985e..7bc0cac 100644 --- a/app_test.go +++ b/app_test.go @@ -14,7 +14,7 @@ func TestEmptyBaseURL(t *testing.T) { c := config.Config{} a, er := NewApp("0.0.0", c, testmocks.GetStore()) assert.Nil(t, a) - assert.EqualError(t, er, "missing BaseURL") + assert.EqualError(t, er, "Missing BaseURL") } func TestDefaultEnvironment(t *testing.T) { diff --git a/build/.gitignore b/build/.gitignore index d6b7ef3..b1e2a80 100644 --- a/build/.gitignore +++ b/build/.gitignore @@ -1,2 +1 @@ -* -!.gitignore +lenore diff --git a/cmd/lenore/main.go b/cmd/lenore/main.go index 0f7d6be..f879352 100644 --- a/cmd/lenore/main.go +++ b/cmd/lenore/main.go @@ -4,29 +4,44 @@ package main import ( "fmt" + "time" "codeberg.org/danjones000/lenore" "codeberg.org/danjones000/lenore/config" + vocab "github.com/go-ap/activitypub" + boxap "github.com/go-ap/fedbox/activitypub" "github.com/go-ap/storage-sqlite" ) func main() { conf := config.Config{BaseURL: "http://localhost:4523/"} + sqlConf := sqlite.Config{Path: "storage"} + err := sqlite.Bootstrap(sqlConf) + if err != nil { + panic(err) + } db, err := sqlite.New(sqlConf) if err != nil { panic(err) } - app, err := lenore.NewApp(config.Version, conf, db) + serv := vocab.ServiceNew(boxap.DefaultServiceIRI(conf.BaseURL)) + serv.Name = vocab.DefaultNaturalLanguageValue("Lenore") + serv.Summary = vocab.DefaultNaturalLanguageValue("ActivityPub-powered reader") + serv.Published = time.Now() + serv.Updated = time.Now() + _, err = db.Save(serv) + if err != nil { + panic(err) + } + + app, err := lenore.NewApp("0.0.0", conf, db) if err != nil { panic(err) } fmt.Println(app) - serv := app.Service() - out, _ := serv.MarshalJSON() - fmt.Println(string(out)) - fmt.Println(serv.ID) + fmt.Println(app.Service().ID) } diff --git a/config/version.go b/config/version.go deleted file mode 100644 index 3731179..0000000 --- a/config/version.go +++ /dev/null @@ -1,10 +0,0 @@ -package config - -const ( - AppName string = "lenore" - Version string = "0.0.1" - Url string = "https://codeberg.org/danjones000/lenore" - DevUrl string = "https://codeberg.org/danjones000" - Email string = "danjones@goodevilgenius.org" - UserAgent string = AppName + "/" + Version + " (" + Url + "; " + Email + ")" -)