fileref

package
v1.8.7 Latest Latest
Warning

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

Go to latest
Published: Aug 25, 2022 License: MIT Imports: 7 Imported by: 9

Documentation

Index

Constants

View Source
const (
	FILE      = "f"
	DIRECTORY = "d"
)
View Source
const CHUNK_SIZE = 64 * 1024

Variables

This section is empty.

Functions

func GetReferenceLookup

func GetReferenceLookup(allocationID string, path string) string

Types

type Collaborator

type Collaborator struct {
	RefID     int64  `json:"ref_id"`
	ClientID  string `json:"client_id"`
	CreatedAt string `json:"created_at"`
}

type CommitMetaTxn

type CommitMetaTxn struct {
	RefID     int64  `json:"ref_id"`
	TxnID     string `json:"txn_id"`
	CreatedAt string `json:"created_at"`
}

type FileRef

type FileRef struct {
	Ref                 `mapstructure:",squash"`
	CustomMeta          string          `json:"custom_meta" mapstructure:"custom_meta"`
	ContentHash         string          `json:"content_hash" mapstructure:"content_hash"`
	MerkleRoot          string          `json:"merkle_root" mapstructure:"merkle_root"`
	ThumbnailSize       int64           `json:"thumbnail_size" mapstructure:"thumbnail_size"`
	ThumbnailHash       string          `json:"thumbnail_hash" mapstructure:"thumbnail_hash"`
	ActualFileSize      int64           `json:"actual_file_size" mapstructure:"actual_file_size"`
	ActualFileHash      string          `json:"actual_file_hash" mapstructure:"actual_file_hash"`
	ActualThumbnailSize int64           `json:"actual_thumbnail_size" mapstructure:"actual_thumbnail_size"`
	ActualThumbnailHash string          `json:"actual_thumbnail_hash" mapstructure:"actual_thumbnail_hash"`
	MimeType            string          `json:"mimetype" mapstructure:"mimetype"`
	EncryptedKey        string          `json:"encrypted_key" mapstructure:"encrypted_key"`
	CommitMetaTxns      []CommitMetaTxn `json:"commit_meta_txns" mapstructure:"commit_meta_txns"`
	Collaborators       []Collaborator  `json:"collaborators" mapstructure:"collaborators"`
}

func (*FileRef) CalculateHash

func (fr *FileRef) CalculateHash() string

func (*FileRef) GetCreatedAt

func (fr *FileRef) GetCreatedAt() common.Timestamp

func (*FileRef) GetHash

func (fr *FileRef) GetHash() string

func (*FileRef) GetHashData

func (fr *FileRef) GetHashData() string

func (*FileRef) GetLookupHash

func (fr *FileRef) GetLookupHash() string

func (*FileRef) GetName

func (fr *FileRef) GetName() string

func (*FileRef) GetNumBlocks

func (fr *FileRef) GetNumBlocks() int64

func (*FileRef) GetPath

func (fr *FileRef) GetPath() string

func (*FileRef) GetPathHash

func (fr *FileRef) GetPathHash() string

func (*FileRef) GetSize

func (fr *FileRef) GetSize() int64

func (*FileRef) GetType

func (fr *FileRef) GetType() string

func (*FileRef) GetUpdatedAt

func (fr *FileRef) GetUpdatedAt() common.Timestamp

type Hashnode added in v1.7.3

type Hashnode struct {
	// hash data
	AllocationID   string `json:"allocation_id,omitempty"`
	Type           string `json:"type,omitempty"`
	Name           string `json:"name,omitempty"`
	Path           string `json:"path,omitempty"`
	ContentHash    string `json:"content_hash,omitempty"`
	MerkleRoot     string `json:"merkle_root,omitempty"`
	ActualFileHash string `json:"actual_file_hash,omitempty"`
	ChunkSize      int64  `json:"chunk_size,omitempty"`
	Size           int64  `json:"size,omitempty"`
	ActualFileSize int64  `json:"actual_file_size,omitempty"`

	Children []*Hashnode `json:"children,omitempty"`
	// contains filtered or unexported fields
}

Hashnode ref node in hash tree

func (*Hashnode) AddChild added in v1.7.3

func (n *Hashnode) AddChild(c *Hashnode)

func (*Hashnode) GetHashCode added in v1.7.3

func (n *Hashnode) GetHashCode() string

GetHashCode get hash code

func (*Hashnode) GetLookupHash added in v1.7.3

func (n *Hashnode) GetLookupHash() string

GetLookupHash get lookuphash

type ListResult

type ListResult struct {
	AllocationRoot string                   `json:"allocation_root"`
	Meta           map[string]interface{}   `json:"meta_data"`
	Entities       []map[string]interface{} `json:"list"`
}

func (*ListResult) GetDirTree

func (lr *ListResult) GetDirTree(allocationID string) (*Ref, error)

type Ref

type Ref struct {
	Type             string `json:"type" mapstructure:"type"`
	AllocationID     string `json:"allocation_id" mapstructure:"allocation_id"`
	Name             string `json:"name" mapstructure:"name"`
	Path             string `json:"path" mapstructure:"path"`
	Size             int64  `json:"size" mapstructure:"size"`
	ActualSize       int64  `json:"actual_file_size" mapstructure:"actual_file_size"`
	Hash             string `json:"hash" mapstructure:"hash"`
	ChunkSize        int64  `json:"chunk_size" mapstructure:"chunk_size"`
	NumBlocks        int64  `json:"num_of_blocks" mapstructure:"num_of_blocks"`
	PathHash         string `json:"path_hash" mapstructure:"path_hash"`
	LookupHash       string `json:"lookup_hash" mapstructure:"lookup_hash"`
	HashToBeComputed bool
	ChildrenLoaded   bool
	Children         []RefEntity      `json:"-" mapstructure:"-"`
	CreatedAt        common.Timestamp `json:"created_at" mapstructure:"created_at"`
	UpdatedAt        common.Timestamp `json:"updated_at" mapstructure:"updated_at"`
}

func (*Ref) AddChild

func (r *Ref) AddChild(child RefEntity)

func (*Ref) CalculateHash

func (r *Ref) CalculateHash() string

func (*Ref) GetCreatedAt

func (r *Ref) GetCreatedAt() common.Timestamp

func (*Ref) GetHash

func (r *Ref) GetHash() string

func (*Ref) GetLookupHash

func (r *Ref) GetLookupHash() string

func (*Ref) GetName

func (r *Ref) GetName() string

func (*Ref) GetNumBlocks

func (r *Ref) GetNumBlocks() int64

func (*Ref) GetPath

func (r *Ref) GetPath() string

func (*Ref) GetPathHash

func (r *Ref) GetPathHash() string

func (*Ref) GetSize

func (r *Ref) GetSize() int64

func (*Ref) GetType

func (r *Ref) GetType() string

func (*Ref) GetUpdatedAt

func (r *Ref) GetUpdatedAt() common.Timestamp

func (*Ref) RemoveChild

func (r *Ref) RemoveChild(idx int)

type RefEntity

type RefEntity interface {
	GetNumBlocks() int64
	GetSize() int64
	GetHash() string
	CalculateHash() string
	GetType() string
	GetPathHash() string
	GetLookupHash() string
	GetPath() string
	GetName() string
	GetCreatedAt() common.Timestamp
	GetUpdatedAt() common.Timestamp
}

type ReferencePath

type ReferencePath struct {
	Meta map[string]interface{} `json:"meta_data"`
	List []*ReferencePath       `json:"list,omitempty"`
}

func (*ReferencePath) GetDirTree

func (rp *ReferencePath) GetDirTree(allocationID string) (*Ref, error)

GetDirTree covert and build root Ref with children

func (*ReferencePath) GetRefFromObjectTree

func (rp *ReferencePath) GetRefFromObjectTree(allocationID string) (RefEntity, error)

Jump to

Keyboard shortcuts

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