This repository has no description
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}