251 lines
9.1 KiB
JavaScript
251 lines
9.1 KiB
JavaScript
/**
|
|
* Licensed to the Apache Software Foundation (ASF) under one
|
|
* or more contributor license agreements. See the NOTICE file
|
|
* distributed with this work for additional information
|
|
* regarding copyright ownership. The ASF licenses this file
|
|
* to you under the Apache License, Version 2.0 (the
|
|
* "License"); you may not use this file except in compliance
|
|
* with the License. You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
define(['require', 'utils/Enums', 'utils/Utils', 'underscore'], function(require, Enums, Utils) {
|
|
'use strict';
|
|
|
|
var UrlLinks = {
|
|
apiBaseUrl: Utils.getBaseUrl(window.location.pathname)
|
|
};
|
|
_.extend(UrlLinks, {
|
|
baseUrl: UrlLinks.apiBaseUrl + '/api/atlas',
|
|
baseUrlV2: UrlLinks.apiBaseUrl + '/api/atlas/v2',
|
|
typedefsUrl: function() {
|
|
return {
|
|
defs: this.baseUrlV2 + '/types/typedefs',
|
|
def: this.baseUrlV2 + '/types/typedef'
|
|
};
|
|
},
|
|
entitiesDefApiUrl: function(name) {
|
|
return this.getDefApiUrl('entity', name);
|
|
},
|
|
classificationDefApiUrl: function(name) {
|
|
return this.getDefApiUrl('classification', name);
|
|
},
|
|
businessMetadataDefApiUrl: function(name) {
|
|
return this.getDefApiUrl('business_metadata', name);
|
|
},
|
|
enumDefApiUrl: function(name) {
|
|
return this.getDefApiUrl('enum', name);
|
|
},
|
|
metricsApiUrl: function() {
|
|
return this.baseUrl + '/admin/metrics'
|
|
},
|
|
rootEntityDefUrl: function(name) {
|
|
return this.baseUrlV2 + '/types/entitydef/name/' + name;
|
|
},
|
|
rootClassificationDefUrl: function(name) {
|
|
return this.baseUrlV2 + '/types/classificationdef/name/' + name;
|
|
},
|
|
getDefApiUrl: function(type, name) {
|
|
var defApiUrl = this.typedefsUrl(),
|
|
defUrl;
|
|
if (name) {
|
|
defUrl = defApiUrl.def + '/name/' + name;
|
|
} else {
|
|
defUrl = defApiUrl.defs;
|
|
}
|
|
if (type) {
|
|
return defUrl += '?type=' + type;
|
|
} else {
|
|
return defUrl;
|
|
}
|
|
},
|
|
entitiesApiUrl: function(options) {
|
|
var entitiesUrl = this.baseUrlV2 + '/entity';
|
|
if (options) {
|
|
var guid = options.guid,
|
|
associatedGuid = options.associatedGuid,
|
|
name = options.name,
|
|
minExtInfo = options.minExtInfo;
|
|
if (guid && name && associatedGuid) {
|
|
return entitiesUrl + '/guid/' + guid + '/classification/' + name + '?associatedEntityGuid=' + associatedGuid;
|
|
} else if (guid && name) {
|
|
entitiesUrl += '/guid/' + guid + '/classification/' + name;
|
|
} else if (guid && !name) {
|
|
entitiesUrl += '/guid/' + guid;
|
|
}
|
|
}
|
|
|
|
if (!minExtInfo) {
|
|
return entitiesUrl;
|
|
} else {
|
|
return entitiesUrl += '?minExtInfo=' + (minExtInfo);
|
|
}
|
|
},
|
|
entityLabelsAPIUrl: function(guid) {
|
|
return this.entitiesApiUrl({ guid: guid }) + "/labels";
|
|
},
|
|
entityHeaderApiUrl: function(guid) {
|
|
return this.entitiesApiUrl({ guid: guid }) + "/header"
|
|
},
|
|
entitiesTraitsApiUrl: function(token) {
|
|
if (token) {
|
|
return this.baseUrlV2 + '/entity/guid/' + token + '/classifications';
|
|
} else {
|
|
// For Multiple Assignment
|
|
return this.baseUrlV2 + '/entity/bulk/classification';
|
|
}
|
|
},
|
|
entitiesBusinessMetadataApiUrl: function(guid) {
|
|
if (guid) {
|
|
return this.baseUrlV2 + '/entity/guid/' + guid + '/businessmetadata?isOverwrite=true';
|
|
}
|
|
},
|
|
entityCollectionaudit: function(guid) {
|
|
return this.baseUrlV2 + '/entity/' + guid + '/audit';
|
|
},
|
|
expimpAudit: function(options) {
|
|
var url = this.baseUrl + '/admin/expimp/audit',
|
|
queryParam = [];
|
|
if (options) {
|
|
var serverName = options.serverName,
|
|
limit = options.limit,
|
|
offset = options.offset;
|
|
}
|
|
|
|
if (serverName) {
|
|
queryParam.push("serverName=" + serverName);
|
|
}
|
|
if (limit) {
|
|
queryParam.push("limit=" + limit);
|
|
}
|
|
if (offset) {
|
|
queryParam.push("offset=" + offset);
|
|
}
|
|
if (queryParam.length > 0) {
|
|
url = url + "?" + queryParam.join("&");
|
|
}
|
|
return url;
|
|
},
|
|
typesApiUrl: function() {
|
|
return this.typedefsUrl().defs + '/headers?excludeInternalTypesAndReferences=true'
|
|
},
|
|
lineageApiUrl: function(guid) {
|
|
var lineageUrl = this.baseUrlV2 + '/lineage';
|
|
if (guid) {
|
|
return lineageUrl + '/' + guid;
|
|
} else {
|
|
return lineageUrl
|
|
}
|
|
},
|
|
relationshipApiUrl: function(guid) {
|
|
var relationshipUrl = this.baseUrlV2 + '/relationship';
|
|
if (guid) {
|
|
return relationshipUrl + '/guid/' + guid + '?extendedInfo=true';
|
|
} else {
|
|
return relationshipUrl
|
|
}
|
|
},
|
|
schemaApiUrl: function(guid) {
|
|
var lineageUrl = this.baseUrl + '/lineage';
|
|
if (guid) {
|
|
return lineageUrl + '/' + guid + '/schema'
|
|
} else {
|
|
return lineageUrl
|
|
}
|
|
},
|
|
searchApiUrl: function(searchtype) {
|
|
var searchUrl = this.baseUrlV2 + '/search';
|
|
if (searchtype) {
|
|
return searchUrl + '/' + searchtype;
|
|
} else {
|
|
return searchUrl;
|
|
}
|
|
},
|
|
saveSearchApiUrl: function(saveSearchType) {
|
|
var saveSearchUrl = this.searchApiUrl() + "/saved";
|
|
if (saveSearchType) {
|
|
return saveSearchUrl + '/' + saveSearchType;
|
|
} else {
|
|
return saveSearchUrl;
|
|
}
|
|
},
|
|
glossaryApiUrl: function(options) {
|
|
var guid = options && options.guid,
|
|
glossaryUrl = this.baseUrlV2 + '/glossary';
|
|
if (guid) {
|
|
return glossaryUrl + '/' + guid;
|
|
} else {
|
|
return glossaryUrl;
|
|
}
|
|
},
|
|
glossaryImportTempUrl: function() {
|
|
return this.glossaryApiUrl() + '/import/template';
|
|
},
|
|
glossaryImportUrl: function() {
|
|
return this.glossaryApiUrl() + '/import';
|
|
},
|
|
businessMetadataImportTempUrl: function() {
|
|
return this.entitiesApiUrl() + '/businessmetadata/import/template';
|
|
},
|
|
businessMetadataImportUrl: function() {
|
|
return this.entitiesApiUrl() + '/businessmetadata/import';
|
|
},
|
|
apiDocUrl: function() {
|
|
return this.apiBaseUrl + '/apidocs/index.html';
|
|
},
|
|
categoryApiUrl: function(options) {
|
|
var guid = options && options.guid,
|
|
list = options && options.list,
|
|
related = options && options.related,
|
|
categoryUrl = this.glossaryApiUrl() + '/' + (list ? 'categories' : 'category');
|
|
if (guid) {
|
|
if (related) {
|
|
return categoryUrl + '/' + guid + "/related";
|
|
} else {
|
|
return categoryUrl + '/' + guid;
|
|
}
|
|
} else {
|
|
return categoryUrl;
|
|
}
|
|
},
|
|
termApiUrl: function(options) {
|
|
var guid = options && options.guid,
|
|
list = options && options.list,
|
|
related = options && options.related,
|
|
termUrl = this.glossaryApiUrl() + '/' + (list ? 'terms' : 'term');
|
|
if (guid) {
|
|
if (related) {
|
|
return termUrl + '/' + guid + "/related";
|
|
} else {
|
|
return termUrl + '/' + guid;
|
|
}
|
|
} else {
|
|
return termUrl;
|
|
}
|
|
},
|
|
termToEntityApiUrl: function(guid) {
|
|
var termUrl = this.termApiUrl({ list: true });
|
|
if (guid) {
|
|
return termUrl + '/' + guid + '/assignedEntities';
|
|
}
|
|
},
|
|
versionApiUrl: function() {
|
|
return this.baseUrl + '/admin/version';
|
|
},
|
|
sessionApiUrl: function() {
|
|
return this.baseUrl + '/admin/session';
|
|
},
|
|
adminApiUrl: function() {
|
|
return this.baseUrl + '/admin/audits';
|
|
}
|
|
});
|
|
|
|
return UrlLinks;
|
|
}); |