99 lines
3.1 KiB
Go
99 lines
3.1 KiB
Go
package dto
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/XingfenD/yoresee_doc/internal/model"
|
|
)
|
|
|
|
type KnowledgeBaseBase struct {
|
|
ExternalID string `json:"external_id"`
|
|
Name string `json:"name"`
|
|
Description string `json:"description"`
|
|
Cover string `json:"cover"`
|
|
IsPublic bool `json:"is_public"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
DeletedAt time.Time `json:"deleted_at"`
|
|
}
|
|
|
|
type KnowledgeBaseExtend struct {
|
|
CreatorUserExternalID string `json:"creator_user_external_id"`
|
|
CreatorName string `json:"creator_name"`
|
|
DocumentsCount int64 `json:"documents_count"`
|
|
}
|
|
|
|
type KnowledgeBaseResponse struct {
|
|
KnowledgeBaseBase
|
|
KnowledgeBaseExtend
|
|
}
|
|
|
|
func NewKnowledgeBaseResponseFromModel(kb *model.KnowledgeBase, kbExtend *KnowledgeBaseExtend) *KnowledgeBaseResponse {
|
|
response := &KnowledgeBaseResponse{
|
|
KnowledgeBaseBase: KnowledgeBaseBase{
|
|
ExternalID: kb.ExternalID,
|
|
Name: kb.Name,
|
|
Description: kb.Description,
|
|
Cover: kb.Cover,
|
|
IsPublic: kb.IsPublic,
|
|
CreatedAt: kb.CreatedAt,
|
|
UpdatedAt: kb.UpdatedAt,
|
|
DeletedAt: kb.DeletedAt,
|
|
},
|
|
}
|
|
if kbExtend != nil {
|
|
response.KnowledgeBaseExtend = KnowledgeBaseExtend{
|
|
CreatorUserExternalID: kbExtend.CreatorUserExternalID,
|
|
CreatorName: kbExtend.CreatorName,
|
|
DocumentsCount: kbExtend.DocumentsCount,
|
|
}
|
|
}
|
|
|
|
return response
|
|
}
|
|
|
|
type CreateRecentKnowledgeBaseRequest struct {
|
|
UserExternalID string `json:"user_external_id"`
|
|
KnowledgeBaseExternalID string `json:"knowledge_base_external_id"`
|
|
AssessTime time.Time `json:"assess_time"`
|
|
}
|
|
|
|
type CreateKnowledgeBaseRequest struct {
|
|
CreatorExternalID string `json:"creator_external_id"`
|
|
Name string `json:"name"`
|
|
Description string `json:"description"`
|
|
Cover string `json:"cover"`
|
|
IsPublic bool `json:"is_public"`
|
|
}
|
|
|
|
type CreateKnowledgeBaseResponse struct {
|
|
ExternalID string `json:"external_id"`
|
|
}
|
|
|
|
type ListRecentKnowledgeBasesRequest struct {
|
|
UserExternalID string `json:"user_external_id"`
|
|
StartTime *time.Time `json:"start_time,omitempty"`
|
|
EndTime *time.Time `json:"end_time,omitempty"`
|
|
Pagination Pagination `json:"pagination"`
|
|
}
|
|
|
|
type KnowledgeBaseListByExternalRequest struct {
|
|
CreatorExternalID string `json:"creator_external_id"`
|
|
FilterArgs *KnowledgeBaseListFilterArgs `json:"filter_args"`
|
|
SortArgs SortArgs `json:"sort_args"`
|
|
Pagination Pagination `json:"pagination"`
|
|
}
|
|
|
|
type KnowledgeBaseGetByExternalIDRequest struct {
|
|
KnowledgeBaseExternalID string `json:"knowledge_base_external_id"`
|
|
}
|
|
|
|
type KnowledgeBaseListFilterArgs struct {
|
|
IsPublic *bool `json:"is_public"`
|
|
NameKeyword *string `json:"name_keyword"`
|
|
CreateTimeRangeStart *string `json:"create_time_range_start"`
|
|
CreateTimeRangeEnd *string `json:"create_time_range_end"`
|
|
UpdateTimeRangeStart *string `json:"update_time_range_start"`
|
|
UpdateTimeRangeEnd *string `json:"update_time_range_end"`
|
|
}
|