Toolbox/goDataverse/files/files.go

49 lines
1.6 KiB
Go

/**
= Creative Commons Lizenzvertrag =
Diese Software ist von der archium GmbH, Gera ist lizenziert unter einer Creative Commons Namensnennung - Nicht kommerziell - Keine Bearbeitungen 4.0 International Lizenz. (http://creativecommons.org/licenses/by-nc-nd/4.0/deed.de)
Individuelle über diese Lizenz hinausgehende Berechtigungen können Sie unter https://archium.org erhalten.
= Creative Commons License =
Software by archium GmbH, Gera is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. (http://creativecommons.org/licenses/by-nc-nd/4.0/)
Individual permissions beyond the scope of this license may be available at https://archium.org.
**/
package files
import (
con "Toolbox/goDataverse/connect"
tol "Toolbox/goDataverse/tools"
"errors"
"fmt"
"strings"
gjs "github.com/tidwall/gjson"
)
func GetFilesByDatasetId(_dp tol.TDVParams, _datasetid, _version string,
_citation gjs.Result) (string, error) {
if len(_datasetid) == 0 {
return "", errors.New("No datasetId found.")
}
var datasetid string = _datasetid
var version string = _version
var url string = tol.GetSiteUrl(_dp) + "/api/datasets/" + datasetid + "/%versions%/files"
if len(version) > 0 {
version = "versions/" + version
} else {
if len(_dp.DP_datasetVersion) > 0 {
version = "versions/" + _dp.DP_datasetVersion
} else {
version = "versions/:latest"
}
}
url = strings.Replace(url, "%versions%", version, -1)
//fmt.Println("URL-files:", url)
res, err := con.GetRequest(url, map[string]string{},
map[string]string{"X-Dataverse-key": tol.GetApiKey(_dp)})
//
return (fmt.Sprintf("%s", res)), err
}