thread-master/old/backend/internal/model/content_ops/domain/entity/entity.go

113 lines
4.5 KiB
Go
Raw Normal View History

package entity
const (
TopicCandidateCollectionName = "topic_candidates"
ContentPlanCollectionName = "content_plans"
FeedbackEventCollectionName = "feedback_events"
KnowledgeSourceCollectionName = "knowledge_sources"
KnowledgeChunkCollectionName = "knowledge_chunks"
FormulaPoolCollectionName = "formula_pools"
)
type TopicCandidate struct {
ID string `bson:"_id"`
TenantID string `bson:"tenant_id"`
OwnerUID string `bson:"owner_uid"`
PersonaID string `bson:"persona_id"`
Name string `bson:"name"`
Source string `bson:"source,omitempty"`
Category string `bson:"category,omitempty"`
SeedQuery string `bson:"seed_query,omitempty"`
TrendReason string `bson:"trend_reason,omitempty"`
TrendKeywords []string `bson:"trend_keywords,omitempty"`
HeatScore int `bson:"heat_score,omitempty"`
FitScore int `bson:"fit_score,omitempty"`
InteractionScore int `bson:"interaction_score,omitempty"`
ExtendScore int `bson:"extend_score,omitempty"`
RiskScore int `bson:"risk_score,omitempty"`
FinalScore float64 `bson:"final_score,omitempty"`
RecommendedMissions []string `bson:"recommended_missions,omitempty"`
Status string `bson:"status,omitempty"`
CreateAt int64 `bson:"create_at"`
UpdateAt int64 `bson:"update_at"`
}
type KnowledgeSource struct {
ID string `bson:"_id"`
TenantID string `bson:"tenant_id"`
OwnerUID string `bson:"owner_uid"`
PersonaID string `bson:"persona_id"`
SourceType string `bson:"source_type"`
Title string `bson:"title,omitempty"`
Filename string `bson:"filename,omitempty"`
RawContent string `bson:"raw_content,omitempty"`
ParsedStatus string `bson:"parsed_status,omitempty"`
ChunkCount int `bson:"chunk_count,omitempty"`
CreateAt int64 `bson:"create_at"`
}
type KnowledgeChunk struct {
ID string `bson:"_id"`
TenantID string `bson:"tenant_id"`
OwnerUID string `bson:"owner_uid"`
PersonaID string `bson:"persona_id"`
SourceID string `bson:"source_id"`
Content string `bson:"content"`
Topics []string `bson:"topics,omitempty"`
StyleTags []string `bson:"style_tags,omitempty"`
RiskLevel string `bson:"risk_level,omitempty"`
CreateAt int64 `bson:"create_at"`
}
type FormulaPool struct {
ID string `bson:"_id"`
TenantID string `bson:"tenant_id"`
OwnerUID string `bson:"owner_uid"`
PersonaID string `bson:"persona_id"`
Type string `bson:"type"`
Name string `bson:"name"`
Pattern string `bson:"pattern,omitempty"`
UseCases []string `bson:"use_cases,omitempty"`
Avoid []string `bson:"avoid,omitempty"`
Weight int `bson:"weight,omitempty"`
CreateAt int64 `bson:"create_at"`
UpdateAt int64 `bson:"update_at"`
}
type ContentPlan struct {
ID string `bson:"_id"`
TenantID string `bson:"tenant_id"`
OwnerUID string `bson:"owner_uid"`
PersonaID string `bson:"persona_id"`
TopicCandidateID string `bson:"topic_candidate_id,omitempty"`
Topic string `bson:"topic"`
Mission string `bson:"mission"`
TargetAudience string `bson:"target_audience,omitempty"`
Angle string `bson:"angle,omitempty"`
OpeningType string `bson:"opening_type,omitempty"`
BodyType string `bson:"body_type,omitempty"`
Emotion string `bson:"emotion,omitempty"`
EndingType string `bson:"ending_type,omitempty"`
CtaType string `bson:"cta_type,omitempty"`
RiskLevel string `bson:"risk_level,omitempty"`
RequiresHumanReview bool `bson:"requires_human_review,omitempty"`
Avoid []string `bson:"avoid,omitempty"`
SelectedKnowledge []string `bson:"selected_knowledge,omitempty"`
Status string `bson:"status,omitempty"`
CreateAt int64 `bson:"create_at"`
UpdateAt int64 `bson:"update_at"`
}
type FeedbackEvent struct {
ID string `bson:"_id"`
TenantID string `bson:"tenant_id"`
OwnerUID string `bson:"owner_uid"`
PersonaID string `bson:"persona_id"`
ContentPlanID string `bson:"content_plan_id,omitempty"`
DraftID string `bson:"draft_id,omitempty"`
Decision string `bson:"decision"`
Note string `bson:"note,omitempty"`
Snapshot string `bson:"snapshot,omitempty"`
CreateAt int64 `bson:"create_at"`
}