db

package
v0.1.12 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 15, 2022 License: GPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	NotFound      error = errors.New("Node not found")
	AlreadyExists error = errors.New("Node already exists")
)
View Source
var (
	InvalidType error = errors.New("Node has an invalid type for this action")
	CantParse   error = errors.New("The value of the node is not parseable")
)

Functions

This section is empty.

Types

type Database

type Database struct {
	Folder string
	// contains filtered or unexported fields
}

func New

func New(logger *log.Logger, dbFolder string) *Database

func (*Database) InitDB

func (db *Database) InitDB() (err error)

func (*Database) Nodes

func (db *Database) Nodes() *NodeHandler

func (*Database) Roots

func (db *Database) Roots() *RootHandler

func (*Database) Users

func (db *Database) Users() *UserHandler

type Node

type Node struct {
	ID        uuid.UUID   `json:"id"`
	Parent    *uuid.UUID  `json:"parent,omitempty"`
	Name      string      `json:"name"`
	CreatedAt time.Time   `json:"creationDate"`
	Type      NodeType    `json:"type"`
	Value     interface{} `json:"value"`
}

type NodeHandler

type NodeHandler struct {
	// contains filtered or unexported fields
}

func (*NodeHandler) CreateBlank

func (handler *NodeHandler) CreateBlank(name string, ntype NodeType, parent *uuid.UUID) (*Node, error)

func (*NodeHandler) Delete

func (handler *NodeHandler) Delete(nodeId uuid.UUID) error

func (*NodeHandler) Dump

func (handler *NodeHandler) Dump(nodeId uuid.UUID) (string, interface{}, error)

func (*NodeHandler) Exists

func (handler *NodeHandler) Exists(nodeId uuid.UUID) (exists bool, err error)

func (*NodeHandler) FindFork

func (handler *NodeHandler) FindFork(path []string, parentNodes []uuid.UUID) (*Node, error)

func (*NodeHandler) Get

func (handler *NodeHandler) Get(nodeId uuid.UUID) (node *Node, err error)

func (*NodeHandler) GetFile

func (handler *NodeHandler) GetFile(filename string) string

func (*NodeHandler) GetFolder

func (handler *NodeHandler) GetFolder() string

func (*NodeHandler) HasChildren

func (handler *NodeHandler) HasChildren(nodeId uuid.UUID, childrenName string) (bool, error)

func (*NodeHandler) NodeAddChildren

func (handler *NodeHandler) NodeAddChildren(nodeId, child uuid.UUID) error

func (*NodeHandler) RootExistsByName

func (handler *NodeHandler) RootExistsByName(nodeName string) (exists bool, err error)

func (*NodeHandler) UpdateValue

func (handler *NodeHandler) UpdateValue(nodeId uuid.UUID, value interface{}) error

type NodeType

type NodeType uint8
const (
	TNode NodeType = iota
	TRoot
	TBool
	TList
	TStr
	TNumber
	TUnknown
)

func (*NodeType) IsValid

func (nodeType *NodeType) IsValid(value interface{}) bool

func (NodeType) MarshalJSON

func (nodeType NodeType) MarshalJSON() ([]byte, error)

func (*NodeType) UnmarshalJSON

func (nodeType *NodeType) UnmarshalJSON(b []byte) error

type RootHandler

type RootHandler struct {
	// contains filtered or unexported fields
}

func (*RootHandler) Create

func (handler *RootHandler) Create(name string) (*Node, error)

func (*RootHandler) Delete

func (handler *RootHandler) Delete(name string) (err error)

func (*RootHandler) DumpTree

func (handler *RootHandler) DumpTree(name string) (map[string]interface{}, error)

func (*RootHandler) Exists

func (handler *RootHandler) Exists(name string) (exists bool, err error)

func (*RootHandler) FindFork

func (handler *RootHandler) FindFork(name string, path []string) (*Node, error)

func (*RootHandler) Get

func (handler *RootHandler) Get(name string) (node *Node, err error)

func (*RootHandler) GetFile

func (handler *RootHandler) GetFile(filename string) string

func (*RootHandler) GetFolder

func (handler *RootHandler) GetFolder() string

func (*RootHandler) GetRelFile

func (handler *RootHandler) GetRelFile(filename string) string

func (*RootHandler) List

func (handler *RootHandler) List() (nodes []Node, err error)

type User

type User struct {
	ID         uuid.UUID `json:"id"`
	Name       string    `json:"name"`
	Password   []uint8   `json:"password,omitempty"`
	CreatedAt  time.Time `json:"creationDate"`
	LastUpdate time.Time `json:"updateDate"`
	CanWrite   bool      `json:"writeAllowed"`
}

func (*User) Permission

func (user *User) Permission() string

type UserHandler

type UserHandler struct {
	// contains filtered or unexported fields
}

func (*UserHandler) Count

func (handler *UserHandler) Count() (int, error)

func (*UserHandler) CreateOrUpdate

func (handler *UserHandler) CreateOrUpdate(user *User) error

func (*UserHandler) Delete

func (handler *UserHandler) Delete(userName string) error

func (*UserHandler) Exists

func (handler *UserHandler) Exists(userName string) (exists bool, err error)

func (*UserHandler) Get

func (handler *UserHandler) Get(userName string) (user *User, err error)

func (*UserHandler) GetFile

func (handler *UserHandler) GetFile(filename string) string

func (*UserHandler) GetFolder

func (handler *UserHandler) GetFolder() string

func (*UserHandler) List

func (handler *UserHandler) List() (users []User, err error)

func (*UserHandler) Login

func (handler *UserHandler) Login(userName, password string) (user *User, err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL