Add label support

This commit is contained in:
Rolf Ahrenberg 2021-01-04 13:08:58 +02:00
parent 8018b54627
commit f86dd2723a
4 changed files with 23 additions and 2 deletions

View File

@ -25,6 +25,8 @@ File in the extended format should follow the specification:
<!-- Parent: <parent 2> -->
<!-- Title: <title> -->
<!-- Attachment: <local path> -->
<!-- Label: <label 1> -->
<!-- Label: <label 2> -->
<page contents>
```

View File

@ -240,7 +240,7 @@ func main() {
html = buffer.String()
}
err = api.UpdatePage(target, html)
err = api.UpdatePage(target, html, meta.Labels)
if err != nil {
log.Fatal(err)
}

View File

@ -434,7 +434,7 @@ func (api *API) CreatePage(
}
func (api *API) UpdatePage(
page *PageInfo, newContent string,
page *PageInfo, newContent string, newLabels []string,
) error {
nextPageVersion := page.Version.Number + 1
@ -450,6 +450,17 @@ func (api *API) UpdatePage(
{"id": page.Ancestors[len(page.Ancestors)-1].Id},
}
labels := []map[string]interface{}{}
for _, label := range newLabels {
if label != "" {
item := map[string]interface{}{
"prexix": "global",
"name": label,
}
labels = append(labels, item)
}
}
payload := map[string]interface{}{
"id": page.ID,
"type": "page",
@ -465,6 +476,9 @@ func (api *API) UpdatePage(
"representation": "storage",
},
},
"metadata": map[string]interface{}{
"labels": labels,
},
}
request, err := api.rest.Res(

View File

@ -16,6 +16,7 @@ const (
HeaderTitle = `Title`
HeaderLayout = `Layout`
HeaderAttachment = `Attachment`
HeaderLabel = `Label`
)
type Meta struct {
@ -24,6 +25,7 @@ type Meta struct {
Title string
Layout string
Attachments map[string]string
Labels []string
}
var (
@ -90,6 +92,9 @@ func ExtractMeta(data []byte) (*Meta, []byte, error) {
case HeaderAttachment:
meta.Attachments[value] = value
case HeaderLabel:
meta.Labels = append(meta.Labels, value)
default:
log.Errorf(
nil,