MCPcopy Create free account
hub / github.com/crossjoin-io/crossjoin / getDatasets

Method getDatasets

api/api_datasets.go:10–54  ·  view source on GitHub ↗
(_ http.ResponseWriter, r *http.Request)

Source from the content-addressed store, hash-verified

8)
9
10func (api *API) getDatasets(_ http.ResponseWriter, r *http.Request) Response {
11 hash, err := api.LatestConfigHash()
12 if err != nil {
13 return Response{
14 Status: http.StatusInternalServerError,
15 Error: err.Error(),
16 }
17 }
18
19 rows, err := api.db.Query("SELECT id, text FROM datasets WHERE config_hash = $1", hash)
20 if err != nil {
21 return Response{
22 Status: http.StatusInternalServerError,
23 Error: err.Error(),
24 }
25 }
26 defer rows.Close()
27
28 type datasetResponse struct {
29 Text string
30 config.Dataset
31 }
32 datasets := []datasetResponse{}
33 for rows.Next() {
34 dataset := datasetResponse{}
35 err = rows.Scan(&dataset.ID, &dataset.Text)
36 if err != nil {
37 return Response{
38 Status: http.StatusInternalServerError,
39 Error: err.Error(),
40 }
41 }
42 err = yaml.Unmarshal([]byte(dataset.Text), &dataset.Dataset)
43 if err != nil {
44 return Response{
45 Status: http.StatusInternalServerError,
46 Error: err.Error(),
47 }
48 }
49 datasets = append(datasets, dataset)
50 }
51 return Response{
52 Response: datasets,
53 }
54}

Callers

nothing calls this directly

Calls 1

LatestConfigHashMethod · 0.95

Tested by

no test coverage detected