Skip to content

Commit bf2127d

Browse files
oxkryptonLinkinStars
authored andcommitted
fix: add missing revision data for default content (fixes #1436)
1 parent 5fa638a commit bf2127d

File tree

1 file changed

+94
-1
lines changed

1 file changed

+94
-1
lines changed

internal/migrations/init.go

Lines changed: 94 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import (
2828
"github.com/apache/answer/internal/base/constant"
2929

3030
"github.com/apache/answer/internal/base/data"
31+
"github.com/apache/answer/internal/repo/revision"
3132
"github.com/apache/answer/internal/repo/unique"
3233
"github.com/apache/answer/internal/schema"
3334
"github.com/segmentfault/pacman/log"
@@ -311,6 +312,7 @@ func (m *Mentor) initSiteInfoWrite() {
311312

312313
func (m *Mentor) initDefaultContent() {
313314
uniqueIDRepo := unique.NewUniqueIDRepo(&data.Data{DB: m.engine})
315+
revisionRepo := revision.NewRevisionRepo(&data.Data{DB: m.engine}, uniqueIDRepo)
314316
now := time.Now()
315317

316318
tagId, err := uniqueIDRepo.GenUniqueIDStr(m.ctx, entity.Tag{}.TableName())
@@ -343,7 +345,7 @@ func (m *Mentor) initDefaultContent() {
343345
return
344346
}
345347

346-
tag := entity.Tag{
348+
tag := &entity.Tag{
347349
ID: tagId,
348350
SlugName: "support",
349351
DisplayName: "support",
@@ -419,16 +421,74 @@ func (m *Mentor) initDefaultContent() {
419421
if m.err != nil {
420422
return
421423
}
424+
tagContent, err := json.Marshal(tag)
425+
if err != nil {
426+
m.err = err
427+
return
428+
}
429+
m.err = revisionRepo.AddRevision(m.ctx, &entity.Revision{
430+
UserID: tag.UserID,
431+
ObjectID: tag.ID,
432+
Title: tag.SlugName,
433+
Content: string(tagContent),
434+
Status: entity.RevisionReviewPassStatus,
435+
}, true)
436+
if m.err != nil {
437+
return
438+
}
439+
tagForRevision := &entity.TagSimpleInfoForRevision{
440+
ID: tag.ID,
441+
MainTagID: tag.MainTagID,
442+
MainTagSlugName: tag.MainTagSlugName,
443+
SlugName: tag.SlugName,
444+
DisplayName: tag.DisplayName,
445+
Recommend: tag.Recommend,
446+
Reserved: tag.Reserved,
447+
RevisionID: tag.RevisionID,
448+
}
422449

423450
_, m.err = m.engine.Context(m.ctx).Insert(q1)
424451
if m.err != nil {
425452
return
426453
}
454+
q1Revision := &entity.QuestionWithTagsRevision{
455+
Question: *q1,
456+
Tags: []*entity.TagSimpleInfoForRevision{tagForRevision},
457+
}
458+
q1Content, err := json.Marshal(q1Revision)
459+
if err != nil {
460+
m.err = err
461+
return
462+
}
463+
m.err = revisionRepo.AddRevision(m.ctx, &entity.Revision{
464+
UserID: q1.UserID,
465+
ObjectID: q1.ID,
466+
Title: q1.Title,
467+
Content: string(q1Content),
468+
Status: entity.RevisionReviewPassStatus,
469+
}, true)
470+
if m.err != nil {
471+
return
472+
}
427473

428474
_, m.err = m.engine.Context(m.ctx).Insert(a1)
429475
if m.err != nil {
430476
return
431477
}
478+
a1Content, err := json.Marshal(a1)
479+
if err != nil {
480+
m.err = err
481+
return
482+
}
483+
m.err = revisionRepo.AddRevision(m.ctx, &entity.Revision{
484+
UserID: a1.UserID,
485+
ObjectID: a1.ID,
486+
Content: string(a1Content),
487+
Status: entity.RevisionReviewPassStatus,
488+
}, true)
489+
if m.err != nil {
490+
return
491+
}
432492

433493
_, m.err = m.engine.Context(m.ctx).Insert(entity.TagRel{
434494
ObjectID: q1.ID,
@@ -443,11 +503,44 @@ func (m *Mentor) initDefaultContent() {
443503
if m.err != nil {
444504
return
445505
}
506+
q2Revision := &entity.QuestionWithTagsRevision{
507+
Question: *q2,
508+
Tags: []*entity.TagSimpleInfoForRevision{tagForRevision},
509+
}
510+
q2Content, err := json.Marshal(q2Revision)
511+
if err != nil {
512+
m.err = err
513+
return
514+
}
515+
m.err = revisionRepo.AddRevision(m.ctx, &entity.Revision{
516+
UserID: q2.UserID,
517+
ObjectID: q2.ID,
518+
Title: q2.Title,
519+
Content: string(q2Content),
520+
Status: entity.RevisionReviewPassStatus,
521+
}, true)
522+
if m.err != nil {
523+
return
524+
}
446525

447526
_, m.err = m.engine.Context(m.ctx).Insert(a2)
448527
if m.err != nil {
449528
return
450529
}
530+
a2Content, err := json.Marshal(a2)
531+
if err != nil {
532+
m.err = err
533+
return
534+
}
535+
m.err = revisionRepo.AddRevision(m.ctx, &entity.Revision{
536+
UserID: a2.UserID,
537+
ObjectID: a2.ID,
538+
Content: string(a2Content),
539+
Status: entity.RevisionReviewPassStatus,
540+
}, true)
541+
if m.err != nil {
542+
return
543+
}
451544

452545
_, m.err = m.engine.Context(m.ctx).Insert(entity.TagRel{
453546
ObjectID: q2.ID,

0 commit comments

Comments
 (0)