34 lines
958 B
Go
34 lines
958 B
Go
package model
|
|
|
|
import (
|
|
"encoding/json"
|
|
"io"
|
|
)
|
|
|
|
// Block is the basic data unit.
|
|
type Block struct {
|
|
ID string `json:"id"`
|
|
ParentID string `json:"parentId"`
|
|
RootID string `json:"rootId"`
|
|
ModifiedBy string `json:"modifiedBy"`
|
|
Schema int64 `json:"schema"`
|
|
Type string `json:"type"`
|
|
Title string `json:"title"`
|
|
Fields map[string]interface{} `json:"fields"`
|
|
CreateAt int64 `json:"createAt"`
|
|
UpdateAt int64 `json:"updateAt"`
|
|
DeleteAt int64 `json:"deleteAt"`
|
|
}
|
|
|
|
// Archive is an import / export archive
|
|
type Archive struct {
|
|
Version int64 `json:"version"`
|
|
Date int64 `json:"date"`
|
|
Blocks []Block `json:"blocks"`
|
|
}
|
|
|
|
func BlocksFromJSON(data io.Reader) []Block {
|
|
var blocks []Block
|
|
json.NewDecoder(data).Decode(&blocks)
|
|
return blocks
|
|
}
|