using Dpz.Core.EnumLibrary;
namespace Dpz.Core.Public.ViewModel.Response;
/// <summary>
/// 源码文件系统实体列表响应
/// </summary>
public class CodeFileSystemEntryListResponse
{
/// <summary>
/// Gets or sets Id.
/// </summary>
public required string Id { get; set; }
/// <summary>
/// 完整路径分段
/// </summary>
public required List<string> PathSegments { get; set; } = [];
/// <summary>
/// 名称
/// </summary>
public required string Name { get; set; }
/// <summary>
/// 父级路径分段(根目录为空集合)
/// </summary>
public List<string> ParentPathSegments { get; set; } = [];
/// <summary>
/// 是否为目录
/// </summary>
public bool IsDirectory { get; set; }
/// <summary>
/// 扩展名(目录为空)
/// </summary>
public string? Extension { get; set; }
/// <summary>
/// 大小(目录为空)
/// </summary>
public long? Size { get; set; }
/// <summary>
/// 文件哈希(目录为空)
/// </summary>
public string? Hash { get; set; }
/// <summary>
/// 文件内容类型(目录为 Unknown)
/// </summary>
public CodeFileContentType CodeFileContentType { get; set; }
/// <summary>
/// 代码语言
/// </summary>
public string? CodeLanguage { get; set; }
/// <summary>
/// 标签
/// </summary>
public List<string> Tags { get; set; } = [];
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreatedTime { get; set; }
/// <summary>
/// 最后修改时间
/// </summary>
public DateTime LastWriteTime { get; set; }
/// <summary>
/// 最后更新时间(数据更新时间)
/// </summary>
public DateTime LastUpdateTime { get; set; }
/// <summary>
/// 描述
/// </summary>
public string? Description { get; set; }
/// <summary>
/// AI分析时间
/// </summary>
public DateTime? AiAnalyzeTime { get; set; }
/// <summary>
/// AI分析对应的文件哈希
/// </summary>
public string? AiAnalyzeHash { get; set; }
}
⚠⚠ 以下内容为AI分析的结果,请根据实际情况进行判断。
这是一个用于响应源码文件系统实体列表的数据传输对象(DTO)类。让我详细解释一下这个类的结构和用途:
类的总体用途
CodeFileSystemEntryListResponse 是一个响应模型类,用于在API或服务层返回源码文件系统中的文件或目录信息。
属性详细说明
基础标识信息
Id: 唯一标识符,使用required关键字表示必须赋值Name: 文件或目录的名称
路径相关
PathSegments: 完整路径的分段列表,例如["src", "components", "Button.tsx"]ParentPathSegments: 父级目录的路径分段,根目录时为空集合
文件系统属性
IsDirectory: 布尔值,标识当前项是否为目录Extension: 文件扩展名(如果是目录则为空)Size: 文件大小(目录时为空)Hash: 文件内容的哈希值,用于版本控制或完整性校验
代码分析相关
CodeFileContentType: 枚举类型,表示文件内容类型(目录时为 Unknown)CodeLanguage: 代码语言标识,如 "C#", "JavaScript" 等Tags: 标签列表,可用于分类或标记文件
时间信息
CreatedTime: 文件创建时间LastWriteTime: 最后修改时间LastUpdateTime: 数据最后更新时间(可能与文件修改时间不同)
AI分析相关
AiAnalyzeTime: AI分析的时间戳AiAnalyzeHash: AI分析时对应的文件哈希值,用于确保分析结果与当前文件版本匹配
其他
Description: 文件或目录的描述信息
设计特点
- 类型安全: 使用了
required关键字确保关键属性必须被赋值 - 灵活性: 通过可空类型(
?)来区分文件和目录的不同属性 - 版本追踪: 通过多个时间戳和哈希值支持版本控制和变更追踪
- AI集成: 专门的AI分析相关字段表明系统具有代码智能分析功能
- 初始化: 使用
= []为集合属性提供默认空值
这个类很适合用于代码仓库管理系统、IDE插件或代码分析工具的API响应。
评论加载中...