Documentation ¶
Index ¶
- Constants
- func AttemptUser(rootPath, name string) error
- func DeleteBlock(user *User, id uint64) error
- func DeleteFile(block *BlockINode, filename string) error
- func DeleteUser(rootPath, name string) error
- func UpdateFile(block *BlockINode, filename, filedescription string) error
- type BlockINode
- type FileHeader
- type FileType
- type ICommandService
- type SortType
- type User
Constants ¶
View Source
const ( SortByName SortType = iota + 1 SortByCreatedTime ASC string = "ASC" DESC string = "DESC" )
View Source
const (
BlockINodeFileName = ".blockINode"
)
View Source
const (
UserINodeFileName = ".userINode"
)
Variables ¶
This section is empty.
Functions ¶
func AttemptUser ¶
func DeleteBlock ¶
func DeleteFile ¶
func DeleteFile(block *BlockINode, filename string) error
func DeleteUser ¶
func UpdateFile ¶
func UpdateFile(block *BlockINode, filename, filedescription string) error
Types ¶
type BlockINode ¶
type BlockINode struct { // UserPath: user data pool path in real file system UserPath string `json:"user_path"` PrevNodeID uint64 `json:"prev_node_id"` NodeID uint64 `json:"node_id"` // FileMap: file name -> file hash name FileMap map[string]FileHeader `json:"file_map"` }
func CreateBlock ¶
func CreateBlock(block *BlockINode, id uint64) (BlockINode, error)
func (*BlockINode) GetBlockINodePath ¶
func (b *BlockINode) GetBlockINodePath() string
func (*BlockINode) GetBlockPath ¶
func (b *BlockINode) GetBlockPath() string
func (*BlockINode) Save ¶
func (b *BlockINode) Save() error
type FileHeader ¶
type FileHeader struct { HashFileName string Type FileType DirNodeID *uint64 Name string Description string CreatedTime time.Time ModifiedTime time.Time }
func CreateFile ¶
func CreateFile(block *BlockINode, filename, filedescription string) (FileHeader, error)
func CreateFolder ¶
func CreateFolder(block *BlockINode, nodeid uint64, foldername, desc string) (FileHeader, error)
func GetFile ¶
func GetFile(block *BlockINode, filename string) (FileHeader, error)
func (*FileHeader) Save ¶
func (f *FileHeader) Save(path string) error
type ICommandService ¶
type ICommandService interface { GetCurrentUser() *User GetCurrentBlock() *BlockINode Register(name string) error Use(name string) error ChangeFolder(path string) error CreateFolder(oldName string) error DeleteFolder(oldName string) error RenameFolder(oldName string, newName string) error CreateFile(fileName, desc string) error DeleteFile(fileName string) error RenameFile(oldName, newName string, newDesc string) error List(dirName string, sortField *SortType, sortOrder *string) ([]string, error) }
func NewCommandService ¶
func NewCommandService(root string) ICommandService
type User ¶
type User struct { RootPath string `json:"root_path"` Name string `json:"name"` CurrentNodeID uint64 `json:"current_node_id"` BlockMap map[uint64]BlockINode `json:"block_map"` CreatedTime time.Time `json:"created_time"` }
func CreateUser ¶
func (*User) GetUserINodePath ¶
func (*User) GetUserPath ¶
Click to show internal directories.
Click to hide internal directories.