tangled
alpha
login
or
join now
arabica.social
/
arabica
7
fork
atom
Coffee journaling on ATProto (alpha)
alpha.arabica.social
coffee
7
fork
atom
overview
issues
pulls
pipelines
feat: add join/invite events to audit log
pdewey.com
3 weeks ago
350321a9
c46a93de
verified
This commit was signed with the committer's
known signature
.
pdewey.com
SSH Key Fingerprint:
SHA256:ePOVkJstqVLchGK8m9/OGQG+aFNHD5XN3xjvW9wKCA4=
+33
-2
2 changed files
expand all
collapse all
unified
split
internal
handlers
join.go
moderation
models.go
+29
internal/handlers/join.go
···
10
10
"arabica/internal/atproto"
11
11
"arabica/internal/database/boltstore"
12
12
"arabica/internal/middleware"
13
13
+
"arabica/internal/moderation"
13
14
"arabica/internal/web/bff"
14
15
"arabica/internal/web/pages"
15
16
···
167
168
log.Info().Str("email", reqEmail).Msg("Invite code emailed")
168
169
}
169
170
171
171
+
// Log the action
172
172
+
if h.moderationStore != nil {
173
173
+
auditEntry := moderation.AuditEntry{
174
174
+
ID: generateTID(),
175
175
+
Action: moderation.AuditActionCreateInvite,
176
176
+
ActorDID: userDID,
177
177
+
TargetURI: reqEmail,
178
178
+
Timestamp: time.Now(),
179
179
+
}
180
180
+
if err := h.moderationStore.LogAction(r.Context(), auditEntry); err != nil {
181
181
+
log.Error().Err(err).Msg("Failed to log create invite action")
182
182
+
}
183
183
+
}
184
184
+
170
185
// Remove the join request
171
186
if h.joinStore != nil {
172
187
if err := h.joinStore.DeleteRequest(reqID); err != nil {
···
205
220
log.Error().Err(err).Str("id", reqID).Msg("Failed to delete join request")
206
221
http.Error(w, "Failed to dismiss request", http.StatusInternalServerError)
207
222
return
223
223
+
}
224
224
+
}
225
225
+
226
226
+
// Log the action
227
227
+
if h.moderationStore != nil {
228
228
+
auditEntry := moderation.AuditEntry{
229
229
+
ID: generateTID(),
230
230
+
Action: moderation.AuditActionDismissJoinRequest,
231
231
+
ActorDID: userDID,
232
232
+
TargetURI: reqID,
233
233
+
Timestamp: time.Now(),
234
234
+
}
235
235
+
if err := h.moderationStore.LogAction(r.Context(), auditEntry); err != nil {
236
236
+
log.Error().Err(err).Msg("Failed to log dismiss join request action")
208
237
}
209
238
}
210
239
+4
-2
internal/moderation/models.go
···
148
148
AuditActionUnhideRecord AuditAction = "unhide_record"
149
149
AuditActionBlacklistUser AuditAction = "blacklist_user"
150
150
AuditActionUnblacklistUser AuditAction = "unblacklist_user"
151
151
-
AuditActionDismissReport AuditAction = "dismiss_report"
152
152
-
AuditActionActionReport AuditAction = "action_report"
151
151
+
AuditActionDismissReport AuditAction = "dismiss_report"
152
152
+
AuditActionActionReport AuditAction = "action_report"
153
153
+
AuditActionDismissJoinRequest AuditAction = "dismiss_join_request"
154
154
+
AuditActionCreateInvite AuditAction = "create_invite"
153
155
)
154
156
155
157
// AuditEntry represents a logged moderation action