/// <summary> /// get the api document all operations /// </summary> /// <returns></returns> public virtual IEnumerable <TypeScriptOperationModel> GetAllOperationModels() { // The intention here is to use the GetOperations of instance, but found that the Emun // type in Query will be thrown away, so directly take the source code to re-process the // type inside _resolver _openApiDocument.GenerateOperationIds(); return(_openApiDocument.Paths .SelectMany(pair => pair.Value.Select(p => new { Path = pair.Key.TrimStart('/'), HttpMethod = p.Key, Operation = p.Value })) .Select(tuple => { var operationName = _clientGeneratorSettings.OperationNameGenerator.GetOperationName(_openApiDocument, tuple.Path, tuple.HttpMethod, tuple.Operation); if (operationName.EndsWith("Async")) { operationName = operationName.Substring(0, operationName.Length - "Async".Length); } var operationModel = new TypeScriptOperationModel(tuple.Operation, _clientGeneratorSettings, _typeScriptClientGenerator, _resolver); // CreateOperationModel(tuple.Operation, _clientGeneratorSettings); operationModel.ControllerName = _clientGeneratorSettings.OperationNameGenerator.GetClientName(_openApiDocument, tuple.Path, tuple.HttpMethod, tuple.Operation); operationModel.Path = tuple.Path; operationModel.HttpMethod = tuple.HttpMethod; operationModel.OperationName = operationName; return operationModel; })); }
/// <summary> /// Map ApiOperation to TypeScriptOperationModel /// </summary> /// <param name="openApiOperation"></param> /// <returns></returns> public virtual TypeScriptOperationModel GetOperationModelByApiOperation( OpenApiOperationDescription openApiOperation) { var operationModel = new TypeScriptOperationModel(openApiOperation.Operation, _clientGeneratorSettings, _typeScriptClientGenerator, _resolver); operationModel.ControllerName = _clientGeneratorSettings.OperationNameGenerator.GetClientName( _openApiDocument, openApiOperation.Path, openApiOperation.Method, openApiOperation.Operation); operationModel.Path = openApiOperation.Path; operationModel.HttpMethod = openApiOperation.Method; operationModel.OperationName = _clientGeneratorSettings.OperationNameGenerator.GetOperationName( _openApiDocument, openApiOperation.Path, openApiOperation.Method, openApiOperation.Operation); return(operationModel); }
/// <summary>Renders the respone process code.</summary> /// <param name="operation">The operation.</param> /// <param name="tabCount">The tab count.</param> /// <returns>Rendered request body</returns> public static string RenderProcessResponseCode(TypeScriptOperationModel operation, int tabCount = 0) { var tpl = new ProcessResponseTemplate(operation); return(ConversionUtilities.Tab(tpl.Render(), tabCount)); }
/// <summary>Renders the request body generation code.</summary> /// <param name="operation">The operation.</param> /// <param name="tabCount">The tab count.</param> /// <returns>Rendered request body</returns> public static string RenderRequestBodyCode(TypeScriptOperationModel operation, int tabCount = 0) { var tpl = new RequestBodyTemplate(operation); return(ConversionUtilities.Tab(tpl.Render(), tabCount)); }
public RequestUrlTemplate(TypeScriptOperationModel model) { Model = model; }
public ProcessResponseTemplate(TypeScriptOperationModel model) { Model = model; }