A vibe coded tangled fork which supports pijul.
at sl/wnrvrwyvrlzo 119 lines 4.1 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) NewComment(ctx context.Context, comment *models.Comment) { 48 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "NewIssueComment")) 49 l.inner.NewComment(ctx, comment) 50} 51func (l *loggingNotifier) DeleteComment(ctx context.Context, comment *models.Comment) { 52 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "DeleteComment")) 53 l.inner.DeleteComment(ctx, comment) 54} 55 56func (l *loggingNotifier) NewIssueState(ctx context.Context, actor syntax.DID, issue *models.Issue) { 57 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "NewIssueState")) 58 l.inner.NewIssueState(ctx, actor, issue) 59} 60 61func (l *loggingNotifier) DeleteIssue(ctx context.Context, issue *models.Issue) { 62 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "DeleteIssue")) 63 l.inner.DeleteIssue(ctx, issue) 64} 65 66func (l *loggingNotifier) NewIssueLabelOp(ctx context.Context, issue *models.Issue) { 67 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "NewIssueLabelOp")) 68 l.inner.NewIssueLabelOp(ctx, issue) 69} 70 71func (l *loggingNotifier) NewPullLabelOp(ctx context.Context, pull *models.Pull) { 72 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "NewPullLabelOp")) 73 l.inner.NewPullLabelOp(ctx, pull) 74} 75 76func (l *loggingNotifier) NewFollow(ctx context.Context, follow *models.Follow) { 77 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "NewFollow")) 78 l.inner.NewFollow(ctx, follow) 79} 80 81func (l *loggingNotifier) DeleteFollow(ctx context.Context, follow *models.Follow) { 82 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "DeleteFollow")) 83 l.inner.DeleteFollow(ctx, follow) 84} 85 86func (l *loggingNotifier) NewPull(ctx context.Context, pull *models.Pull) { 87 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "NewPull")) 88 l.inner.NewPull(ctx, pull) 89} 90 91func (l *loggingNotifier) NewPullState(ctx context.Context, actor syntax.DID, pull *models.Pull) { 92 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "NewPullState")) 93 l.inner.NewPullState(ctx, actor, pull) 94} 95 96func (l *loggingNotifier) UpdateProfile(ctx context.Context, profile *models.Profile) { 97 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "UpdateProfile")) 98 l.inner.UpdateProfile(ctx, profile) 99} 100 101func (l *loggingNotifier) NewString(ctx context.Context, s *models.String) { 102 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "NewString")) 103 l.inner.NewString(ctx, s) 104} 105 106func (l *loggingNotifier) EditString(ctx context.Context, s *models.String) { 107 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "EditString")) 108 l.inner.EditString(ctx, s) 109} 110 111func (l *loggingNotifier) DeleteString(ctx context.Context, did, rkey string) { 112 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "DeleteString")) 113 l.inner.DeleteString(ctx, did, rkey) 114} 115 116func (l *loggingNotifier) Push(ctx context.Context, repo *models.Repo, ref, oldSha, newSha, committerDid string) { 117 ctx = tlog.IntoContext(ctx, tlog.SubLogger(l.logger, "Push")) 118 l.inner.Push(ctx, repo, ref, oldSha, newSha, committerDid) 119}