Documentation ¶
Index ¶
- type Alert
- type BuildHierarchyTask
- type BuildSearchIndexTask
- type Change
- type Client
- func (c *Client) Checker(ctx context.Context, check *health.CheckState) error
- func (c *Client) Get(ctx context.Context, ...) (m DatasetDetails, err error)
- func (c *Client) GetByPath(ctx context.Context, ...) (m DatasetDetails, err error)
- func (c *Client) GetDatasets(ctx context.Context, userAuthToken, serviceAuthToken, collectionID string) (m List, err error)
- func (c *Client) GetDimensions(ctx context.Context, ...) (m Dimensions, err error)
- func (c *Client) GetEdition(ctx context.Context, ...) (m Edition, err error)
- func (c *Client) GetEditions(ctx context.Context, ...) (m []Edition, err error)
- func (c *Client) GetInstance(ctx context.Context, ...) (m Instance, err error)
- func (c *Client) GetInstanceBytes(ctx context.Context, ...) (b []byte, err error)
- func (c *Client) GetInstanceDimensionsBytes(ctx context.Context, userAuthToken, serviceAuthToken, instanceID string) (b []byte, err error)
- func (c *Client) GetInstances(ctx context.Context, userAuthToken, serviceAuthToken, collectionID string, ...) (m Instances, err error)
- func (c *Client) GetMetadataURL(id, edition, version string) string
- func (c *Client) GetOptions(ctx context.Context, ...) (m Options, err error)
- func (c *Client) GetVersion(ctx context.Context, ...) (m Version, err error)
- func (c *Client) GetVersionMetadata(ctx context.Context, ...) (m Metadata, err error)
- func (c *Client) GetVersions(ctx context.Context, ...) (m []Version, err error)
- func (c *Client) PostInstanceDimensions(ctx context.Context, serviceAuthToken, instanceID string, data OptionPost) error
- func (c *Client) PutInstanceData(ctx context.Context, serviceAuthToken, instanceID string, data JobInstance) error
- func (c *Client) PutInstanceImportTasks(ctx context.Context, serviceAuthToken, instanceID string, ...) error
- func (c *Client) PutInstanceState(ctx context.Context, serviceAuthToken, instanceID string, state State) error
- func (c *Client) PutVersion(ctx context.Context, ...) error
- func (c *Client) UpdateInstanceWithNewInserts(ctx context.Context, serviceAuthToken, instanceID string, ...) error
- type Contact
- type Dataset
- type DatasetDetails
- type Dimension
- type Dimensions
- type Download
- type DownloadList
- type Edition
- type ErrInvalidDatasetAPIResponse
- type ImportObservationsTask
- type Instance
- type InstanceImportTasks
- type Instances
- type Items
- type JobInstance
- type Link
- type Links
- type List
- type Metadata
- type Methodology
- type Option
- type OptionPost
- type Options
- type Publication
- type Publisher
- type RelatedDataset
- type State
- type Temporal
- type UsageNote
- type Version
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Alert ¶
type Alert struct { Date string `json:"date"` Description string `json:"description"` Type string `json:"type"` }
Alert represents an alert returned by the dataset api
type BuildHierarchyTask ¶ added in v1.7.0
type BuildHierarchyTask struct { State string `json:"state,omitempty"` DimensionName string `json:"dimension_name,omitempty"` CodeListID string `json:"code_list_id,omitempty"` }
BuildHierarchyTask represents a task of importing a single hierarchy.
type BuildSearchIndexTask ¶ added in v1.7.0
type BuildSearchIndexTask struct { State string `json:"state,omitempty"` DimensionName string `json:"dimension_name,omitempty"` }
BuildSearchIndexTask represents a task of importing a single search index into search.
type Change ¶
type Change struct { Description string `json:"description"` Name string `json:"name"` Type string `json:"type"` }
Change represents a change returned for a version by the dataset api
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a dataset api client which can be used to make requests to the server
func NewAPIClient ¶
NewAPIClient creates a new instance of Client with a given dataset api url and the relevant tokens
func NewAPIClientWithMaxRetries ¶ added in v1.6.0
NewAPIClientWithMaxRetries creates a new instance of Client with a given dataset api url and the relevant tokens, setting a number of max retires for the HTTP client
func (*Client) Checker ¶
Checker calls dataset api health endpoint and returns a check object to the caller.
func (*Client) Get ¶
func (c *Client) Get(ctx context.Context, userAuthToken, serviceAuthToken, collectionID, datasetID string) (m DatasetDetails, err error)
Get returns dataset level information for a given dataset id
func (*Client) GetByPath ¶
func (c *Client) GetByPath(ctx context.Context, userAuthToken, serviceAuthToken, collectionID, path string) (m DatasetDetails, err error)
GetByPath returns dataset level information for a given dataset path
func (*Client) GetDatasets ¶
func (c *Client) GetDatasets(ctx context.Context, userAuthToken, serviceAuthToken, collectionID string) (m List, err error)
GetDatasets returns the list of datasets
func (*Client) GetDimensions ¶
func (c *Client) GetDimensions(ctx context.Context, userAuthToken, serviceAuthToken, collectionID, id, edition, version string) (m Dimensions, err error)
GetDimensions will return a versions dimensions
func (*Client) GetEdition ¶
func (c *Client) GetEdition(ctx context.Context, userAuthToken, serviceAuthToken, collectionID, datasetID, edition string) (m Edition, err error)
GetEdition retrieves a single edition document from a given datasetID and edition label
func (*Client) GetEditions ¶
func (c *Client) GetEditions(ctx context.Context, userAuthToken, serviceAuthToken, collectionID, datasetID string) (m []Edition, err error)
GetEditions returns all editions for a dataset
func (*Client) GetInstance ¶
func (c *Client) GetInstance(ctx context.Context, userAuthToken, serviceAuthToken, collectionID, instanceID string) (m Instance, err error)
GetInstance returns an instance from the dataset api
func (*Client) GetInstanceBytes ¶ added in v1.7.0
func (c *Client) GetInstanceBytes(ctx context.Context, userAuthToken, serviceAuthToken, collectionID, instanceID string) (b []byte, err error)
GetInstanceBytes returns an instance as bytes from the dataset api
func (*Client) GetInstanceDimensionsBytes ¶ added in v1.7.0
func (c *Client) GetInstanceDimensionsBytes(ctx context.Context, userAuthToken, serviceAuthToken, instanceID string) (b []byte, err error)
GetInstanceDimensionsBytes returns a list of dimensions for an instance as bytes from the dataset api
func (*Client) GetInstances ¶ added in v1.7.0
func (c *Client) GetInstances(ctx context.Context, userAuthToken, serviceAuthToken, collectionID string, vars url.Values) (m Instances, err error)
GetInstances returns a list of all instances filtered by vars
func (*Client) GetMetadataURL ¶
GetMetadataURL returns the URL for the metadata of a given dataset id, edition and version
func (*Client) GetOptions ¶
func (c *Client) GetOptions(ctx context.Context, userAuthToken, serviceAuthToken, collectionID, id, edition, version, dimension string) (m Options, err error)
GetOptions will return the options for a dimension
func (*Client) GetVersion ¶
func (c *Client) GetVersion(ctx context.Context, userAuthToken, serviceAuthToken, downloadServiceAuthToken, collectionID, datasetID, edition, version string) (m Version, err error)
GetVersion gets a specific version for an edition from the dataset api
func (*Client) GetVersionMetadata ¶
func (c *Client) GetVersionMetadata(ctx context.Context, userAuthToken, serviceAuthToken, collectionID, id, edition, version string) (m Metadata, err error)
GetVersionMetadata returns the metadata for a given dataset id, edition and version
func (*Client) GetVersions ¶
func (c *Client) GetVersions(ctx context.Context, userAuthToken, serviceAuthToken, downloadServiceAuthToken, collectionID, datasetID, edition string) (m []Version, err error)
GetVersions gets all versions for an edition from the dataset api
func (*Client) PostInstanceDimensions ¶ added in v1.6.0
func (c *Client) PostInstanceDimensions(ctx context.Context, serviceAuthToken, instanceID string, data OptionPost) error
PostInstanceDimensions performs a 'POST /instances/<id>/dimensions' with the provided OptionPost
func (*Client) PutInstanceData ¶ added in v1.6.0
func (c *Client) PutInstanceData(ctx context.Context, serviceAuthToken, instanceID string, data JobInstance) error
PutInstanceData executes a put request to update instance data via the dataset API.
func (*Client) PutInstanceImportTasks ¶ added in v1.7.0
func (c *Client) PutInstanceImportTasks(ctx context.Context, serviceAuthToken, instanceID string, data InstanceImportTasks) error
PutInstanceImportTasks marks the import observation task state for an instance
func (*Client) PutInstanceState ¶ added in v1.7.0
func (c *Client) PutInstanceState(ctx context.Context, serviceAuthToken, instanceID string, state State) error
PutInstanceState performs a PUT '/instances/<id>' with the string representation of the provided state
type Contact ¶
type Contact struct { Name string `json:"name"` Telephone string `json:"telephone"` Email string `json:"email"` }
Contact represents a response model within a dataset
type Dataset ¶
type Dataset struct { ID string `json:"id"` Next *DatasetDetails `json:"next,omitempty"` Current *DatasetDetails `json:"current,omitempty"` DatasetDetails }
Dataset represents a dataset resource
type DatasetDetails ¶
type DatasetDetails struct { ID string `json:"id,omitempty"` CollectionID string `json:"collection_id,omitempty"` Contacts *[]Contact `json:"contacts,omitempty"` Description string `json:"description,omitempty"` Keywords *[]string `json:"keywords,omitempty"` License string `json:"license,omitempty"` Links Links `json:"links,omitempty"` Methodologies *[]Methodology `json:"methodologies,omitempty"` NationalStatistic bool `json:"national_statistic,omitempty"` NextRelease string `json:"next_release,omitempty"` Publications *[]Publication `json:"publications,omitempty"` Publisher *Publisher `json:"publisher,omitempty"` QMI Publication `json:"qmi,omitempty"` RelatedDatasets *[]RelatedDataset `json:"related_datasets,omitempty"` ReleaseFrequency string `json:"release_frequency,omitempty"` State string `json:"state,omitempty"` Theme string `json:"theme,omitempty"` Title string `json:"title,omitempty"` UnitOfMeasure string `json:"unit_of_measure,omitempty"` URI string `json:"uri,omitempty"` UsageNotes *[]UsageNote `json:"usage_notes,omitempty"` }
DatasetDetails represents a response dataset model from the dataset api
type Dimension ¶
type Dimension struct { ID string `json:"id"` Name string `json:"name"` Links Links `json:"links"` Description string `json:"description"` Label string `json:"label"` URL string `json:"href,omitempty"` }
Dimension represents a response model for a dimension endpoint
type Dimensions ¶
type Dimensions struct {
Items Items `json:"items"`
}
Dimensions represent a list of dimensions from the dataset api
type Download ¶
type Download struct { URL string `json:"href"` Size string `json:"size"` Public string `json:"public,omitempty"` Private string `json:"private,omitempty"` }
Download represents a version download from the dataset api
type DownloadList ¶
type DownloadList struct { CSV *Download `bson:"csv,omitempty" json:"csv,omitempty"` CSVW *Download `bson:"csvw,omitempty" json:"csvw,omitempty"` XLS *Download `bson:"xls,omitempty" json:"xls,omitempty"` }
DownloadList represents a list of objects of containing information on the downloadable files
type Edition ¶
type Edition struct { Edition string `json:"edition"` ID string `json:"id"` Links Links `json:"links"` State string `json:"state"` }
Edition represents an edition within a dataset
type ErrInvalidDatasetAPIResponse ¶
type ErrInvalidDatasetAPIResponse struct {
// contains filtered or unexported fields
}
ErrInvalidDatasetAPIResponse is returned when the dataset api does not respond with a valid status
func NewDatasetAPIResponse ¶
func NewDatasetAPIResponse(resp *http.Response, uri string) (e *ErrInvalidDatasetAPIResponse)
NewDatasetAPIResponse creates an error response, optionally adding body to e when status is 404
func (ErrInvalidDatasetAPIResponse) Code ¶
func (e ErrInvalidDatasetAPIResponse) Code() int
Code returns the status code received from dataset api if an error is returned
func (ErrInvalidDatasetAPIResponse) Error ¶
func (e ErrInvalidDatasetAPIResponse) Error() string
Error should be called by the user to print out the stringified version of the error
type ImportObservationsTask ¶ added in v1.7.0
type ImportObservationsTask struct { State string `json:"state,omitempty"` InsertedObservations int64 `json:"total_inserted_observations,omitempty"` }
ImportObservationsTask represents the task of importing instance observation data into the database.
type InstanceImportTasks ¶ added in v1.7.0
type InstanceImportTasks struct { ImportObservations *ImportObservationsTask `json:"import_observations"` BuildHierarchyTasks []*BuildHierarchyTask `json:"build_hierarchies"` BuildSearchIndexTasks []*BuildSearchIndexTask `json:"build_search_indexes"` }
InstanceImportTasks represents all of the tasks required to complete an import job.
type Instances ¶ added in v1.7.0
type Instances struct {
Items []Instance `json:"items"`
}
Instances represent a list of Instance objects
type JobInstance ¶ added in v1.6.0
type JobInstance struct { HeaderNames []string `json:"headers"` NumberOfObservations int `json:"total_observations"` }
JobInstance represents the details necessary to update (PUT) a job instance
type Links ¶
type Links struct { AccessRights Link `json:"access_rights,omitempty"` Dataset Link `json:"dataset,omitempty"` Dimensions Link `json:"dimensions,omitempty"` Edition Link `json:"edition,omitempty"` Editions Link `json:"editions,omitempty"` LatestVersion Link `json:"latest_version,omitempty"` Versions Link `json:"versions,omitempty"` Self Link `json:"self,omitempty"` CodeList Link `json:"code_list,omitempty"` Options Link `json:"options,omitempty"` Version Link `json:"version,omitempty"` Code Link `json:"code,omitempty"` Taxonomy Link `json:"taxonomy,omitempty"` Job Link `json:"job,omitempty"` }
Links represent the Links within a dataset model
type List ¶
type List struct {
Items []Dataset `json:"items"`
}
List represents an object containing a list of datasets
type Metadata ¶
type Metadata struct { Version DatasetDetails }
Metadata is a combination of version and dataset model fields
type Methodology ¶
type Methodology struct { Description string `json:"description"` URL string `json:"href"` Title string `json:"title"` }
Methodology represents a methodology document returned by the dataset api
type Option ¶
type Option struct { DimensionID string `json:"dimension"` Label string `json:"label"` Links Links `json:"links"` Option string `json:"option"` }
Option represents a response model for an option
type OptionPost ¶ added in v1.6.0
type OptionPost struct { Code string `json:"code"` CodeList string `json:"code_list,omitempty"` Label string `json:"label"` Name string `json:"dimension"` Option string `json:"option"` }
OptionPost represents an option model to store in the dataset api
type Options ¶
type Options struct {
Items []Option `json:"items"`
}
Options represents a list of options from the dataset api
type Publication ¶
type Publication struct { Description string `json:"description"` URL string `json:"href"` Title string `json:"title"` }
Publication represents a publication document returned by the dataset api
type Publisher ¶
type Publisher struct { URL string `json:"href"` Name string `json:"name"` Type string `json:"type"` }
Publisher represents the publisher within the dataset
type RelatedDataset ¶
RelatedDataset represents a related dataset document returned by the dataset api
type State ¶ added in v1.7.0
type State int
State - iota enum of possible states
const ( StateCreated State = iota StateSubmitted StateCompleted // Instances only StateFailed // Instances only StateEditionConfirmed // instances and versions only StateAssociated // not editions StatePublished )
Possible values for a State of the resource. It can only be one of the following: TODO these states should be enforced in all the 'POST' and 'PUT' operations that can modify states of resources
type Temporal ¶
type Temporal struct { StartDate string `json:"start_date"` EndDate string `json:"end_date"` Frequency string `json:"frequency"` }
Temporal represents a temporal returned by the dataset api
type UsageNote ¶
UsageNote represents a note containing extra information associated to the resource
type Version ¶
type Version struct { Alerts *[]Alert `json:"alerts"` CollectionID string `json:"collection_id"` Downloads map[string]Download `json:"downloads"` Edition string `json:"edition"` Dimensions []Dimension `json:"dimensions"` ID string `json:"id"` InstanceID string `json:"instance_id"` LatestChanges []Change `json:"latest_changes"` Links Links `json:"links,omitempty"` ReleaseDate string `json:"release_date"` State string `json:"state"` Temporal []Temporal `json:"temporal"` Version int `json:"version"` NumberOfObservations int64 `json:"total_observations,omitempty"` ImportTasks *InstanceImportTasks `json:"import_tasks,omitempty"` }
Version represents a version within a dataset