fair

package
v2.0.9 Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2024 License: Apache-2.0 Imports: 21 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

Functions

func UniqString added in v2.0.6

func UniqString(arr []string) []string

Types

type Archive added in v2.0.6

type Archive struct {
	Name         string
	CreationDate time.Time
	LastVersion  int64
	Description  string
}

type ArchiveItem added in v2.0.6

type ArchiveItem struct {
	ItemData
	NewFiles []string
}

type DataAccess

type DataAccess string
const (
	DataAccessPublic     DataAccess = "public"
	DataAccessClosed     DataAccess = "closed"
	DataAccessClosedData DataAccess = "closed_data"
	DataAccessOpenAccess DataAccess = "open_access"
)

type DataStatus

type DataStatus string
const (
	DataStatusActive      DataStatus = "active"
	DataStatusDisabled    DataStatus = "disabled"
	DataStatusDeleted     DataStatus = "deleted"
	DataStatusDeletedMeta DataStatus = "deleted_meta"
)

type Fair

type Fair struct {
	// contains filtered or unexported fields
}

func NewFair

func NewFair(db *sql.DB, dbSchema string, handle *hcClient.HandleCreatorClient, dataciteClient *datacite.Client, log zLogger.ZLogger) (*Fair, error)

func (*Fair) AbortUpdate

func (f *Fair) AbortUpdate(p *Partition, source string) error

func (*Fair) AddArchive added in v2.0.6

func (f *Fair) AddArchive(part *Partition, name, description string) error

func (*Fair) AddArchiveItem added in v2.0.6

func (f *Fair) AddArchiveItem(part *Partition, archive string, item *ItemData) error

func (*Fair) AddPartition

func (f *Fair) AddPartition(p *Partition)

func (*Fair) CreateDOI

func (f *Fair) CreateDOI(p *Partition, uuidStr, targetUrl string) (*datacite.API, error)

func (*Fair) CreateItem

func (f *Fair) CreateItem(partition *Partition, data *ItemData) (*ItemData, error)

func (*Fair) DeleteItem

func (f *Fair) DeleteItem(partition *Partition, uuidStr string) error

func (*Fair) EndUpdate

func (f *Fair) EndUpdate(p *Partition, source string) error

func (*Fair) GetArchive added in v2.0.7

func (f *Fair) GetArchive(part *Partition, name string) (*Archive, error)

func (*Fair) GetArchiveItems added in v2.0.6

func (f *Fair) GetArchiveItems(part *Partition, archive string, delta bool, fn func(item *ArchiveItem) error) error

func (*Fair) GetItem

func (f *Fair) GetItem(partition *Partition, uuidStr string) (*ItemData, error)

func (*Fair) GetItemSource

func (f *Fair) GetItemSource(partition *Partition, sourceid int64, signature string) (*ItemData, error)

func (*Fair) GetItemsDatestamp

func (f *Fair) GetItemsDatestamp(partition *Partition, datestamp, until time.Time, access []DataAccess, limit, offset int64, completeListSize *int64, fn func(item *ItemData) error) error

func (*Fair) GetItemsSeq

func (f *Fair) GetItemsSeq(partition *Partition, seq int64, until time.Time, access []DataAccess, limit, offset int64, completeListSize *int64, fn func(item *ItemData) error) error

func (*Fair) GetMinimumDatestamp

func (f *Fair) GetMinimumDatestamp(partition *Partition) (time.Time, error)

func (*Fair) GetOriginalData added in v2.0.4

func (f *Fair) GetOriginalData(p *Partition, uuid string) ([]byte, string, error)

func (*Fair) GetPartition

func (f *Fair) GetPartition(name string) (*Partition, error)

func (*Fair) GetPartitions

func (f *Fair) GetPartitions() map[string]*Partition

func (*Fair) GetSets

func (f *Fair) GetSets(p *Partition) (map[string]string, error)

func (*Fair) GetSourceById

func (f *Fair) GetSourceById(partition *Partition, id int64) (*Source, error)

func (*Fair) GetSourceByName

func (f *Fair) GetSourceByName(partition *Partition, name string) (*Source, error)

func (*Fair) GetSourceByOAIDomain

func (f *Fair) GetSourceByOAIDomain(name string) (*Source, error)

func (*Fair) LoadSources

func (f *Fair) LoadSources() error

func (*Fair) RefreshSearch

func (f *Fair) RefreshSearch() error

func (*Fair) Search

func (f *Fair) Search(p *Partition, dtr *datatable.Request) ([]map[string]string, int64, int64, error)

func (*Fair) SetOriginalData added in v2.0.4

func (f *Fair) SetOriginalData(p *Partition, uuid string, format string, data []byte) error

func (*Fair) SetSource added in v2.0.5

func (f *Fair) SetSource(src *Source) error

func (*Fair) StartUpdate

func (f *Fair) StartUpdate(p *Partition, source string) error

type ItemData

type ItemData struct {
	Source     string      `json:"source"`
	Signature  string      `json:"signature"`
	Metadata   myfair.Core `json:"metadata"`
	Set        []string    `json:"set"`
	Catalog    []string    `json:"catalog"`
	Identifier []string    `json:"identifier"`
	Access     DataAccess  `json:"access"`
	Status     DataStatus  `json:"status"`
	Seq        int64       `json:"-"`
	UUID       string      `json:"uuid"`
	Datestamp  time.Time   `json:"datestamp"`
}

type Partition

type Partition struct {
	Name                string
	AddrExt             string
	Description         string
	JWTKey              string
	JWTAlg              []string
	Domain              string
	HandlePrefix        string
	OAIAdminEmail       []string
	OAIRepositoryName   string
	OAIPagesize         int64
	OAISampleIdentifier string
	OAIDelimiter        string
	OAIScheme           string

	ResumptionTokenTimeout time.Duration
	HandleID               string
}

func NewPartition

func NewPartition(
	Name,
	AddrExt,
	Domain,
	HandlePrefix,
	OAIRepositoryName string,
	OAIAdminEmail []string,
	OAISampleIdentifier,
	OAIDelimiter string,
	OAIScheme string,
	HandleID string,
	Description string,
	pagesize int64,
	resumptionTokenTimeout time.Duration,
	JWTKey string,
	JWTAlg []string) (*Partition, error)

type Source

type Source struct {
	ID          int64
	Name        string
	DetailURL   string
	Description string
	OAIDomain   string
	Partition   string
}

type SourceData

type SourceData struct {
	Source string `json:"source"`
}

Jump to

Keyboard shortcuts

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