private static T GetDtoSchemaRef <T>(ServiceDtoInfo dtoInfo) where T : ISwaggerSchema, new() { return(new T { Ref = "#/definitions/" + dtoInfo.Name, }); }
private void AddDto(IDictionary <string, ServiceDtoInfo> dictionary, ServiceDtoInfo dto) { if (dto != null && !dictionary.ContainsKey(dto.Name)) { dictionary[dto.Name] = dto; } }
private void WriteDto(CodeWriter code, ServiceDtoInfo dtoInfo, ServiceInfo service) { code.WriteLine(); WriteJsDoc(code, dtoInfo); using (code.Block($"export interface I{CodeGenUtility.Capitalize(dtoInfo.Name)} {{", "}")) { foreach (var fieldInfo in dtoInfo.Fields) { code.WriteLineSkipOnce(); WriteJsDoc(code, fieldInfo); code.WriteLine($"{fieldInfo.Name}?: {RenderFieldType(service.GetFieldType(fieldInfo))};"); } } }
private static SwaggerSchema GetDtoSchema(ServiceInfo serviceInfo, ServiceDtoInfo dtoInfo) { var propertiesObject = new OurDictionary <string, SwaggerSchema>(); foreach (var fieldInfo in dtoInfo.Fields) { SwaggerSchema propertyObject = GetTypeSchema <SwaggerSchema>(serviceInfo.GetFieldType(fieldInfo)); if (propertyObject.Ref == null) { propertyObject.Description = GetSummaryOrNull(fieldInfo); propertyObject.Obsolete = GetObsoleteOrNull(fieldInfo); } propertiesObject[fieldInfo.Name] = propertyObject; } return(new SwaggerSchema { Type = SwaggerSchemaType.Object, Description = GetSummaryOrNull(dtoInfo), Properties = propertiesObject, Obsolete = GetObsoleteOrNull(dtoInfo), Remarks = GetRemarksOrNull(dtoInfo), }); }
public static string GetDtoName(ServiceDtoInfo dtoInfo) => CodeGenUtility.Capitalize(dtoInfo.Name) + "Dto";