Files
2026-07-15 22:42:31 +08:00

68 lines
2.5 KiB
Go

package dto
import "time"
type TemplateContainer string
const (
TemplateContainerOwn TemplateContainer = "own"
TemplateContainerKnowledgeBase TemplateContainer = "knowledge_base"
TemplateContainerPublic TemplateContainer = "public"
)
type CreateTemplateRequest struct {
UserExternalID string `json:"user_external_id"`
TargetContainer TemplateContainer `json:"target_container"`
KnowledgeBaseExternalID *string `json:"knowledge_base_external_id,omitempty"`
TemplateContent string `json:"template_content"`
Type DocumentType `json:"type"`
}
type UpdateTemplateSettingsRequest struct {
UserExternalID string `json:"user_external_id"`
TemplateID int64 `json:"template_id"`
Name *string `json:"name,omitempty"`
Description *string `json:"description,omitempty"`
IsPublic *bool `json:"is_public,omitempty"`
}
type TemplateResponse struct {
ID int64 `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
Content string `json:"content"`
Type DocumentType `json:"type"`
Scope string `json:"scope"`
KnowledgeBaseExternalID string `json:"knowledge_base_external_id"`
Tags []string `json:"tags"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type TemplateListFilterArgs struct {
NameKeyword *string `json:"name_keyword"`
TargetContainer *TemplateContainer `json:"target_container"`
KnowledgeBaseID *string `json:"knowledge_base_id"`
Type *DocumentType `json:"type"`
}
type TemplateListByExternalRequest struct {
CreatorExternalID string `json:"creator_external_id"`
FilterArgs *TemplateListFilterArgs `json:"filter_args"`
SortArgs SortArgs `json:"sort_args"`
Pagination Pagination `json:"pagination"`
}
type CreateRecentTemplateRequest struct {
UserExternalID string `json:"user_external_id"`
TemplateID int64 `json:"template_id"`
AccessTime time.Time `json:"access_time"`
}
type ListRecentTemplatesRequest 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"`
}