mirror of
https://github.com/foomo/neoscontentrepository.git
synced 2025-10-16 12:35:40 +00:00
86 lines
4.2 KiB
Go
86 lines
4.2 KiB
Go
package model
|
|
|
|
import (
|
|
"strings"
|
|
"time"
|
|
)
|
|
|
|
/*
|
|
+-------------------------------+---------------+------+-----+---------+-------+
|
|
| Field | Type | Null | Key | Default | Extra |
|
|
+-------------------------------+---------------+------+-----+---------+-------+
|
|
| persistence_object_identifier | varchar(40) | NO | PRI | NULL | |
|
|
| workspace | varchar(255) | YES | MUL | NULL | |
|
|
| contentobjectproxy | varchar(40) | YES | MUL | NULL | |
|
|
| movedto | varchar(40) | YES | UNI | NULL | |
|
|
| version | int(11) | NO | | 1 | |
|
|
| pathhash | varchar(32) | NO | MUL | NULL | |
|
|
| path | varchar(4000) | NO | | NULL | |
|
|
| parentpathhash | varchar(32) | NO | MUL | NULL | |
|
|
| parentpath | varchar(4000) | NO | MUL | NULL | |
|
|
| identifier | varchar(255) | NO | MUL | NULL | |
|
|
| sortingindex | int(11) | YES | | NULL | |
|
|
| removed | tinyint(1) | NO | | NULL | |
|
|
| dimensionshash | varchar(32) | NO | | NULL | |
|
|
| lastmodificationdatetime | datetime | NO | | NULL | |
|
|
| lastpublicationdatetime | datetime | YES | | NULL | |
|
|
| hiddenbeforedatetime | datetime | YES | | NULL | |
|
|
| hiddenafterdatetime | datetime | YES | | NULL | |
|
|
| dimensionvalues | longtext | NO | | NULL | |
|
|
| properties | longtext | NO | | NULL | |
|
|
| nodetype | varchar(255) | NO | MUL | NULL | |
|
|
| creationdatetime | datetime | NO | | NULL | |
|
|
| hidden | tinyint(1) | NO | | NULL | |
|
|
| hiddeninindex | tinyint(1) | NO | | NULL | |
|
|
| accessroles | longtext | NO | | NULL | |
|
|
+-------------------------------+---------------+------+-----+---------+-------+
|
|
*/
|
|
|
|
type NodeData struct {
|
|
PersistenceObjectIdentifier string `json:"persistence_object_identifier"`
|
|
Identifier string `json:"identifier"`
|
|
Version uint `json:"version"`
|
|
Workspace *string `json:"workspace"`
|
|
ContentObjectProxy *string `json:"contentobjectproxy"`
|
|
MovedTo *string `json:"movedto"`
|
|
PathHash string `json:"pathhash"`
|
|
Path string `json:"path"`
|
|
ParentPathHash string `json:"parentpathhash"`
|
|
ParentPath string `json:"parentpath"`
|
|
SortingIndex *uint `json:"sortingindex"`
|
|
Removed bool `json:"removed"`
|
|
DimensionsHash string `json:"dimensionshash"`
|
|
CreationDatetime time.Time `json:"creationdatetime"`
|
|
LastModificationDatetime time.Time `json:"lastmodificationdatetime"`
|
|
LastPublicationDatetime *time.Time `json:"lastpublicationdatetime"`
|
|
HiddenBeforeDatetime *time.Time `json:"hiddenbeforedatetime"`
|
|
HiddenAfterDatetime *time.Time `json:"hiddenafterdatetime"`
|
|
DimensionValues string `json:"dimensionvalues"`
|
|
Properties string `json:"properties"`
|
|
NodeType string `json:"nodetype"`
|
|
Hidden bool `json:"hidden"`
|
|
HiddenInIndex bool `json:"hiddeninindex"`
|
|
AccessRoles string `json:"accessroles"`
|
|
}
|
|
|
|
type NodeProperties struct {
|
|
Title string `json:"title,omitempty"`
|
|
URIPathSegment string `json:"uriPathSegment"`
|
|
|
|
Layout string `json:"layout,omitempty"`
|
|
SubPageLayout string `json:"subpageLayout,omitempty"`
|
|
}
|
|
|
|
func (node *NodeData) IsVisible() bool {
|
|
// @todo @implementme
|
|
return false
|
|
}
|
|
|
|
func (node *NodeData) GetHash() string {
|
|
return strings.Join([]string{
|
|
node.Identifier,
|
|
*node.Workspace,
|
|
node.DimensionsHash,
|
|
}, "___")
|
|
}
|