in source/console/app/package/package.js [81:177]
var getPackageDetails = function(id) {
$blockUI.start();
dataPackageFactory.getDataPackage(id, function(err, datapackage) {
if (err) {
console.log('getDataPackage error', err);
showErrorAlert(['Failed to load the package', $stateParams.package_id, '. Check if it exists and if you have access to it'].join(' '), true);
$blockUI.stop();
return;
}
if (datapackage) {
$scope.pckg = datapackage;
$scope.pckgName = datapackage.name;
authService.getUserInfo().then(function(userinfo) {
if (userinfo.username === datapackage.owner || userinfo.role.toLowerCase() === 'admin') {
$scope.canEdit = true;
}
$q.all([
getCrawlerInfo(id),
getTablesInfo(id),
listPackageMetadata(id),
listPackageDatasets(id),
listGroups()
])
.then(values => {
$scope.glueCrawler = values[0];
$scope.glueTables = values[1];
setMetadataHistory(values[2]);
$scope.log.push({
entrydt: $scope.pckg.created_at,
entries: [
'<p>Package created by ' + $scope.pckg.owner +
'</p>'
]
});
$scope.processing = ($scope.glueCrawler.status === 'RUNNING' || $scope.glueCrawler.status === 'STOPPING');
if (values[3]) {
$scope.pckgContent = $_.where(values[3], {
type: 'dataset'
});
$scope.pckgManifest = $_.filter(values[3], function(d) {
return d.type === 'manifest';
});
}
if ($scope.pckgContent.length == 0) {
$scope.glueTables = values[3];
}
let groups = values[4];
if ('groups' in datapackage && datapackage.groups.length > 0) {
let allSelected = true;
let membershipList = datapackage.groups;
let processMembershipList = Object.keys(groups).map(function(key, index) {
if (membershipList.indexOf(key) > -1) {
groups[key].visible = true;
} else {
allSelected = false;
}
});
$q.all(processMembershipList).then(function(results) {
$scope.groups['all'] = allSelected;
$scope.groups['groups'] = groups;
});
} else {
$scope.groups['groups'] = groups;
}
if ($scope.pckgContent.length == 0) {
$scope.glueTables = [];
}
$scope.tabs[1].label = `Content (${$scope.pckgContent.length})`;
$scope.tabs[3].label = `Integrations (${$scope.glueTables.length})`;
$blockUI.stop();
})
.catch(function(err) {
console.log("getPackageDetails Error:", err);
showErrorAlert(['Failed to load the package', $stateParams.package_id, '. Check if it exists and if you have access to it'].join(' '), true);
$blockUI.stop();
});
}, function(msg) {
console.log('Unable to retrieve the user session.');
$state.go('signin', {});
});
} else {
$scope.pckg = null;
showErrorAlert(['The package', $stateParams.package_id, 'is not available in the data lake.'].join(' '), true);
return;
}
});
};