storj.io/uplink@v1.13.0/private/metaclient/interface.go (about)

     1  // Copyright (C) 2019 Storj Labs, Inc.
     2  // See LICENSE for copying information.
     3  
     4  package metaclient
     5  
     6  import (
     7  	"time"
     8  
     9  	"storj.io/common/storj"
    10  )
    11  
    12  // CreateObject has optional parameters that can be set.
    13  type CreateObject struct {
    14  	Metadata    map[string]string
    15  	ContentType string
    16  	Expires     time.Time
    17  
    18  	storj.RedundancyScheme
    19  	storj.EncryptionParameters
    20  }
    21  
    22  // Object converts the CreateObject to an object with unitialized values.
    23  func (create CreateObject) Object(bucket Bucket, path string) Object {
    24  	return Object{
    25  		Bucket: Bucket{
    26  			Name:    bucket.Name,
    27  			Created: bucket.Created,
    28  		},
    29  		Path:        path,
    30  		Metadata:    create.Metadata,
    31  		ContentType: create.ContentType,
    32  		Expires:     create.Expires,
    33  		Stream: Stream{
    34  			Size:             -1, // unknown
    35  			SegmentCount:     -1, // unknown
    36  			FixedSegmentSize: -1, // unknown
    37  
    38  			RedundancyScheme:     create.RedundancyScheme,
    39  			EncryptionParameters: create.EncryptionParameters,
    40  		},
    41  	}
    42  }