diff --git a/net_api_generator/generator.py b/net_api_generator/generator.py index 59cedd9c666cd058349ddaa648630b9250181216..ccfef71fccf8c8361d173e43dab848af4fb29ff0 100644 --- a/net_api_generator/generator.py +++ b/net_api_generator/generator.py @@ -538,7 +538,7 @@ def typescript(output_dir, middleware_openapi): generated_api_calls = generate_api_calls(loader.api_functions) write_generated_code_to_file(code_header, imports, generated_type_definitions, generated_api_calls) -# middleware_generator.typescript(middleware_openapi) + middleware_generator.typescript(middleware_openapi) @cli.command(name='es-webpack') @click.option('--output-dir', default='src/api-services.gen/') diff --git a/net_api_generator/middleware_generator/MiddlewareLoader.py b/net_api_generator/middleware_generator/MiddlewareLoader.py index dd54dd4e616877b7e5a5fc313ed9bc2e31a68a8c..a3d0b958aabe1bb23255723461fc86f9465a92b6 100644 --- a/net_api_generator/middleware_generator/MiddlewareLoader.py +++ b/net_api_generator/middleware_generator/MiddlewareLoader.py @@ -35,10 +35,9 @@ class MiddlewareLoader: connected_parameter_types: list[FunctionParameterBaseType] = [] for connected_types in object_property[property_child_key]: if 'type' in connected_types: - if "items" in connected_types and connected_types['title'] == "array": + if "items" in connected_types and connected_types['type'] == "array": if len(connected_types['items']) > 0: array_type = self.load_object_property(property_key, connected_types['items']) - print(array_type) else: array_type = FunctionParameterSimpleType("any", property_key) parameter_type = FunctionParameterArrayType(array_type, property_key) @@ -83,15 +82,17 @@ class MiddlewareLoader: # todo: handle default values + description return parameter_type - def load_properties_parameter_type(self, object_properties: dict)->list[FunctionParameterBaseType]: + def load_properties_parameter_types(self, object_properties: dict)->list[FunctionParameterBaseType]: loaded_object_properties = [] for property_key, object_property in object_properties.items(): loaded_object_properties.append(self.load_object_property(property_key, object_property)) return loaded_object_properties - def load_api_object(self, component: dict)->ApiObject: + def load_api_object(self, component_key, component: dict)->ApiObject: if 'properties' in component: - function_paramter_types = self.load_properties_parameter_type(component['properties']) + function_paramter_types = self.load_properties_parameter_types(component['properties']) + function_parameters = {parameter_type.title: FunctionParameter(parameter_type.title, parameter_type) for parameter_type in function_paramter_types} + return ApiObject(component_key, function_parameters) elif 'enum' in component: enum_type = self.load_enum_parameter_type(component) function_parameter = FunctionParameter(enum_type.title, enum_type) @@ -132,7 +133,7 @@ class MiddlewareLoader: api_objects_order = self.determine_api_object_loading_order(components['schemas']) for component_key in api_objects_order: component = components['schemas'][component_key] - api_object = self.load_api_object(component) + api_object = self.load_api_object(component_key, component) if api_object is not None: self.api_objects.append(api_object)