A vibe coded tangled fork which supports pijul.
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}