This is an automated email from the ASF dual-hosted git repository. linkinstar pushed a commit to branch test in repository https://gitbox.apache.org/repos/asf/incubator-answer.git
commit ecf75669c11592fe3a0084c3ffc6876cc53cd1cc Author: zahash <[email protected]> AuthorDate: Tue Apr 23 12:34:14 2024 +0530 [wip] start issue 909 --- internal/migrations/init.go | 77 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 71 insertions(+), 6 deletions(-) diff --git a/internal/migrations/init.go b/internal/migrations/init.go index 8448bfc4..2dbd425b 100644 --- a/internal/migrations/init.go +++ b/internal/migrations/init.go @@ -23,7 +23,9 @@ import ( "context" "encoding/json" "fmt" + "github.com/apache/incubator-answer/internal/schema" + "github.com/apache/incubator-answer/internal/service/unique" "github.com/segmentfault/pacman/log" "github.com/apache/incubator-answer/internal/entity" @@ -32,14 +34,15 @@ import ( ) type Mentor struct { - ctx context.Context - engine *xorm.Engine - userData *InitNeedUserInputData - err error - Done bool + ctx context.Context + engine *xorm.Engine + uniqueIDRepo unique.UniqueIDRepo + userData *InitNeedUserInputData + err error + Done bool } -func NewMentor(ctx context.Context, engine *xorm.Engine, data *InitNeedUserInputData) *Mentor { +func NewMentor(ctx context.Context, engine *xorm.Engine, uniqueIDRepo unique.UniqueIDRepo, data *InitNeedUserInputData) *Mentor { return &Mentor{ctx: ctx, engine: engine, userData: data} } @@ -73,6 +76,7 @@ func (m *Mentor) InitDB() error { m.do("init site info user config", m.initSiteInfoUsersConfig) m.do("init site info privilege rank", m.initSiteInfoPrivilegeRank) m.do("init site info write", m.initSiteInfoWrite) + m.do("init default content", m.initDefaultContent) return m.err } @@ -255,3 +259,64 @@ func (m *Mentor) initSiteInfoWrite() { Status: 1, }) } + +func (m *Mentor) initDefaultContent() { + tag := entity.Tag{ + SlugName: "support", + DisplayName: "support", + OriginalText: "For general support questions.", + UserID: "1", + } + + tag.ID, m.err = m.uniqueIDRepo.GenUniqueIDStr(m.ctx, tag.TableName()) + if m.err != nil { + return + } + + _, m.err = m.engine.Context(m.ctx).Insert(tag) + if m.err != nil { + return + } + + var q1 = &entity.Question{ + UserID: "1", + Title: "What is a tag?", + OriginalText: "When asking a question, we need to choose tags. What are tags and why should I use them?", + } + + q1.ID, m.err = m.uniqueIDRepo.GenUniqueIDStr(m.ctx, q1.TableName()) + if m.err != nil { + return + } + + _, m.err = m.engine.Context(m.ctx).Insert(q1) + if m.err != nil { + return + } + + var q1_tag_rel = &entity.TagRel{ + ObjectID: q1.ID, + TagID: tag.ID, + } + + _, m.err = m.engine.Context(m.ctx).Insert(q1_tag_rel) + if m.err != nil { + return + } + + var a1 = &entity.Answer{ + QuestionID: q1.ID, + UserID: "1", + OriginalText: "Tags help to organize content and make searching easier. It helps your question get more attention from people interested in that tag. Tags also send notifications. If you are interested in some topic, follow that tag to get updates.", + } + + a1.ID, m.err = m.uniqueIDRepo.GenUniqueIDStr(m.ctx, a1.TableName()) + if m.err != nil { + return + } + + _, m.err = m.engine.Context(m.ctx).Insert(a1) + if m.err != nil { + return + } +}
