blob: 82bd082c254e6204e751796808606e7cbccd520f [file] [log] [blame]
/**
* 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'], function(require, Enums) {
'use strict';
var UrlLinks = {
baseUrl: '/api/atlas',
baseUrlV2: '/api/atlas/v2',
typedefsUrl: function() {
return {
defs: this.baseUrlV2 + '/types/typedefs',
def: this.baseUrlV2 + '/types/typedef'
};
},
taxonomiesApiUrl: function() {
return this.baseUrl + '/v1/taxonomies';
},
taxonomiesTermsApiUrl: function(name) {
return this.baseUrl + '/v1/taxonomies' + '/' + name + '/terms';
},
entitiesApiUrl: function(guid, name) {
var entitiesUrl = this.baseUrlV2 + '/entity';
if (guid && name) {
return entitiesUrl + '/guid/' + guid + '/classification/' + name;
} else if (guid && !name) {
return entitiesUrl + '/guid/' + guid;
} else {
return entitiesUrl;
}
},
entitiesDefApiUrl: function(name) {
var entitieDefUrl = this.typedefsUrl();
if (name) {
return entitieDefUrl.def + '/name/' + name + '?type=entity';
} else {
return entitieDefUrl.defs + '?type=entity';
}
},
enumDefApiUrl: function(name) {
var enumDefApiUrl = this.typedefsUrl();
if (name) {
return enumDefApiUrl.def + '/name/' + name + '?type=enum';
} else {
return enumDefApiUrl.defs + '?type=enum';
}
},
entitiesTraitsApiUrl: function(token) {
if (token) {
return this.baseUrlV2 + '/entity/guid/' + token + '/classifications';
} else {
// For Multiple Assignment
return this.baseUrlV2 + '/entity/bulk/classification';
}
},
entityCollectionaudit: function(guid) {
return this.baseUrl + '/entities/' + guid + '/audit';
},
typesClassicationApiUrl: function(name, guid) {
var typeUrl = this.typedefsUrl();
if (name) {
return typeUrl.def + '/name/' + name + '?type=classification';
} else if (guid) {
return typeUrl.def + '/guid/' + guid + '?type=classification';
} else {
return typeUrl.defs + '?type=classification';
}
},
typesApiUrl: function() {
return this.typedefsUrl().defs + '/headers'
},
lineageApiUrl: function(guid) {
var lineageUrl = this.baseUrlV2 + '/lineage';
if (guid) {
return lineageUrl + '/' + guid;
} else {
return lineageUrl
}
},
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;
}
},
versionApiUrl: function() {
return this.baseUrl + '/admin/version';
},
sessionApiUrl: function() {
return this.baseUrl + '/admin/session';
}
};
return UrlLinks;
});