feat: move some code from config to store
This commit is contained in:
parent
614bf67972
commit
ffc3435d1e
3 changed files with 30 additions and 15 deletions
|
|
@ -9,12 +9,13 @@ import (
|
||||||
"github.com/KristianJBorgwarth/dendrite.daemon/core/template"
|
"github.com/KristianJBorgwarth/dendrite.daemon/core/template"
|
||||||
"github.com/KristianJBorgwarth/dendrite.daemon/core/utils"
|
"github.com/KristianJBorgwarth/dendrite.daemon/core/utils"
|
||||||
"github.com/KristianJBorgwarth/dendrite.daemon/persistence/repositories"
|
"github.com/KristianJBorgwarth/dendrite.daemon/persistence/repositories"
|
||||||
|
"github.com/KristianJBorgwarth/dendrite.daemon/persistence/store"
|
||||||
)
|
)
|
||||||
|
|
||||||
type createNoteCommand struct {
|
type createNoteCommand struct {
|
||||||
Title string `json:"title"`
|
Title string `json:"title"`
|
||||||
TemplatePath string `json:"templatePath"`
|
TemplateName string `json:"templateName"`
|
||||||
Path string `json:"path"`
|
Directory string `json:"directory"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type CreateNoteHandler struct {
|
type CreateNoteHandler struct {
|
||||||
|
|
@ -34,7 +35,9 @@ func (h *CreateNoteHandler) Handle(ctx context.Context, raw json.RawMessage) (an
|
||||||
|
|
||||||
slug := frontmatter.Slugify(cmd.Title)
|
slug := frontmatter.Slugify(cmd.Title)
|
||||||
|
|
||||||
data, err := template.RenderTemplate(cmd.TemplatePath, cmd.Title, slug)
|
templatePath := store.GetVaultStore().GetTemplatePath(cmd.TemplateName)
|
||||||
|
|
||||||
|
data, err := template.RenderTemplate(templatePath, cmd.Title, slug)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
@ -79,7 +82,7 @@ func (h *CreateNoteHandler) Handle(ctx context.Context, raw json.RawMessage) (an
|
||||||
|
|
||||||
tagModels = append(tagModels, dbTags...)
|
tagModels = append(tagModels, dbTags...)
|
||||||
|
|
||||||
note := models.CreateNote(cmd.Path, cmd.Title, slug)
|
note := models.CreateNote(cmd.Directory, cmd.Title, slug)
|
||||||
|
|
||||||
if err = noteRepo.Upsert(ctx, note); err != nil {
|
if err = noteRepo.Upsert(ctx, note); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
@ -89,11 +92,11 @@ func (h *CreateNoteHandler) Handle(ctx context.Context, raw json.RawMessage) (an
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
h.uow.FileStore.Stage(cmd.Path, data)
|
h.uow.FileStore.Stage(cmd.Directory, data)
|
||||||
|
|
||||||
if err = h.uow.Commit(); err != nil {
|
if err = h.uow.Commit(); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return cmd.Path, nil
|
return cmd.Directory, nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
package persistenceconfig
|
package persistenceconfig
|
||||||
|
|
||||||
import "path"
|
|
||||||
|
|
||||||
type VaultConfiguration struct {
|
type VaultConfiguration struct {
|
||||||
path string
|
path string
|
||||||
templateDirectory string
|
templateDirectory string
|
||||||
|
|
@ -15,10 +13,6 @@ func (vc *VaultConfiguration) VaultPath() string {
|
||||||
return vc.path
|
return vc.path
|
||||||
}
|
}
|
||||||
|
|
||||||
func (vc *VaultConfiguration) fileTypeCheck(templateName string) string {
|
func (vc *VaultConfiguration) TemplateDirectory() string {
|
||||||
fileType := path.Ext(templateName)
|
return vc.templateDirectory
|
||||||
if fileType != ".md" {
|
|
||||||
return templateName + ".md"
|
|
||||||
}
|
|
||||||
return templateName
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,10 @@
|
||||||
package store
|
package store
|
||||||
|
|
||||||
import persistenceconfig "github.com/KristianJBorgwarth/dendrite.daemon/persistence/config"
|
import (
|
||||||
|
"path"
|
||||||
|
|
||||||
|
persistenceconfig "github.com/KristianJBorgwarth/dendrite.daemon/persistence/config"
|
||||||
|
)
|
||||||
|
|
||||||
type VaultStore struct {
|
type VaultStore struct {
|
||||||
Config *persistenceconfig.VaultConfiguration
|
Config *persistenceconfig.VaultConfiguration
|
||||||
|
|
@ -26,3 +30,17 @@ func GetVaultStore() *VaultStore {
|
||||||
func (vs *VaultStore) SetConfig(config persistenceconfig.VaultConfiguration) {
|
func (vs *VaultStore) SetConfig(config persistenceconfig.VaultConfiguration) {
|
||||||
vs.Config = &config
|
vs.Config = &config
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (vs *VaultStore) GetTemplatePath(templateName string) string {
|
||||||
|
templateName = vs.fileTypeCheck(templateName)
|
||||||
|
return path.Join(vs.Config.TemplateDirectory(), templateName)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (vs *VaultStore) fileTypeCheck(templateName string) string {
|
||||||
|
fileType := path.Ext(templateName)
|
||||||
|
if fileType != ".md" {
|
||||||
|
return templateName + ".md"
|
||||||
|
}
|
||||||
|
return templateName
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue