deprecate the use of /api in the rest nameSpace

This commit is contained in:
Art Lowel
2020-08-12 14:38:06 +02:00
parent 8f822ba4f7
commit a2fa51cef5
3 changed files with 21 additions and 3 deletions

View File

@@ -54,6 +54,13 @@ import(environmentFilePath)
function generateEnvironmentFile(file: GlobalConfig): void { function generateEnvironmentFile(file: GlobalConfig): void {
file.production = production; file.production = production;
buildBaseUrls(file); buildBaseUrls(file);
// TODO remove workaround in beta 5
if (file.rest.nameSpace.match("(.*)/api/?$") !== null) {
const newValue = getNameSpace(file.rest.nameSpace);
console.log(colors.white.bgMagenta.bold(`The rest.nameSpace property in your environment file or in your DSPACE_REST_NAMESPACE environment variable ends with '/api'.\nThis is deprecated. As '/api' isn't configurable on the rest side, it shouldn't be repeated in every environment file.\nPlease change the rest nameSpace to '${newValue}'`));
}
const contents = `export const environment = ` + JSON.stringify(file); const contents = `export const environment = ` + JSON.stringify(file);
writeFile(targetPath, contents, (err) => { writeFile(targetPath, contents, (err) => {
if (err) { if (err) {
@@ -112,5 +119,16 @@ function getPort(port: number): string {
} }
function getNameSpace(nameSpace: string): string { function getNameSpace(nameSpace: string): string {
// TODO remove workaround in beta 5
const apiMatches = nameSpace.match("(.*)/api/?$");
if (apiMatches != null) {
let newValue = '/'
if (hasValue(apiMatches[1])) {
newValue = apiMatches[1];
}
return newValue;
}
else {
return nameSpace ? nameSpace.charAt(0) === '/' ? nameSpace : '/' + nameSpace : ''; return nameSpace ? nameSpace.charAt(0) === '/' ? nameSpace : '/' + nameSpace : '';
} }
}

View File

@@ -61,7 +61,7 @@ describe('HALEndpointService', () => {
describe('getRootEndpointMap', () => { describe('getRootEndpointMap', () => {
it('should configure a new EndpointMapRequest', () => { it('should configure a new EndpointMapRequest', () => {
(service as any).getRootEndpointMap(); (service as any).getRootEndpointMap();
const expected = new EndpointMapRequest(requestService.generateRequestId(), environment.rest.baseUrl); const expected = new EndpointMapRequest(requestService.generateRequestId(), environment.rest.baseUrl + '/api');
expect(requestService.configure).toHaveBeenCalledWith(expected); expect(requestService.configure).toHaveBeenCalledWith(expected);
}); });

View File

@@ -16,7 +16,7 @@ export class HALEndpointService {
} }
protected getRootHref(): string { protected getRootHref(): string {
return new RESTURLCombiner('/').toString(); return new RESTURLCombiner('/api').toString();
} }
protected getRootEndpointMap(): Observable<EndpointMap> { protected getRootEndpointMap(): Observable<EndpointMap> {