Esempio n. 1
0
        /// <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;
            }));
        }
Esempio n. 2
0
        /// <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));
        }
Esempio n. 5
0
 public RequestUrlTemplate(TypeScriptOperationModel model)
 {
     Model = model;
 }
Esempio n. 6
0
 public ProcessResponseTemplate(TypeScriptOperationModel model)
 {
     Model = model;
 }