This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

core / appview / notify / logging / notifier.go
4.8 kB 132 lines
1package logging 2 3import ( 4 "context" 5 "log/slog" 6 7 "github.com/bluesky-social/indigo/atproto/syntax" 8 "tangled.org/core/appview/models" 9 "tangled.org/core/appview/notify" 10 tlog "tangled.org/core/log" 11) 12 13type loggingNotifier struct { 14 inner notify.Notifier 15 logger *slog.Logger 16} 17 18func NewLoggingNotifier(inner notify.Notifier, logger *slog.Logger) notify.Notifier { 19 return &loggingNotifier{inner, logger} 20} 21 22var _ notify.Notifier = &loggingNotifier{} 23 24func (l *loggingNotifier) NewRepo(ctx context.Context, repo *models.Repo) { 25 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "NewRepo")) 26 l.inner.NewRepo(ctx, repo) 27} 28 29func (l *loggingNotifier) DeleteRepo(ctx context.Context, repo *models.Repo) { 30 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "DeleteRepo")) 31 l.inner.DeleteRepo(ctx, repo) 32} 33 34func (l *loggingNotifier) RenameRepo(ctx context.Context, actor syntax.DID, oldRepo, newRepo *models.Repo) { 35 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "RenameRepo")) 36 l.inner.RenameRepo(ctx, actor, oldRepo, newRepo) 37} 38 39func (l *loggingNotifier) NewStar(ctx context.Context, star *models.Star) { 40 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "NewStar")) 41 l.inner.NewStar(ctx, star) 42} 43 44func (l *loggingNotifier) DeleteStar(ctx context.Context, star *models.Star) { 45 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "DeleteStar")) 46 l.inner.DeleteStar(ctx, star) 47} 48 49func (l *loggingNotifier) NewIssue(ctx context.Context, issue *models.Issue, mentions []syntax.DID) { 50 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "NewIssue")) 51 l.inner.NewIssue(ctx, issue, mentions) 52} 53 54func (l *loggingNotifier) NewIssueComment(ctx context.Context, comment *models.IssueComment, mentions []syntax.DID) { 55 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "NewIssueComment")) 56 l.inner.NewIssueComment(ctx, comment, mentions) 57} 58 59func (l *loggingNotifier) NewIssueState(ctx context.Context, actor syntax.DID, issue *models.Issue) { 60 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "NewIssueState")) 61 l.inner.NewIssueState(ctx, actor, issue) 62} 63 64func (l *loggingNotifier) DeleteIssue(ctx context.Context, issue *models.Issue) { 65 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "DeleteIssue")) 66 l.inner.DeleteIssue(ctx, issue) 67} 68 69func (l *loggingNotifier) NewIssueLabelOp(ctx context.Context, issue *models.Issue) { 70 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "NewIssueLabelOp")) 71 l.inner.NewIssueLabelOp(ctx, issue) 72} 73 74func (l *loggingNotifier) NewPullLabelOp(ctx context.Context, pull *models.Pull) { 75 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "NewPullLabelOp")) 76 l.inner.NewPullLabelOp(ctx, pull) 77} 78 79func (l *loggingNotifier) NewFollow(ctx context.Context, follow *models.Follow) { 80 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "NewFollow")) 81 l.inner.NewFollow(ctx, follow) 82} 83 84func (l *loggingNotifier) DeleteFollow(ctx context.Context, follow *models.Follow) { 85 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "DeleteFollow")) 86 l.inner.DeleteFollow(ctx, follow) 87} 88 89func (l *loggingNotifier) NewPull(ctx context.Context, pull *models.Pull) { 90 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "NewPull")) 91 l.inner.NewPull(ctx, pull) 92} 93 94func (l *loggingNotifier) NewPullComment(ctx context.Context, comment *models.PullComment, mentions []syntax.DID) { 95 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "NewPullComment")) 96 l.inner.NewPullComment(ctx, comment, mentions) 97} 98 99func (l *loggingNotifier) NewPullState(ctx context.Context, actor syntax.DID, pull *models.Pull) { 100 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "NewPullState")) 101 l.inner.NewPullState(ctx, actor, pull) 102} 103 104func (l *loggingNotifier) UpdateProfile(ctx context.Context, profile *models.Profile) { 105 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "UpdateProfile")) 106 l.inner.UpdateProfile(ctx, profile) 107} 108 109func (l *loggingNotifier) NewString(ctx context.Context, s *models.String) { 110 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "NewString")) 111 l.inner.NewString(ctx, s) 112} 113 114func (l *loggingNotifier) EditString(ctx context.Context, s *models.String) { 115 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "EditString")) 116 l.inner.EditString(ctx, s) 117} 118 119func (l *loggingNotifier) DeleteString(ctx context.Context, did, rkey string) { 120 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "DeleteString")) 121 l.inner.DeleteString(ctx, did, rkey) 122} 123 124func (l *loggingNotifier) Push(ctx context.Context, repo *models.Repo, ref, oldSha, newSha, committerDid string) { 125 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "Push")) 126 l.inner.Push(ctx, repo, ref, oldSha, newSha, committerDid) 127} 128 129func (l *loggingNotifier) Clone(ctx context.Context, repo *models.Repo) { 130 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "Clone")) 131 l.inner.Clone(ctx, repo) 132}