fileref

package
v1.8.1 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2022 License: MIT Imports: 8 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 Attributes

type Attributes struct {
	// The WhoPaysForReads represents reading payer. It can be allocation owner
	// or a 3rd party user. It affects read operations only. It requires
	// blobbers to be trusted.
	WhoPaysForReads common.WhoPays `json:"who_pays_for_reads,omitempty"`
}

The Attributes represents file attributes.

func (*Attributes) IsZero

func (a *Attributes) IsZero() bool

IsZero returns true, if the Attributes is zero.

func (*Attributes) Validate

func (a *Attributes) Validate() (err error)

Validate the Attributes.

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"`
	Attributes          Attributes      `json:"attributes" mapstructure:"attributes"`
}

func (*FileRef) CalculateHash

func (fr *FileRef) CalculateHash() string

func (*FileRef) GetAttributes

func (fr *FileRef) GetAttributes() Attributes

func (*FileRef) GetCreatedAt

func (fr *FileRef) GetCreatedAt() string

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() string

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"`
	Attributes     json.RawMessage `json:"attributes,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"`
	Attributes   Attributes `json:"attributes" mapstructure:"attributes"`

	Children  []RefEntity `json:"-" mapstructure:"-"`
	CreatedAt string      `json:"created_at" mapstructure:"created_at"`
	UpdatedAt string      `json:"updated_at" mapstructure:"updated_at"`
	// contains filtered or unexported fields
}

func (*Ref) AddChild

func (r *Ref) AddChild(child RefEntity)

func (*Ref) CalculateHash

func (r *Ref) CalculateHash() string

func (*Ref) GetAttributes

func (r *Ref) GetAttributes() Attributes

func (*Ref) GetCreatedAt

func (r *Ref) GetCreatedAt() string

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() string

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
	GetAttributes() Attributes
	GetCreatedAt() string
	GetUpdatedAt() string
}

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