[STYLE] set all the typescript generation in a sub-folder
This commit is contained in:
parent
1fe3cc3523
commit
f3a9ebf5e1
@ -20,12 +20,21 @@ import java.util.UUID;
|
||||
import org.glassfish.jersey.media.multipart.ContentDisposition;
|
||||
import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
|
||||
import org.kar.archidata.catcher.RestErrorResponse;
|
||||
import org.kar.archidata.externalRestApi.TsClassElement.DefinedPosition;
|
||||
import org.kar.archidata.externalRestApi.model.ApiGroupModel;
|
||||
import org.kar.archidata.externalRestApi.model.ClassModel;
|
||||
import org.kar.archidata.externalRestApi.typescript.TsApiGeneration;
|
||||
import org.kar.archidata.externalRestApi.typescript.TsClassElement;
|
||||
import org.kar.archidata.externalRestApi.typescript.TsClassElement.DefinedPosition;
|
||||
import org.kar.archidata.externalRestApi.typescript.TsClassElementGroup;
|
||||
|
||||
public class TsGenerateApi {
|
||||
|
||||
/**
|
||||
* Generate a full API tree for Typescript in a specific folder.
|
||||
* This generate a folder containing a full API with "model" filder and "api" folder.
|
||||
* The generation depend of Zod and can be strict compile.
|
||||
* @param api Data model to generate the api
|
||||
* @param pathPackage Path to store the api.
|
||||
*/
|
||||
public static void generateApi(final AnalyzeApi api, final String pathPackage) throws Exception {
|
||||
final List<TsClassElement> localModel = generateApiModel(api);
|
||||
final TsClassElementGroup tsGroup = new TsClassElementGroup(localModel);
|
||||
@ -35,7 +44,7 @@ public class TsGenerateApi {
|
||||
}
|
||||
// Generate index of model files
|
||||
createModelIndex(pathPackage, tsGroup);
|
||||
|
||||
|
||||
for (final ApiGroupModel element : api.apiModels) {
|
||||
TsApiGeneration.generateApiFile(element, pathPackage, tsGroup);
|
||||
}
|
||||
@ -44,7 +53,7 @@ public class TsGenerateApi {
|
||||
createIndex(pathPackage);
|
||||
copyResourceFile("rest-tools.ts", pathPackage + File.separator + "rest-tools.ts");
|
||||
}
|
||||
|
||||
|
||||
private static void createIndex(final String pathPackage) throws IOException {
|
||||
final String out = """
|
||||
/**
|
||||
@ -53,13 +62,13 @@ public class TsGenerateApi {
|
||||
export * from \"./model\";
|
||||
export * from \"./api\";
|
||||
export * from \"./rest-tools\";
|
||||
|
||||
|
||||
""";
|
||||
final FileWriter myWriter = new FileWriter(pathPackage + File.separator + "index.ts");
|
||||
myWriter.write(out);
|
||||
myWriter.close();
|
||||
}
|
||||
|
||||
|
||||
private static void createResourceIndex(final String pathPackage, final List<ApiGroupModel> apiModels)
|
||||
throws IOException {
|
||||
final StringBuilder out = new StringBuilder("""
|
||||
@ -81,7 +90,7 @@ public class TsGenerateApi {
|
||||
myWriter.write(out.toString());
|
||||
myWriter.close();
|
||||
}
|
||||
|
||||
|
||||
private static void createModelIndex(final String pathPackage, final TsClassElementGroup tsGroup)
|
||||
throws IOException {
|
||||
final StringBuilder out = new StringBuilder("""
|
||||
@ -107,7 +116,7 @@ public class TsGenerateApi {
|
||||
myWriter.write(out.toString());
|
||||
myWriter.close();
|
||||
}
|
||||
|
||||
|
||||
private static List<TsClassElement> generateApiModel(final AnalyzeApi api) throws Exception {
|
||||
// First step is to add all specific basic elements the wrap correctly the model
|
||||
final List<TsClassElement> tsModels = new ArrayList<>();
|
||||
@ -212,9 +221,9 @@ public class TsGenerateApi {
|
||||
tsModels.add(new TsClassElement(model));
|
||||
}
|
||||
return tsModels;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static void copyResourceFile(final String name, final String destinationPath) throws IOException {
|
||||
final InputStream ioStream = TsGenerateApi.class.getClassLoader().getResourceAsStream(name);
|
||||
if (ioStream == null) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
package org.kar.archidata.externalRestApi;
|
||||
package org.kar.archidata.externalRestApi.typescript;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
@ -12,7 +12,6 @@ import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import org.kar.archidata.dataAccess.DataExport;
|
||||
import org.kar.archidata.externalRestApi.TsClassElement.DefinedPosition;
|
||||
import org.kar.archidata.externalRestApi.model.ApiGroupModel;
|
||||
import org.kar.archidata.externalRestApi.model.ApiModel;
|
||||
import org.kar.archidata.externalRestApi.model.ClassEnumModel;
|
||||
@ -21,6 +20,7 @@ import org.kar.archidata.externalRestApi.model.ClassMapModel;
|
||||
import org.kar.archidata.externalRestApi.model.ClassModel;
|
||||
import org.kar.archidata.externalRestApi.model.ClassObjectModel;
|
||||
import org.kar.archidata.externalRestApi.model.RestTypeRequest;
|
||||
import org.kar.archidata.externalRestApi.typescript.TsClassElement.DefinedPosition;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package org.kar.archidata.externalRestApi;
|
||||
package org.kar.archidata.externalRestApi.typescript;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
@ -1,4 +1,4 @@
|
||||
package org.kar.archidata.externalRestApi;
|
||||
package org.kar.archidata.externalRestApi.typescript;
|
||||
|
||||
import java.util.List;
|
||||
|
Loading…
x
Reference in New Issue
Block a user