graph2: Added logging changes for Channel, Log, Post and Character.
the build failed

This commit is contained in:
2018-10-09 20:25:55 +02:00
parent 8a85313762
commit 34f86d5037
7 changed files with 225 additions and 14 deletions
+17 -2
View File
@@ -7,6 +7,7 @@ import (
"git.aiterp.net/rpdata/api/graph2/input"
"git.aiterp.net/rpdata/api/internal/auth"
"git.aiterp.net/rpdata/api/models"
"git.aiterp.net/rpdata/api/models/changes"
"git.aiterp.net/rpdata/api/models/channels"
)
@@ -45,7 +46,14 @@ func (r *mutationResolver) AddChannel(ctx context.Context, input input.ChannelAd
locationName = *input.LocationName
}
return channels.Add(input.Name, logged, hub, eventName, locationName)
channel, err := channels.Add(input.Name, logged, hub, eventName, locationName)
if err != nil {
return models.Channel{}, errors.New("Failed to add channel: " + err.Error())
}
go changes.Submit("Channel", "add", token.UserID, channel)
return channel, nil
}
func (r *mutationResolver) EditChannel(ctx context.Context, input input.ChannelEditInput) (models.Channel, error) {
@@ -59,5 +67,12 @@ func (r *mutationResolver) EditChannel(ctx context.Context, input input.ChannelE
return models.Channel{}, errors.New("Channel not found")
}
return channels.Edit(channel, input.Logged, input.Hub, input.EventName, input.LocationName)
channel, err = channels.Edit(channel, input.Logged, input.Hub, input.EventName, input.LocationName)
if err != nil {
return models.Channel{}, errors.New("Failed to edit channel: " + err.Error())
}
go changes.Submit("Channel", "edit", token.UserID, channel)
return channel, nil
}
+42 -6
View File
@@ -8,6 +8,7 @@ import (
"git.aiterp.net/rpdata/api/graph2/input"
"git.aiterp.net/rpdata/api/internal/auth"
"git.aiterp.net/rpdata/api/models"
"git.aiterp.net/rpdata/api/models/changes"
"git.aiterp.net/rpdata/api/models/characters"
"git.aiterp.net/rpdata/api/models/logs"
)
@@ -62,7 +63,14 @@ func (r *mutationResolver) AddCharacter(ctx context.Context, input input.Charact
logs.ScheduleFullUpdate()
return characters.Add(input.Nick, input.Name, shortName, author, description)
character, err := characters.Add(input.Nick, input.Name, shortName, author, description)
if err != nil {
return models.Character{}, errors.New("Adding character failed: " + err.Error())
}
go changes.Submit("Character", "add", token.UserID, character)
return character, nil
}
func (r *mutationResolver) AddCharacterNick(ctx context.Context, input input.CharacterNickInput) (models.Character, error) {
@@ -82,7 +90,15 @@ func (r *mutationResolver) AddCharacterNick(ctx context.Context, input input.Cha
logs.ScheduleFullUpdate()
return characters.AddNick(character, input.Nick)
character, err = characters.AddNick(character, input.Nick)
if err != nil {
return models.Character{}, errors.New("Failed to add nick: " + err.Error())
}
go logs.ScheduleFullUpdate()
go changes.Submit("Character", "edit", token.UserID, character)
return character, nil
}
func (r *mutationResolver) RemoveCharacterNick(ctx context.Context, input input.CharacterNickInput) (models.Character, error) {
@@ -96,9 +112,15 @@ func (r *mutationResolver) RemoveCharacterNick(ctx context.Context, input input.
return models.Character{}, errors.New("You are not permitted to edit this character")
}
logs.ScheduleFullUpdate()
character, err = characters.RemoveNick(character, input.Nick)
if err != nil {
return models.Character{}, errors.New("Failed to remove nick: " + err.Error())
}
return characters.RemoveNick(character, input.Nick)
go logs.ScheduleFullUpdate()
go changes.Submit("Character", "edit", token.UserID, character)
return character, nil
}
func (r *mutationResolver) EditCharacter(ctx context.Context, input input.CharacterEditInput) (models.Character, error) {
@@ -119,7 +141,14 @@ func (r *mutationResolver) EditCharacter(ctx context.Context, input input.Charac
return models.Character{}, errors.New("You are not permitted to edit this character")
}
return characters.Edit(character, input.Name, input.ShortName, input.Description)
character, err = characters.Edit(character, input.Name, input.ShortName, input.Description)
if err != nil {
return models.Character{}, errors.New("Failed to edit character: " + err.Error())
}
go changes.Submit("Character", "edit", token.UserID, character)
return character, nil
}
func (r *mutationResolver) RemoveCharacter(ctx context.Context, input input.CharacterRemoveInput) (models.Character, error) {
@@ -133,5 +162,12 @@ func (r *mutationResolver) RemoveCharacter(ctx context.Context, input input.Char
return models.Character{}, errors.New("You are not permitted to remove this character")
}
return characters.Remove(character)
character, err = characters.Remove(character)
if err != nil {
return models.Character{}, errors.New("Failed to remove character: " + err.Error())
}
go changes.Submit("Character", "remove", token.UserID, character)
return character, nil
}
+25 -3
View File
@@ -9,6 +9,7 @@ import (
"git.aiterp.net/rpdata/api/internal/auth"
"git.aiterp.net/rpdata/api/internal/loader"
"git.aiterp.net/rpdata/api/models"
"git.aiterp.net/rpdata/api/models/changes"
"git.aiterp.net/rpdata/api/models/logs"
"github.com/99designs/gqlgen/graphql"
)
@@ -71,7 +72,14 @@ func (r *mutationResolver) AddLog(ctx context.Context, input input.LogAddInput)
description = *input.Description
}
return logs.Add(input.Date, input.Channel, title, event, description, open)
log, err := logs.Add(input.Date, input.Channel, title, event, description, open)
if !token.Authenticated() || !token.Permitted("log.add") {
return models.Log{}, errors.New("Failed to create log: " + err.Error())
}
go changes.Submit("Log", "add", token.UserID, log)
return log, nil
}
func (r *mutationResolver) EditLog(ctx context.Context, input input.LogEditInput) (models.Log, error) {
@@ -85,7 +93,14 @@ func (r *mutationResolver) EditLog(ctx context.Context, input input.LogEditInput
return models.Log{}, errors.New("Log not found")
}
return logs.Edit(log, input.Title, input.Event, input.Description, input.Open)
log, err = logs.Edit(log, input.Title, input.Event, input.Description, input.Open)
if err != nil {
return models.Log{}, errors.New("Failed to edit log: " + err.Error())
}
go changes.Submit("Log", "edit", token.UserID, log)
return log, nil
}
func (r *mutationResolver) RemoveLog(ctx context.Context, input input.LogRemoveInput) (models.Log, error) {
@@ -99,5 +114,12 @@ func (r *mutationResolver) RemoveLog(ctx context.Context, input input.LogRemoveI
return models.Log{}, errors.New("Log not found")
}
return logs.Remove(log)
log, err = logs.Remove(log)
if err != nil {
return models.Log{}, errors.New("Failed to remove log: " + err.Error())
}
go changes.Submit("Log", "remove", token.UserID, log)
return log, nil
}
+29 -3
View File
@@ -4,6 +4,7 @@ import (
"context"
"errors"
"git.aiterp.net/rpdata/api/models/changes"
"git.aiterp.net/rpdata/api/models/logs"
"git.aiterp.net/rpdata/api/graph2/input"
@@ -58,6 +59,7 @@ func (r *mutationResolver) AddPost(ctx context.Context, input input.PostAddInput
}
go logs.UpdateCharacters(log)
go changes.Submit("Post", "add", token.UserID, post)
return post, nil
}
@@ -84,7 +86,14 @@ func (r *mutationResolver) EditPost(ctx context.Context, input input.PostEditInp
}()
}
return posts.Edit(post, input.Time, input.Kind, input.Nick, input.Text)
post, err = posts.Edit(post, input.Time, input.Kind, input.Nick, input.Text)
if err != nil {
return models.Post{}, errors.New("Adding post failed: " + err.Error())
}
go changes.Submit("Post", "edit", token.UserID, post)
return post, nil
}
func (r *mutationResolver) MovePost(ctx context.Context, input input.PostMoveInput) ([]models.Post, error) {
@@ -98,7 +107,18 @@ func (r *mutationResolver) MovePost(ctx context.Context, input input.PostMoveInp
return nil, errors.New("Post not found")
}
return posts.Move(post, input.ToPosition)
posts, err := posts.Move(post, input.ToPosition)
if err != nil {
return nil, errors.New("Moving posts failed: " + err.Error())
}
posts2 := make([]interface{}, len(posts))
for i := range posts {
posts2[i] = posts[i]
}
go changes.Submit("Post", "move", token.UserID, posts2...)
return posts, nil
}
func (r *mutationResolver) RemovePost(ctx context.Context, input input.PostRemoveInput) (models.Post, error) {
@@ -112,6 +132,11 @@ func (r *mutationResolver) RemovePost(ctx context.Context, input input.PostRemov
return models.Post{}, errors.New("Post not found (before removing, of course)")
}
post, err = posts.Remove(post)
if err != nil {
return models.Post{}, errors.New("Could not remove post: " + err.Error())
}
go func() {
log, err := logs.FindID(post.LogID)
if err != nil {
@@ -120,6 +145,7 @@ func (r *mutationResolver) RemovePost(ctx context.Context, input input.PostRemov
logs.UpdateCharacters(log)
}()
go changes.Submit("Post", "remove", token.UserID, post)
return posts.Remove(post)
return post, nil
}