Nhiệm vụ: Sửa lỗi tạo Concept với parentId
Sửa lỗi tạo Concept với parentId
GraphQL KBConceptCreateInput chấp nhận parentId, nhưng createConcept bị lỗi khi truyền nó vào Prisma thay vì quan hệ Parent chính xác.
Vấn đề
Khi tạo Concept thông qua GraphQL input KBConceptCreateInput, nó công khai chứa trường parentId, tuy nhiên việc cố gắng gọi createConcept với trường này lại dẫn đến lỗi ở tầng Prisma.
Theo hành vi thực tế, resolver truyền trực tiếp parentId vào dữ liệu tạo của Prisma, trong khi schema của Prisma lại mong đợi quan hệ Parent.
Do đó, không thể tạo Concept con một cách bình thường thông qua API, mặc dù schema GraphQL thông báo rằng parentId được hỗ trợ.
Cách tái tạo
- Thực hiện introspection
KBConceptCreateInput— trườngparentIdcó mặt. - Gọi
createConceptvớiparentIdhợp lệ của một Concept hiện có. - Nhận lỗi từ Prisma về trường không xác định
parentId/ mong đợi quan hệParent.
Vấn đề được phát hiện khi cố gắng tạo Concept "Chỉnh sửa nội dung một phần an toàn bởi các tác nhân LLM" làm con của "Các vấn đề kiến trúc của các tác nhân LLM hiện đại".
Cần phải làm gì
Sửa resolver/tầng chuyển đổi input sao cho parentId được chuyển đổi chính xác thành quan hệ Prisma, ví dụ thông qua Parent: { connect: { id: parentId } }, hoặc theo cách khác phù hợp với mô hình dữ liệu hiện tại.
Kiểm tra ánh xạ tương tự cho rootId nếu nó được cấu trúc theo cùng một cách.
Tiêu chí hoàn thành
createConceptvớiparentIdhợp lệ tạo thành công Concept con;- Concept được tạo trả về
parentIdchính xác; - Việc tạo Concept không có
parentIdvẫn tiếp tục hoạt động; - GraphQL input và hành vi thực tế của resolver không còn mâu thuẫn.