in api/v1/src/datasets/dataManager.js [56:89]
async function listDatasets(projectId, includeAll) {
let labelKey = null;
if (!includeAll) {
labelKey = cfg.cdsManagedLabelKey;
}
const bigqueryUtil = new BigQueryUtil(projectId);
const role = await runtimeConfig.bigQueryDataViewerRole(projectId);
const datasets = await bigqueryUtil.getDatasetsByLabel(labelKey, role).catch(err => {
console.warn(err);
return { success: false, errors: [err.message] };
});
if (!datasets || datasets === undefined) {
const message = `Datasets do not exist with labelKey: '${labelKey}'`;
return { success: false, code: 400, errors: [message] };
}
let result = datasets.filter((d) => {
if (d.labels) {
for (const l of cfg.cdsExclusionLabels) {
if (underscore.has(d.labels, l)) {
return false;
}
}
}
return true;
});
// Sort the list
result = underscore.sortBy(result, (item) => {
return item.datasetId.toLowerCase();
});
return { success: true, data: result }
}