migrate from github
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
package grpcserver
|
||||
|
||||
import (
|
||||
doc_container_mapper "github.com/XingfenD/yoresee_doc/internal/mapper/doc_container_mapper"
|
||||
"github.com/XingfenD/yoresee_doc/internal/status"
|
||||
pb "github.com/XingfenD/yoresee_doc/pkg/gen/yoresee_doc/v1"
|
||||
)
|
||||
|
||||
func validateUpdateDocumentRequest(req *pb.UpdateDocumentRequest) error {
|
||||
if req == nil {
|
||||
return status.StatusParamError
|
||||
}
|
||||
if req.Content == nil && req.KnowledgeBaseExternalId == nil && req.ParentExternalId == nil && req.Title == nil && req.MoveToContainer == nil {
|
||||
return status.GenErrWithCustomMsg(status.StatusParamError, "no update fields")
|
||||
}
|
||||
if req.MoveToContainer != nil {
|
||||
containerType, ok := doc_container_mapper.FromProtoType(*req.MoveToContainer)
|
||||
if !ok {
|
||||
return status.GenErrWithCustomMsg(status.StatusParamError, "invalid move_to_container")
|
||||
}
|
||||
requiresKnowledgeBaseID := doc_container_mapper.RequiresKnowledgeBaseID(containerType)
|
||||
if !requiresKnowledgeBaseID && req.KnowledgeBaseExternalId != nil {
|
||||
return status.GenErrWithCustomMsg(status.StatusParamError, "KnowledgeBaseExternalId not nil")
|
||||
}
|
||||
if requiresKnowledgeBaseID && req.KnowledgeBaseExternalId == nil {
|
||||
return status.GenErrWithCustomMsg(status.StatusParamError, "KnowledgeBaseExternalId is nil")
|
||||
}
|
||||
}
|
||||
if req.MoveToContainer == nil && req.KnowledgeBaseExternalId != nil {
|
||||
return status.GenErrWithCustomMsg(status.StatusParamError, "MoveToContainer is nil")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user