feat(backend): log file views
deploy / deploy (push) Successful in 1m0s

The activity.file_views table existed but nothing ever wrote to it. Add a
POST /files/{id}/views endpoint: FileRepo.RecordView inserts a history row,
FileService.RecordView enforces view ACL first. The file viewer fires it
(fire-and-forget) when a file is opened, including while paging prev/next.

Documented in openapi.yaml; covered by TestRecordFileView (204 on view,
repeatable, 404 for unknown file).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-11 14:49:14 +03:00
parent 8f213e780c
commit a78fc5ba9a
8 changed files with 93 additions and 0 deletions
+12
View File
@@ -407,6 +407,18 @@ paths:
'404':
$ref: '#/components/responses/NotFound'
/files/{file_id}/views:
post:
tags: [Files]
summary: Record that the current user viewed the file
parameters:
- $ref: '#/components/parameters/file_id'
responses:
'204':
description: View recorded
'404':
$ref: '#/components/responses/NotFound'
/files/{file_id}/restore:
post:
tags: [Files]