This commit is contained in:
@@ -66,11 +66,6 @@ func (s *ChannelService) Create(ctx context.Context, name string, logged, hub bo
|
||||
}
|
||||
|
||||
func (s *ChannelService) Ensure(ctx context.Context, name string) (*models.Channel, error) {
|
||||
err := auth.CheckPermission(ctx, "add", &models.Channel{})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
channel, err := s.channels.Find(ctx, name)
|
||||
if err != nil {
|
||||
channel, err = s.channels.Insert(ctx, models.Channel{
|
||||
|
||||
+31
-12
@@ -97,16 +97,16 @@ func (s *LogService) Import(ctx context.Context, importer models.LogImporter, da
|
||||
|
||||
results := make([]*models.Log, 0, 8)
|
||||
|
||||
eventName := ""
|
||||
if channel, err := channels.FindName(channelName); err != nil {
|
||||
eventName = channel.EventName
|
||||
}
|
||||
|
||||
_, err := s.channelService.Ensure(ctx, channelName)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
eventName := ""
|
||||
if channel, err := channels.FindName(channelName); err == nil {
|
||||
eventName = channel.EventName
|
||||
}
|
||||
|
||||
date = date.In(tz)
|
||||
|
||||
switch importer {
|
||||
@@ -134,6 +134,8 @@ func (s *LogService) Import(ctx context.Context, importer models.LogImporter, da
|
||||
|
||||
posts, err := s.posts.InsertMany(ctx, parsed.Posts...)
|
||||
if err != nil {
|
||||
_ = s.logs.Delete(ctx, *log)
|
||||
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -163,6 +165,8 @@ func (s *LogService) Import(ctx context.Context, importer models.LogImporter, da
|
||||
|
||||
posts, err := s.posts.InsertMany(ctx, parsed.Posts...)
|
||||
if err != nil {
|
||||
_ = s.logs.Delete(ctx, *log)
|
||||
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -204,13 +208,13 @@ func (s *LogService) AddPost(ctx context.Context, logId string, time time.Time,
|
||||
return nil, errors.New("kind, nick and time must be non-empty")
|
||||
}
|
||||
|
||||
log, err := s.logs.Find(ctx, logId)
|
||||
l, err := s.logs.Find(ctx, logId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
post := &models.Post{
|
||||
LogID: log.ShortID,
|
||||
LogID: l.ShortID,
|
||||
Kind: kind,
|
||||
Nick: nick,
|
||||
Text: text,
|
||||
@@ -226,7 +230,12 @@ func (s *LogService) AddPost(ctx context.Context, logId string, time time.Time,
|
||||
return nil, err
|
||||
}
|
||||
|
||||
s.changeService.Submit(ctx, models.ChangeModelPost, "add", true, changekeys.Many(log, post), log, post)
|
||||
err = s.refreshLogCharacters(ctx, *l, nil)
|
||||
if err != nil {
|
||||
log.Printf("Failed to update characters in log %s: %s", l.ID, err)
|
||||
}
|
||||
|
||||
s.changeService.Submit(ctx, models.ChangeModelPost, "add", true, changekeys.Many(l, post), post)
|
||||
|
||||
return post, nil
|
||||
}
|
||||
@@ -251,12 +260,17 @@ func (s *LogService) EditPost(ctx context.Context, id string, update models.Post
|
||||
}
|
||||
|
||||
go func() {
|
||||
log, err := s.logs.Find(context.Background(), post.LogID)
|
||||
l, err := s.logs.Find(context.Background(), post.LogID)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
s.changeService.Submit(ctx, models.ChangeModelPost, "edit", true, changekeys.Many(log, post), post)
|
||||
err = s.refreshLogCharacters(ctx, *l, nil)
|
||||
if err != nil {
|
||||
log.Printf("Failed to update characters in log %s: %s", l.ID, err)
|
||||
}
|
||||
|
||||
s.changeService.Submit(ctx, models.ChangeModelPost, "edit", true, changekeys.Many(l, post), post)
|
||||
}()
|
||||
|
||||
return post, nil
|
||||
@@ -313,12 +327,17 @@ func (s *LogService) DeletePost(ctx context.Context, id string) (*models.Post, e
|
||||
}
|
||||
|
||||
go func() {
|
||||
log, err := s.logs.Find(context.Background(), post.LogID)
|
||||
l, err := s.logs.Find(context.Background(), post.LogID)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
s.changeService.Submit(ctx, models.ChangeModelPost, "remove", true, changekeys.Many(log, post), post)
|
||||
err = s.refreshLogCharacters(ctx, *l, nil)
|
||||
if err != nil {
|
||||
log.Printf("Failed to update characters in log %s: %s", l.ID, err)
|
||||
}
|
||||
|
||||
s.changeService.Submit(ctx, models.ChangeModelPost, "remove", true, changekeys.Many(l, post), post)
|
||||
}()
|
||||
|
||||
return post, nil
|
||||
|
||||
Reference in New Issue
Block a user