|
cd49a78678
|
feat(dict): 新增软删除字典项接口
- 实现了 DELETE /api/dict/:id 接口,用于软删除字典项。
- 支持 `cascade=true` 查询参数,用于级联软删除所有子孙节点。
- 添加了 DeleteDictSchema 用于请求验证。
- 添加了 DeleteDictResponsesSchema 用于 API 文档。
- 服务层实现包含对系统字典的保护、以及对有子节点的非级联删除的防护。
- 所有数据库查询和更新均使用原生 SQL 以规避 ORM 类型问题。
- 在控制器中添加了新路由。
- 在 dict.test.md 中为删除接口添加了全面的测试用例。
|
2025-07-07 21:59:52 +08:00 |
|
|
5580941ffb
|
feat(dict): 新增字典项排序接口
- 实现了 PUT /api/dict/sort 接口,用于批量排序和移动字典项。
- 添加了 SortDictSchema 用于请求验证。
- 添加了 SortDictResponsesSchema 用于 API 文档。
- 使用原生 SQL 和 CASE 语句实现了 sortDict 服务层方法,进行高效的批量更新,解决了之前遇到的 ORM 类型问题。
- 在字典模块的控制器中添加了新路由。
- 在 dict.test.md 中为排序接口添加了全面的测试用例。
|
2025-07-07 21:56:18 +08:00 |
|
|
10ee246b7d
|
feat(dict): 添加更新字典项内容接口
- **新增接口**
- 添加 `PUT /api/dict/:id` 接口,用于更新指定ID的字典项。
- 支持部分更新,只修改传入的字段。
- **Service层**
- 在 `DictService` 中实现 `updateDict` 方法。
- 包含了对字典项存在性的检查,以及对 `code` 和 `name` 唯一性冲突的校验。
- 修复了若干 linter 错误。
- **Schema和Response**
- 在 `dict.schema.ts` 中将 `UpdateDictSchema` 拆分为 `Params` 和 `Body` 两部分,以适应 Elysia 的路由定义。
- 在 `dict.response.ts` 中添加了 `UpdateDictResponsesSchema`,覆盖了成功、未找到和冲突等场景。
- **文档**
- 在 `dict.test.md` 中为新接口添加了详细的测试用例。
|
2025-07-07 21:36:51 +08:00 |
|
|
09a5dc30f1
|
feat(dict): 添加获取指定字典树接口
- **新增接口**
- 添加 `GET /api/dict/tree/:code` 接口,用于获取指定 code 的子树。
- 支持通过 `status` 和 `is_system` 查询参数对子树进行过滤。
- **Service层**
- 在 `DictService` 中实现 `getDictTreeByCode` 方法。
- 解决了 Drizzle ORM 递归查询的类型问题,改用在内存中构建树的可靠方法。
- **Schema和Response**
- 在 `dict.schema.ts` 中将 `GetDictTreeByCodeSchema` 拆分为 `Params` 和 `Query` 两部分,以适应 Elysia 的路由定义。
- 在 `dict.response.ts` 中添加了 `GetDictTreeByCodeResponsesSchema`,增加了 404 错误响应。
- **文档**
- 在 `dict.test.md` 中为新接口添加了详细的测试用例。
|
2025-07-07 21:31:46 +08:00 |
|
|
b11dfa522b
|
feat(dict): 添加获取完整字典树接口
- **新增接口**
- 添加 `GET /api/dict/tree` 接口,用于获取完整的字典树结构。
- 支持通过 `status` 和 `is_system` 查询参数进行过滤。
- **Service层**
- 在 `DictService` 中实现 `getDictTree` 方法,包含从数据库查询数据并将列表转换为树形结构的逻辑。
- 优化了日志记录,修复了linter错误。
- **Schema和Response**
- 在 `dict.schema.ts` 中定义了 `GetDictTreeQuerySchema` 用于验证查询参数。
- 在 `dict.response.ts` 中使用 `t.Recursive` 定义了递归的 `DictTreeNodeSchema` 来描述树形响应结构。
- **文档**
- 更新了 `dict.docs.md`,添加了获取完整字典树的业务逻辑描述。
- 在 `dict.test.md` 中为新接口添加了详细的测试用例。
|
2025-07-07 21:25:27 +08:00 |
|
HeXiaoLong:Suanier
|
f9f75c9d2d
|
feat(dict): 完成字典模块创建字典项接口的Schema、响应、Service、Controller及相关文档,实现参数校验、唯一性校验、层级处理、数据库写入和统一响应。修复drizzle-orm类型兼容问题,调整Schema与Service参数处理逻辑,支持雪花ID生成。
|
2025-07-07 18:32:31 +08:00 |
|