diff --git a/src/CodeGen/CodeGenerator/CodeGenerator.cs b/src/CodeGen/CodeGenerator/CodeGenerator.cs index 97d952b28bd7995635eaadb01ffabec68489b389..08018aa0a5b531059e85b5db59b0c8b50c88976c 100644 --- a/src/CodeGen/CodeGenerator/CodeGenerator.cs +++ b/src/CodeGen/CodeGenerator/CodeGenerator.cs @@ -71,6 +71,11 @@ public abstract class CodeGenerator var apiContent = File.ReadAllText($"./{outputPath}/{directoryName}/api.ts"); + foreach (var apiFile in Directory.GetFiles($"./{outputPath}/{directoryName}/@coscine/api/")) + { + apiContent += File.ReadAllText(apiFile); + } + var apiImplementations = apiRegex.Matches(apiContent); var customBasePath = await GetCustomBasePath(directoryName); diff --git a/src/CodeGen/CodeGenerator/CoscineCodeGenerator.cs b/src/CodeGen/CodeGenerator/CoscineCodeGenerator.cs index aa23649ccf9e2fc3de3a897e6f9b566fa37f6b33..5dfb823b289a83e077dfff30e27645ccc9f782de 100644 --- a/src/CodeGen/CodeGenerator/CoscineCodeGenerator.cs +++ b/src/CodeGen/CodeGenerator/CoscineCodeGenerator.cs @@ -19,7 +19,7 @@ public class CoscineCodeGenerator : CodeGenerator public async override Task<string> GetClientGenerator() { - var jarDownloadLink = await _configuration.GetStringAsync("coscine/local/codegen/jarlink", "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/5.2.1/openapi-generator-cli-5.2.1.jar"); + var jarDownloadLink = await _configuration.GetStringAsync("coscine/local/codegen/jarlink", "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.1.0/openapi-generator-cli-7.1.0.jar"); using var httpClient = new HttpClient(); var jarFileName = await _configuration.GetStringAsync("coscine/local/codegen/jarpath", "./codegen.jar"); @@ -40,7 +40,10 @@ public class CoscineCodeGenerator : CodeGenerator var apiPrefix = "coscine/apis/"; var keys = await _configuration.KeysAsync(apiPrefix); - return keys.Select((entry) => entry.Split('/')[2]).Distinct(); + return keys.Select((entry) => entry.Split('/')[2]).Distinct().Where(x => + x == "Coscine.Api" + || x == "Coscine.Api.STS" + ); } internal async override Task<string> GetOutputPath() @@ -50,17 +53,26 @@ public class CoscineCodeGenerator : CodeGenerator internal override Task<string> GetSwaggerUrl(string domainName, string hostName, string key) { + if (key == "Coscine.Api") + { + return Task.FromResult($"https://{hostName}.{domainName}/coscine/api/swagger/v2/swagger.json"); + } return Task.FromResult($"https://{hostName}.{domainName}/coscine/api/{key}/swagger/v1/swagger.json"); } internal override string GetGenerationCommand(string outputPath, string jarFileName, string key, string swaggerUrl) { - return $"java \"-Dio.swagger.parser.util.RemoteUrl.trustAll=true\" \"-Dio.swagger.v3.parser.util.RemoteUrl.trustAll=true\" -jar \"{jarFileName}\" generate -i \"{swaggerUrl}\" -g typescript-axios -o \"{outputPath}/{key}\" --skip-validate-spec"; + return $"java \"-Dio.swagger.parser.util.RemoteUrl.trustAll=true\" \"-Dio.swagger.v3.parser.util.RemoteUrl.trustAll=true\" -jar \"{jarFileName}\" generate -i \"{swaggerUrl}\" -g typescript-axios -o \"{outputPath}/{key}\" --additional-properties=useSingleRequestParameter=true,apiPackage=@coscine/api,modelPackage=@coscine/model,withSeparateModelsAndApi=true --skip-validate-spec"; } internal override Task<string> GetCustomBasePath(string directoryName) { - return Task.FromResult($"https://' + getHostName() + '/coscine/api/{directoryName}"); + var appendedPath = directoryName == "Coscine.Api.STS" + ? $"/api/{directoryName}" + : ""; + return Task.FromResult( + $"https://' + getHostName() + '/coscine{appendedPath}" + ); } internal override Task<string> GetCustomCodeForCombinationFile(string combinationFileText) @@ -69,9 +81,6 @@ public class CoscineCodeGenerator : CodeGenerator // Keep it like that for formatting combinationFileText += @" -if (typeof coscine !== 'undefined' && typeof coscine.authorization !== 'undefined') { - accessToken = 'Bearer ' + coscine.authorization.bearer; -} if (typeof window !== 'undefined') { // LocalStorage > Global Variables const localStorageToken = localStorage.getItem('coscine.authorization.bearer'); @@ -94,4 +103,4 @@ const getHostName = () => { "; return Task.FromResult(combinationFileText); } -} +} \ No newline at end of file