This is an automated email from the ASF dual-hosted git repository.

linkinstar pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-answer.git

commit b2cc3cc26ec61085e75c535743e4941dbeb77927
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
+       }
+}

Reply via email to