35 lines
1.2 KiB
Go
35 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"log/slog"
|
|
"os"
|
|
|
|
"github.com/KristianJBorgwarth/dendrite.daemon/core/handlers/completion"
|
|
"github.com/KristianJBorgwarth/dendrite.daemon/core/handlers/note"
|
|
"github.com/KristianJBorgwarth/dendrite.daemon/core/handlers/vault"
|
|
"github.com/KristianJBorgwarth/dendrite.daemon/core/logging"
|
|
"github.com/KristianJBorgwarth/dendrite.daemon/core/server"
|
|
"github.com/KristianJBorgwarth/dendrite.daemon/core/services"
|
|
"github.com/KristianJBorgwarth/dendrite.daemon/persistence/repositories"
|
|
_ "modernc.org/sqlite"
|
|
)
|
|
|
|
func main() {
|
|
logging.Init()
|
|
server := server.NewServer()
|
|
|
|
uow := repositories.NewUnitOfWork();
|
|
linkRepo := repositories.NewLinkRepository()
|
|
tagRepo := repositories.NewTagRepository()
|
|
noteRepo := repositories.NewNoteRepository()
|
|
tagService := services.NewTagService(tagRepo)
|
|
|
|
server.RegisterHandler("vault/init", vault.NewInitializeHandler())
|
|
server.RegisterHandler("note/create", note.NewCreateNoteHandler(uow, tagService, noteRepo))
|
|
server.RegisterHandler("note/save", note.NewSaveNoteHandler(uow, linkRepo, tagRepo, noteRepo))
|
|
server.RegisterHandler("completion/link", completion.NewCompleteLinkHandler())
|
|
|
|
if err := server.Run(os.Stdin, os.Stdout); err != nil {
|
|
slog.Error("server error", "error", err)
|
|
}
|
|
}
|