Better logging for uploads to file request

This commit is contained in:
Marc Ole Bulling
2026-01-26 00:08:01 +01:00
parent 10b5b45d16
commit 581bf5dab7
5 changed files with 17 additions and 4 deletions

View File

@@ -24,6 +24,9 @@ func dbToFileRequest(input []any) (models.FileRequest, error) {
// GetFileRequest returns the FileRequest or false if not found
func (p DatabaseProvider) GetFileRequest(id string) (models.FileRequest, bool) {
if id == "" {
return models.FileRequest{}, false
}
result, ok := p.getHashMap(prefixFileRequests + id)
if !ok {
return models.FileRequest{}, false

View File

@@ -22,6 +22,9 @@ type schemaFileRequests struct {
// GetFileRequest returns the FileRequest or false if not found
func (p DatabaseProvider) GetFileRequest(id string) (models.FileRequest, bool) {
if id == "" {
return models.FileRequest{}, false
}
var rowResult schemaFileRequests
row := p.sqliteDb.QueryRow("SELECT * FROM UploadRequests WHERE Id = ?", id)
err := row.Scan(&rowResult.Id, &rowResult.Name, &rowResult.UserId, &rowResult.Expiry,

View File

@@ -115,8 +115,12 @@ func LogDownload(file models.File, r *http.Request, saveIp bool) {
}
// LogUpload adds a log entry when an upload was created. Non-Blocking
func LogUpload(file models.File, user models.User) {
createLogEntry(categoryUpload, fmt.Sprintf("%s, ID %s, uploaded by %s (user #%d)", file.Name, file.Id, user.Name, user.Id), false)
func LogUpload(file models.File, user models.User, fr models.FileRequest) {
if fr.Id != "" {
createLogEntry(categoryUpload, fmt.Sprintf("%s, ID %s, uploaded to file request %s (%s), owned by %s (user #%d) ", file.Name, file.Id, fr.Id, fr.Name, user.Name, user.Id), false)
} else {
createLogEntry(categoryUpload, fmt.Sprintf("%s, ID %s, uploaded by %s (user #%d)", file.Name, file.Id, user.Name, user.Id), false)
}
}
// LogEdit adds a log entry when an upload was edited. Non-Blocking

View File

@@ -464,7 +464,8 @@ func doBlockingPartCompleteChunk(w http.ResponseWriter, uuid string, fileHeader
if uploadParameters.FileRequestId != "" {
chunkreservation.SetComplete(uploadParameters.FileRequestId, uuid)
}
logging.LogUpload(file, user)
fr, _ := filerequest.Get(uploadParameters.FileRequestId)
logging.LogUpload(file, user, fr)
outputFileJson(w, file)
}

View File

@@ -44,7 +44,9 @@ func ProcessCompleteFile(w http.ResponseWriter, r *http.Request, userId, maxMemo
return err
}
user, _ := database.GetUser(userId)
logging.LogUpload(result, user)
// Returns empty fr if the file is not related to a file request
fr, _ := database.GetFileRequest(config.FileRequestId)
logging.LogUpload(result, user, fr)
_, _ = io.WriteString(w, result.ToJsonResult(config.ExternalUrl, configuration.Get().IncludeFilename))
return nil
}