Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
 - func ValidateMAC(payload PayloadStructure, key []byte) bool
 - type Activity
 - type Attribute
 - type AttributeValue
 - type ClientTransfer
 - type Conversion
 - type Dataset
 - type DirEntry
 - type Entity
 - type EntityState
 - type Experiment
 - type File
 - func (f File) CreateReturningHandleToUnderlyingFile(mcfsDir string) (*os.File, error)
 - func (f File) CreateUnderlyingFile(mcfsDir string) error
 - func (f File) FullPath() string
 - func (f File) IDForUses() int
 - func (f File) IsConvertible() bool
 - func (f File) IsDir() bool
 - func (f File) IsFile() bool
 - func (f File) MkdirUnderlyingPath(mcfsDir string) error
 - func (File) TableName() string
 - func (f File) ToDirEntry() DirEntry
 - func (f File) ToFileInfo() FileInfo
 - func (f File) ToUnderlyingDirPath(mcdir string) string
 - func (f File) ToUnderlyingFilePath(mcdir string) string
 - func (f File) ToUnderlyingFilePathForUUID(mcdir string) string
 - func (f File) UUIDForPath() string
 - func (f File) UUIDForUses() string
 
- type FileInfo
 - type FileSelection
 - type GlobusTransfer
 - type PayloadStructure
 - type Project
 - type Team
 - type TransferRequest
 - type TransferRequestFile
 - type User
 
Constants ¶
      View Source
      
  
const ( ValueTypeUnset = 0 ValueTypeInt = 1 ValueTypeFloat = 2 ValueTypeString = 3 ValueTypeComplex = 4 ValueTypeArrayOfInt = 5 ValueTypeArrayOfFloat = 6 ValueTypeArrayOfString = 7 ValueTypeArrayOfComplex = 8 )
Variables ¶
This section is empty.
Functions ¶
func ValidateMAC ¶ added in v1.0.1
func ValidateMAC(payload PayloadStructure, key []byte) bool
Types ¶
type Attribute ¶
type Attribute struct {
	ID               int              `json:"id"`
	UUID             string           `json:"uuid"`
	Name             string           `json:"name"`
	AttributableID   int              `json:"attributable_id"`
	AttributableType string           `json:"attributable_type"`
	AttributeValues  []AttributeValue `json:"attribute_values"`
}
    func (*Attribute) LoadValues ¶
type AttributeValue ¶
type AttributeValue struct {
	ID                  int                      `json:"id"`
	UUID                string                   `json:"uuid"`
	AttributeID         int                      `json:"attribute_id"`
	Unit                string                   `json:"unit"`
	Val                 string                   `json:"val"`
	ValueType           int                      `json:"value_type" gorm:"-"`
	ValueInt            int64                    `json:"value_int" gorm:"-"`
	ValueFloat          float64                  `json:"value_float" gorm:"-"`
	ValueString         string                   `json:"value_string" gorm:"-"`
	ValueComplex        map[string]interface{}   `gorm:"-"`
	ValueArrayOfInt     []int64                  `gorm:"-"`
	ValueArrayOfFloat   []float64                `gorm:"-"`
	ValueArrayOfString  []string                 `gorm:"-"`
	ValueArrayOfComplex []map[string]interface{} `gorm:"-"`
}
    type ClientTransfer ¶ added in v1.0.1
type ClientTransfer struct {
	ID                int              `json:"id"`
	UUID              string           `json:"uuid"`
	State             string           `json:"state"`
	ClientUUID        string           `json:"client_uuid"`
	ProjectID         int              `json:"project_id"`
	Project           *Project         `json:"project" gorm:"foreignkey:ProjectID;references:ID"`
	OwnerID           int              `json:"owner_id"`
	Owner             *User            `gorm:"foreignKey:OwnerID;references:ID"`
	TransferRequestID int              `json:"transfer_request_id"`
	TransferRequest   *TransferRequest `gorm:"foreignKey:TransferRequestID;references:ID"`
	CreatedAt         time.Time        `json:"created_at"`
	UpdatedAt         time.Time        `json:"updated_at"`
}
    func (ClientTransfer) TableName ¶ added in v1.0.1
func (ClientTransfer) TableName() string
type Conversion ¶
type Conversion struct {
	ID                  int       `json:"id"`
	UUID                string    `json:"uuid"`
	ProjectID           int       `json:"project_id"`
	OwnerID             int       `json:"owner_id"`
	FileID              int       `json:"file_id"`
	CreatedAt           time.Time `json:"created_at"`
	UpdatedAt           time.Time `json:"updated_at"`
	ConversionStartedAt time.Time `json:"conversion_started_at"`
}
    func (Conversion) TableName ¶
func (Conversion) TableName() string
type Dataset ¶
type Dataset struct {
	ID              int    `json:"id"`
	Name            string `json:"name"`
	UUID            string `json:"uuid"`
	ProjectID       int    `json:"project_id"`
	License         string `json:"license"`
	LicenseLink     string `json:"license_link"`
	Description     string `json:"description"`
	Summary         string `json:"summary"`
	DOI             string `json:"doi"`
	TestDOI         string `json:"test_doi"`
	Authors         string `json:"authors"`
	FileSelection   string
	CreatedAt       time.Time `json:"created_at"`
	UpdatedAt       time.Time `json:"updated_at"`
	PublishedAt     time.Time `json:"published_at"`
	TestPublishedAt time.Time `json:"test_published_at"`
}
    func (Dataset) GetEntitiesFromTemplate ¶
func (Dataset) GetFileSelection ¶
func (d Dataset) GetFileSelection() (*FileSelection, error)
func (Dataset) ZipfileDir ¶
func (Dataset) ZipfilePath ¶
type Entity ¶
type Entity struct {
	ID           int           `json:"id"`
	Name         string        `json:"name"`
	Files        []File        `json:"files" gorm:"many2many:entity2file"`
	EntityStates []EntityState `json:"entity_states"`
}
    type EntityState ¶
type Experiment ¶
type Experiment struct {
	ID          int       `json:"id"`
	UUID        string    `json:"uuid"`
	Name        string    `json:"name"`
	Description string    `json:"description"`
	Summary     string    `json:"summary"`
	OwnerID     int       `json:"owner_id"`
	Owner       *User     `json:"owner" gorm:"foreignKey:OwnerID;references:ID"`
	ProjectID   int       `json:"project_id"`
	Project     *Project  `json:"project" gorm:"foreignKey:ProjectID;references:ID"`
	CreatedAt   time.Time `json:"created_at"`
	UpdatedAt   time.Time `json:"updated_at"`
}
    type File ¶
type File struct {
	ID                   int       `json:"id"`
	UUID                 string    `json:"uuid"`
	UsesUUID             string    `json:"uses_uuid"`
	UsesID               int       `json:"uses_id"`
	ProjectID            int       `json:"project_id"`
	Name                 string    `json:"name"`
	OwnerID              int       `json:"owner_id"`
	Path                 string    `json:"path"`
	DirectoryID          int       `json:"directory_id" gorm:"default:null"`
	DatasetID            int       `json:"dataset_id" gorm:"default:null"`
	Size                 uint64    `json:"size"`
	Checksum             string    `json:"checksum"`
	MimeType             string    `json:"mime_type"`
	MediaTypeDescription string    `json:"media_type_description"`
	Current              bool      `json:"current"`
	Directory            *File     `json:"directory" gorm:"foreignKey:DirectoryID;references:ID"`
	DeletedAt            time.Time `gorm:"default:null"`
	CreatedAt            time.Time `json:"created_at"`
	UpdatedAt            time.Time `json:"updated_at"`
}
    func (File) CreateReturningHandleToUnderlyingFile ¶
func (File) CreateUnderlyingFile ¶
func (File) IsConvertible ¶
func (File) MkdirUnderlyingPath ¶
func (File) ToDirEntry ¶
func (File) ToFileInfo ¶
func (File) ToUnderlyingDirPath ¶
func (File) ToUnderlyingFilePath ¶
func (File) ToUnderlyingFilePathForUUID ¶
func (File) UUIDForPath ¶
func (File) UUIDForUses ¶
type FileSelection ¶
type GlobusTransfer ¶
type GlobusTransfer struct {
	ID                                int              `json:"id"`
	UUID                              string           `json:"string"`
	ProjectID                         int              `json:"project_id"`
	Project                           *Project         `gorm:"foreignKey:ProjectID;references:ID"`
	Name                              string           `json:"name"`
	State                             string           `json:"state"`
	OwnerID                           int              `json:"owner_id"`
	Owner                             *User            `gorm:"foreignKey:OwnerID;references:ID"`
	GlobusEndpointID                  string           `json:"globus_endpoint_id"`
	GlobusAclID                       string           `json:"globus_acl_id"`
	GlobusPath                        string           `json:"globus_path"`
	GlobusIdentityID                  string           `json:"globus_identity_id"`
	GlobusURL                         string           `json:"globus_url"`
	LastGlobusTransferIDCompleted     string           `gorm:"column:last_globus_transfer_id_completed" json:"last_globus_transfer_id_completed"`
	LatestGlobusTransferCompletedDate string           `json:"latest_globus_transfer_completed_date"`
	TransferRequestID                 int              `json:"transfer_request_id"`
	TransferRequest                   *TransferRequest `gorm:"foreignKey:TransferRequestID;references:ID"`
	CreatedAt                         time.Time        `json:"created_at"`
	UpdatedAt                         time.Time        `json:"updated_at"`
}
    func (GlobusTransfer) TableName ¶
func (GlobusTransfer) TableName() string
type PayloadStructure ¶ added in v1.0.1
type Project ¶
type Project struct {
	ID             int       `json:"id"`
	UUID           string    `json:"uuid"`
	Slug           string    `json:"slug"`
	Name           string    `json:"name"`
	Description    string    `json:"description"`
	Summary        string    `json:"summary"`
	TeamID         int       `json:"team_id"`
	OwnerID        int       `json:"owner_id"`
	Owner          *User     `json:"owner" gorm:"foreignKey:OwnerID;references:ID"`
	RootDir        *File     `json:"rootDir"`
	Size           int64     `json:"size"`
	FileCount      int       `json:"file_count"`
	DirectoryCount int       `json:"directory_count"`
	FileTypes      string    `json:"file_types"`
	CreatedAt      time.Time `json:"created_at"`
	UpdatedAt      time.Time `json:"updated_at"`
}
    type Team ¶
type Team struct {
	ID        int       `json:"id"`
	UUID      string    `json:"uuid"`
	Name      string    `json:"name"`
	OwnerID   int       `json:"owner_id"`
	Owner     *User     `json:"owner" gorm:"foreignKey:OwnerID;references:ID"`
	Members   []User    `gorm:"many2many:team2member;"`
	Admins    []User    `gorm:"many2many:team2admin"`
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
}
    type TransferRequest ¶
type TransferRequest struct {
	ID             int             `json:"id"`
	UUID           string          `json:"uuid"`
	State          string          `json:"state"`
	ProjectID      int             `json:"project_id"`
	OwnerID        int             `json:"owner_id"`
	Owner          *User           `json:"owner" gorm:"foreignKey:OwnerID;references:ID"`
	GlobusTransfer *GlobusTransfer `json:"globus_transfer" gorm:"foreignKey:transfer_request_id;references:id"`
	LastActiveAt   time.Time       `json:"last_active_at"`
	CreatedAt      time.Time       `json:"created_at"`
	UpdatedAt      time.Time       `json:"updated_at"`
}
    func (TransferRequest) Join ¶
func (tr TransferRequest) Join(paths ...string) string
func (TransferRequest) JoinFromBase ¶
func (tr TransferRequest) JoinFromBase(base string, paths ...string) string
func (TransferRequest) TableName ¶
func (TransferRequest) TableName() string
type TransferRequestFile ¶
type TransferRequestFile struct {
	ID                int              `json:"id"`
	UUID              string           `json:"string"`
	Name              string           `json:"name"`
	State             string           `json:"state"`
	ExpectedSize      uint64           `json:"expected_size"`
	ExpectedChecksum  string           `json:"expected_checksum"`
	Path              string           `json:"path"`
	ClientUUID        string           `json:"client_uuid"` // From ClientTransfer. Stored here to eliminate a query.
	TransferRequestID int              `json:"transfer_request_id"`
	TransferRequest   *TransferRequest `gorm:"foreignKey:TransferRequestID;references:ID"`
	ProjectID         int              `json:"project_id"`
	DirectoryID       int              `json:"directory_id"`
	FileID            int              `json:"file_id"`
	File              *File            `gorm:"foreignKey:FileID;references:ID"`
	OwnerID           int              `json:"owner_id"`
	CreatedAt         time.Time        `json:"created_at"`
	UpdatedAt         time.Time        `json:"updated_at"`
}
    func (TransferRequestFile) TableName ¶
func (TransferRequestFile) TableName() string
 Click to show internal directories. 
   Click to hide internal directories.