Documentation
¶
Index ¶
- func AddPieceHandler(db *gorm.DB, datasetName string, request AddPieceRequest) (*model.Car, error)
- func CreateHandler(db *gorm.DB, request CreateRequest) (*model.Dataset, error)
- func ListHandler(db *gorm.DB) ([]model.Dataset, error)
- func ListPiecesHandler(db *gorm.DB, datasetName string) ([]model.Car, error)
- func RemoveHandler(db *gorm.DB, datasetName string) error
- func UpdateHandler(db *gorm.DB, datasetName string, request UpdateRequest) (*model.Dataset, error)
- type AddPieceRequest
- type CreateRequest
- type UpdateRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddPieceHandler ¶
func AddPieceHandler( db *gorm.DB, datasetName string, request AddPieceRequest, ) (*model.Car, error)
AddPieceHandler godoc @Summary Manually register a piece (CAR file) with the dataset for deal making purpose @Tags Dataset @Produce json @Accept json @Param datasetName path string true "Dataset name" @Param request body AddPieceRequest true "Request body" @Success 200 {object} model.Car @Failure 400 {object} handler.HTTPError @Failure 500 {object} handler.HTTPError @Router /dataset/{datasetName}/piece [post]
func CreateHandler ¶
CreateHandler godoc @Summary Create a new dataset @Tags Dataset @Accept json @Produce json @Description The dataset is a top level object to distinguish different dataset. @Param request body CreateRequest true "Request body" @Success 200 {object} model.Dataset @Failure 400 {object} handler.HTTPError @Failure 500 {object} handler.HTTPError @Router /dataset [post]
func ListHandler ¶
ListHandler godoc @Summary List all datasets @Tags Dataset @Produce json @Success 200 {array} model.Dataset @Failure 400 {object} handler.HTTPError @Failure 500 {object} handler.HTTPError @Router /dataset [get]
func ListPiecesHandler ¶
ListPiecesHandler godoc @Summary List all pieces for the dataset that are available for deal making @Tags Dataset @Produce json @Accept json @Param datasetName path string true "Dataset name" @Success 200 {array} model.Car @Failure 400 {object} handler.HTTPError @Failure 500 {object} handler.HTTPError @Router /dataset/{datasetName}/piece [get]
func RemoveHandler ¶
RemoveHandler godoc @Summary Remove a specific dataset. This will not remove the CAR files. @Description Important! If the dataset is large, this command will take some time to remove all relevant data. @Tags Dataset @Param datasetName path string true "Dataset name" @Success 204 @Failure 400 {object} handler.HTTPError @Failure 500 {object} handler.HTTPError @Router /dataset/{datasetName} [delete]
func UpdateHandler ¶
func UpdateHandler( db *gorm.DB, datasetName string, request UpdateRequest, ) (*model.Dataset, error)
UpdateHandler godoc @Summary Update a dataset @Tags Dataset @Accept json @Produce json @Param datasetName path string true "Dataset name" @Param request body UpdateRequest true "Request body" @Success 200 {object} model.Dataset @Failure 400 {object} handler.HTTPError @Failure 500 {object} handler.HTTPError @Router /dataset/{datasetName} [patch]
Types ¶
type AddPieceRequest ¶
type AddPieceRequest struct { PieceCID string `json:"pieceCid"` // CID of the piece PieceSize string `json:"pieceSize"` // Size of the piece FilePath string `json:"filePath"` // Path to the CAR file, used to determine the size of the file and root CID RootCID string `json:"rootCid"` // Root CID of the CAR file, if not provided, will be determined by the CAR file header. Used to populate the label field of storage deal }
type CreateRequest ¶
type CreateRequest struct { Name string `json:"name" validate:"required"` // Name must be a unique identifier for a dataset MaxSizeStr string `default:"31.5GiB" json:"maxSize" validate:"required"` // Maximum size of the CAR files to be created PieceSizeStr string `default:"" json:"pieceSize" validate:"optional"` // Target piece size of the CAR files used for piece commitment calculation OutputDirs []string `json:"outputDirs" validate:"optional"` // Output directory for CAR files. Do not set if using inline preparation EncryptionRecipients []string `json:"encryptionRecipients" validate:"optional"` // Public key of the encryption recipient EncryptionScript string `json:"encryptionScript" validate:"optional"` // EncryptionScript command to run for custom encryption }
type UpdateRequest ¶
type UpdateRequest struct { MaxSizeStr *string `default:"31.5GiB" json:"maxSize" validate:"optional"` // Maximum size of the CAR files to be created PieceSizeStr *string `default:"" json:"pieceSize" validate:"optional"` // Target piece size of the CAR files used for piece commitment calculation OutputDirs []string `json:"outputDirs" validate:"optional"` // Output directory for CAR files. Do not set if using inline preparation EncryptionRecipients []string `json:"encryptionRecipients" validate:"optional"` // Public key of the encryption recipient EncryptionScript *string `json:"encryptionScript" validate:"optional"` // EncryptionScript command to run for custom encryption }