SuperAPI AI 工具集

syncable-entity-integration

编程与开发

查看项目

更新于 10-16 03:03

技能介绍

用途:Twenty 服务端内部创建可同步实体的第 5/6 步,在前四步完成后把各部件接线整合、注册到模块,创建服务与解析器,是进入测试前的必要环节。

主要能力:在 3 个 NestJS 模块中注册服务——Builder 模块注册 WorkspaceMigrationMyEntityActionsBuilderService 并同时加入 providers 与 exports;Validators 模块注册 FlatMyEntityValidatorService(providers 与 exports);Action Handlers 模块注册 Create/Update/DeleteMyEntityActionHandlerService(仅 providers)。

服务层:在 src/engine/metadata-modules/my-entity/my-entity.service.ts 创建 MyEntityService,流程为输入转 universal flat entity、调用 validateBuildAndRunWorkspaceMigration、校验失败抛 WorkspaceMigrationBuilderException、返回 flat 实体而非 DTO。

解析器层:在 my-entity.resolver.ts 创建 MyEntityResolver,使用 WorkspaceMigrationGraphqlApiExceptionInterceptor,接收服务的 flat 实体并用转换工具转为 DTO 后返回 GraphQL API,暴露 create/update/delete 变更。

转换:fromFlatMyEntityToMyEntityDto 将 flat 实体字段映射为 DTO 字段。异常拦截器负责把 FlatEntityMapsException、WorkspaceMigrationBuilderException、WorkspaceMigrationRunnerException 格式化为 API 错误并按用户语言翻译。核心原则:服务返回 flat 实体,解析器负责 flat 到 DTO 转换。

限制:仅适用于 Twenty 代码库内部开发,不适用于基于 Twenty 构建应用;必须在完成前四步后使用;此步骤本身不包含测试,测试为后续第 6 步。具体实体字段、命令与运行方式资料未提供更多细节。