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