namespace MiaoYu.Api.Admin.ApplicationServices.DevelopmentTools.LowCode;
///
/// 代码生成服务
///
public interface ICodeGenerationService : IScopedDependency
{
///
/// 生成上下文集合
///
///
PagingView GetGenContextDtos(int page, int size, GenFormDto search);
///
/// 获取表字段集合
///
///
///
GenDbTableDto GetGenContextDtoByTableName(string tableName);
///
/// 根据 lowCodeTable 填充路径
///
///
///
LowCodeTable FillPathByLowCodeTable(LowCodeTable lowCodeTable);
///
/// 获取代码生成上下文
///
///
///
GenDbTableDto GetGenContextDto(GenFormDto genFormDto);
///
/// 生成 model
///
///
///
Task GenModelAsync(GenFormDto genFormDto);
///
/// 生成 service
///
///
///
Task GenServiceAsync(GenFormDto genFormDto);
///
/// 生成 controller
///
///
///
Task GenControllerAsync(GenFormDto genFormDto);
///
/// 生成 serviceJs
///
///
///
Task GenServiceJsAsync(GenFormDto genFormDto);
///
/// 生成 Index
///
///
///
Task GenIndexAsync(GenFormDto genFormDto);
///
/// 生成 Info
///
///
///
Task GenInfoAsync(GenFormDto genFormDto);
///
/// 获取代码
///
///
///
Task GetCodeByTypeAndTableNameAsync(GenFormDto genFormDto);
///
/// 下载
///
///
///
Task<(byte[] codeBytes, string contentType, string fileName)> DownloadAsync(GenFormDto genFormDto);
///
/// 根据类型下载类型下所有的代码
///
///
///
Task<(byte[] codeBytes, string contentType, string fileName)> DownloadAllAsync(GenFormDto genFormDto);
///
/// 创建所有代码文件
///
///
///
Task CreateAllCodeFilesAsync(GenFormDto genFormDto);
///
/// 创建数据字典文件 excel
///
///
(byte[] excel, string dataBase) CreateDataDictionary();
///
/// 代码生成自动导入项目
///
///
///
Task AutoImprotProjectAsync(GenFormDto genFormDto);
}