Skip to content
Snippets Groups Projects
Commit e1f13267 authored by Benedikt Heinrichs's avatar Benedikt Heinrichs Committed by L. Ellenbeck
Browse files

BREAKING: ApiV2 & Updated api-client

parent 4588c330
No related branches found
No related tags found
2 merge requests!13Main,!12BREAKING: ApiV2 & Updated api-client
...@@ -71,6 +71,11 @@ public abstract class CodeGenerator ...@@ -71,6 +71,11 @@ public abstract class CodeGenerator
var apiContent = File.ReadAllText($"./{outputPath}/{directoryName}/api.ts"); 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 apiImplementations = apiRegex.Matches(apiContent);
var customBasePath = await GetCustomBasePath(directoryName); var customBasePath = await GetCustomBasePath(directoryName);
......
...@@ -19,7 +19,7 @@ public class CoscineCodeGenerator : CodeGenerator ...@@ -19,7 +19,7 @@ public class CoscineCodeGenerator : CodeGenerator
public async override Task<string> GetClientGenerator() 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(); using var httpClient = new HttpClient();
var jarFileName = await _configuration.GetStringAsync("coscine/local/codegen/jarpath", "./codegen.jar"); var jarFileName = await _configuration.GetStringAsync("coscine/local/codegen/jarpath", "./codegen.jar");
...@@ -40,7 +40,10 @@ public class CoscineCodeGenerator : CodeGenerator ...@@ -40,7 +40,10 @@ public class CoscineCodeGenerator : CodeGenerator
var apiPrefix = "coscine/apis/"; var apiPrefix = "coscine/apis/";
var keys = await _configuration.KeysAsync(apiPrefix); 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() internal async override Task<string> GetOutputPath()
...@@ -50,17 +53,26 @@ public class CoscineCodeGenerator : CodeGenerator ...@@ -50,17 +53,26 @@ public class CoscineCodeGenerator : CodeGenerator
internal override Task<string> GetSwaggerUrl(string domainName, string hostName, string key) 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"); 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) 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) 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) internal override Task<string> GetCustomCodeForCombinationFile(string combinationFileText)
...@@ -69,9 +81,6 @@ public class CoscineCodeGenerator : CodeGenerator ...@@ -69,9 +81,6 @@ public class CoscineCodeGenerator : CodeGenerator
// Keep it like that for formatting // Keep it like that for formatting
combinationFileText += @" combinationFileText += @"
if (typeof coscine !== 'undefined' && typeof coscine.authorization !== 'undefined') {
accessToken = 'Bearer ' + coscine.authorization.bearer;
}
if (typeof window !== 'undefined') { if (typeof window !== 'undefined') {
// LocalStorage > Global Variables // LocalStorage > Global Variables
const localStorageToken = localStorage.getItem('coscine.authorization.bearer'); const localStorageToken = localStorage.getItem('coscine.authorization.bearer');
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment