admin: submissions page, download endpoint, uploads search by app_id
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -68,7 +68,8 @@ func (r *UploadRepo) Get(ctx context.Context, fileID string) (UploadMeta, error)
|
||||
|
||||
// List returns upload index records ordered by uploaded_at descending.
|
||||
//
|
||||
// If search is non-empty, name is filtered with a case-insensitive LIKE.
|
||||
// If search is non-empty, file_name or any associated spark_submit app_id is
|
||||
// filtered with a case-insensitive LIKE.
|
||||
// A limit of zero or less falls back to 100; values above 500 are capped.
|
||||
func (r *UploadRepo) List(ctx context.Context, search string, limit int) ([]UploadMeta, error) {
|
||||
if limit <= 0 {
|
||||
@@ -82,18 +83,19 @@ func (r *UploadRepo) List(ctx context.Context, search string, limit int) ([]Uplo
|
||||
var err error
|
||||
if search != "" {
|
||||
rows, err = r.db.sqlDB.QueryContext(ctx, `
|
||||
SELECT file_id, name, size, sha256, uploaded_at
|
||||
FROM upload_files
|
||||
WHERE name LIKE ?
|
||||
ORDER BY uploaded_at DESC
|
||||
SELECT DISTINCT u.file_id, u.name, u.size, u.sha256, u.uploaded_at
|
||||
FROM upload_files u
|
||||
LEFT JOIN spark_submissions s ON u.file_id = s.file_id
|
||||
WHERE u.name LIKE ? OR s.app_id LIKE ?
|
||||
ORDER BY u.uploaded_at DESC
|
||||
LIMIT ?`,
|
||||
"%"+search+"%", limit,
|
||||
"%"+search+"%", "%"+search+"%", limit,
|
||||
)
|
||||
} else {
|
||||
rows, err = r.db.sqlDB.QueryContext(ctx, `
|
||||
SELECT file_id, name, size, sha256, uploaded_at
|
||||
FROM upload_files
|
||||
ORDER BY uploaded_at DESC
|
||||
SELECT u.file_id, u.name, u.size, u.sha256, u.uploaded_at
|
||||
FROM upload_files u
|
||||
ORDER BY u.uploaded_at DESC
|
||||
LIMIT ?`, limit)
|
||||
}
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user