113 lines
4.5 KiB
Go
113 lines
4.5 KiB
Go
|
|
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"`
|
||
|
|
}
|