graph2, model: Added Comment type to Change.
This commit is contained in:
@@ -24,12 +24,14 @@ const (
|
||||
ChangeModelTag ChangeModel = "Tag"
|
||||
// ChangeModelChapter is a value of ChangeModel
|
||||
ChangeModelChapter ChangeModel = "Chapter"
|
||||
// ChangeModelComment is a value of ChangeModel
|
||||
ChangeModelComment ChangeModel = "Comment"
|
||||
)
|
||||
|
||||
// IsValid returns true if the underlying string is one of the correct values.
|
||||
func (e ChangeModel) IsValid() bool {
|
||||
switch e {
|
||||
case ChangeModelCharacter, ChangeModelChannel, ChangeModelLog, ChangeModelPost, ChangeModelStory, ChangeModelTag, ChangeModelChapter:
|
||||
case ChangeModelCharacter, ChangeModelChannel, ChangeModelLog, ChangeModelPost, ChangeModelStory, ChangeModelTag, ChangeModelChapter, ChangeModelComment:
|
||||
return true
|
||||
}
|
||||
return false
|
||||
|
||||
+5
-1
@@ -19,6 +19,7 @@ type Change struct {
|
||||
Stories []Story `bson:"stories"`
|
||||
Tags []Tag `bson:"tags"`
|
||||
Chapters []Chapter `bson:"chapters"`
|
||||
Comments []Comment `bson:"comments"`
|
||||
}
|
||||
|
||||
// ChangeKey is a key for a change that can be used when subscribing to them.
|
||||
@@ -29,7 +30,7 @@ type ChangeKey struct {
|
||||
|
||||
// Objects makes a combined, mixed array of all the models stored in this change.
|
||||
func (change *Change) Objects() []interface{} {
|
||||
data := make([]interface{}, 0, len(change.Logs)+len(change.Characters)+len(change.Channels)+len(change.Posts)+len(change.Stories)+len(change.Tags)+len(change.Chapters))
|
||||
data := make([]interface{}, 0, len(change.Logs)+len(change.Characters)+len(change.Channels)+len(change.Posts)+len(change.Stories)+len(change.Tags)+len(change.Chapters)+len(change.Comments))
|
||||
|
||||
for _, log := range change.Logs {
|
||||
data = append(data, log)
|
||||
@@ -52,6 +53,9 @@ func (change *Change) Objects() []interface{} {
|
||||
for _, chapter := range change.Chapters {
|
||||
data = append(data, chapter)
|
||||
}
|
||||
for _, comment := range change.Comments {
|
||||
data = append(data, comment)
|
||||
}
|
||||
|
||||
return data
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ func TestMany(t *testing.T) {
|
||||
},
|
||||
},
|
||||
models.Post{ID: "P5"},
|
||||
models.Comment{ID: "SCC1234"},
|
||||
}
|
||||
|
||||
expectations := []models.ChangeKey{
|
||||
@@ -33,6 +34,7 @@ func TestMany(t *testing.T) {
|
||||
{Model: "Character", ID: "C17"},
|
||||
{Model: "Channel", ID: "#Stuff"},
|
||||
{Model: "Post", ID: "P5"},
|
||||
{Model: "Comment", ID: "SCC1234"},
|
||||
}
|
||||
|
||||
results := changekeys.Many(data...)
|
||||
|
||||
@@ -28,6 +28,11 @@ func TestOne(t *testing.T) {
|
||||
models.Log{ID: "2018-10-23_210303325_RedrockAgency", ShortID: "L807"},
|
||||
models.ChangeKey{Model: "Log", ID: "2018-10-23_210303325_RedrockAgency"},
|
||||
},
|
||||
{
|
||||
"Comment_SCC1234",
|
||||
models.Comment{ID: "SCC1234"},
|
||||
models.ChangeKey{Model: "Comment", ID: "SCC1234"},
|
||||
},
|
||||
}
|
||||
|
||||
for _, row := range table {
|
||||
|
||||
@@ -81,6 +81,10 @@ func Submit(model, op, author string, listed bool, keys []models.ChangeKey, obje
|
||||
change.Chapters = append(change.Chapters, object)
|
||||
case []models.Chapter:
|
||||
change.Chapters = append(change.Chapters, object...)
|
||||
case models.Comment:
|
||||
change.Comments = append(change.Comments, object)
|
||||
case []models.Comment:
|
||||
change.Comments = append(change.Comments, object...)
|
||||
default:
|
||||
log.Printf("Warning: unrecognized object in change: %#+v", object)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user