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:
@@ -59,6 +59,9 @@ type FileRepo interface {
|
||||
ListTags(ctx context.Context, fileID uuid.UUID) ([]domain.Tag, error)
|
||||
// SetTags replaces all tags on a file (full replace semantics).
|
||||
SetTags(ctx context.Context, fileID uuid.UUID, tagIDs []uuid.UUID) error
|
||||
|
||||
// RecordView appends a view-history row (activity.file_views) for the user.
|
||||
RecordView(ctx context.Context, fileID uuid.UUID, userID int16) error
|
||||
}
|
||||
|
||||
// TagRepo is the persistence interface for tags.
|
||||
|
||||
Reference in New Issue
Block a user