Skip to content

Commit

Permalink
[JS] Template pour les noms des fichiers contenant les api clientes
Browse files Browse the repository at this point in the history
Fixes #354
  • Loading branch information
gideruette committed May 7, 2024
1 parent 27a3614 commit 5ed868a
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 9 deletions.
3 changes: 1 addition & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@
- [`354`](https://github.com/klee-contrib/topmodel/issues/354) [JS] Template pour les noms des fichiers contenant les api clientes

**Breaking changes** :
- Pour les utilisateurs angular, les services d'api client sont déplacés dans un fichier `*.service.ts`. Pour retrouver le comportement initial, définir la propriété `apiClientFilePath` à `{module}.{fileName}.ts`
- Les utilisateurs ayant déjà défini la variable `apiClientFilePath` doivent également ajouter le template `{fileName}` dans leur surcharge, afin de retrouver le comportement initial
- Pour les utilisateurs angular, les services d'api client sont déplacés dans un fichier `*.service.ts`. Pour retrouver le comportement initial, définir la propriété `apiClientFilePath` à `{module}/{fileName}`

## 1.45.2

Expand Down
12 changes: 12 additions & 0 deletions TopModel.Generator.Javascript/GeneratorRegistration.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,18 @@ public void Register(IServiceCollection services, JavascriptConfig config, int n
if (config.ApiClientFilePath != null)
{
TrimSlashes(config, c => c.ApiClientFilePath);
if (!config.ApiClientFilePath.Contains("{fileName}"))
{
config.ApiClientFilePath = config.ApiClientFilePath + "/{fileName}";
}
}
else if (config.ApiMode == TargetFramework.ANGULAR)
{
config.ApiClientFilePath = "{module}/{fileName}.service";
}
else
{
config.ApiClientFilePath = "{module}/{fileName}";
}

TrimSlashes(config, c => c.ApiClientRootPath);
Expand Down
9 changes: 2 additions & 7 deletions TopModel.Generator.Javascript/JavascriptConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -93,11 +93,6 @@ public class JavascriptConfig : GeneratorConfigBase

protected override string NullValue => "undefined";

/// <summary>
/// Chemin vers lequel sont créés les fichiers d'endpoints générés, relatif à la racine de l'API.
/// </summary>
private string ComputedApiClientFilePath => ApiClientFilePath != null ? ApiClientFilePath : ApiMode == TargetFramework.ANGULAR ? "{module}/{fileName}.service.ts" : "{module}/{fileName}.ts";

public string GetClassFileName(Class classe, string tag)
{
return Path.Combine(
Expand Down Expand Up @@ -143,8 +138,8 @@ public string GetEndpointsFileName(ModelFile file, string tag)
return Path.Combine(
OutputDirectory,
ResolveVariables(ApiClientRootPath!, tag),
ResolveVariables(ComputedApiClientFilePath, module: file.Namespace.ModulePathKebab)
.Replace("{fileName}", file.Options.Endpoints.FileName.ToKebabCase()))
ResolveVariables(ApiClientFilePath!, module: file.Namespace.ModulePathKebab)
.Replace("{fileName}", file.Options.Endpoints.FileName.ToKebabCase())) + ".ts"
.Replace("\\", "/");
}

Expand Down

0 comments on commit 5ed868a

Please sign in to comment.