diff --git a/README.md b/README.md index d89bc94..b317aef 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,10 @@ GoMFT is a web-based managed file transfer application built with Go, leveraging  *Scheduling transfers with flexible cron expressions* +### File Metadata + +*Track and manage file metadata with detailed information about transferred files* + ### User Management  *Create user accounts and manage them* @@ -39,6 +43,16 @@ GoMFT is a web-based managed file transfer application built with Go, leveraging - And more via rclone - **Scheduled Transfers**: Configure transfers using cron expressions with flexible scheduling options - **Transfer Monitoring**: Real-time status updates and detailed transfer logs with bytes and files transferred statistics +- **File Metadata Tracking**: Complete history and status of all transferred files with detailed information: + - Process status (processed, archived, deleted) + - File size and hash information + - Advanced search and filtering capabilities + - Metadata retention for compliance and auditing + - Detailed file view with processing timestamps and job association + - Powerful filtering by status, filename, job, and date ranges + - Advanced search interface with multiple criteria + - Bulk management and record deletion capabilities + - Responsive design with mobile-friendly interface - **Web Interface**: User-friendly interface for managing transfers, built with Templ components - **File Pattern Matching**: Support for file patterns to filter files during transfers - **File Output Patterns**: Dynamic naming of destination files using patterns with date variables @@ -201,6 +215,14 @@ GoMFT uses a configuration file located at `./data/gomft/config.json`. On first - Check detailed transfer history with performance metrics - View job run details including any error messages +7. Manage file metadata: + - Navigate to the "Files" section to view all processed files + - Use filters to quickly find files by status, job ID, or filename + - Click on any file to view detailed metadata including timestamps, size, and hash + - Use the advanced search page for complex queries with multiple criteria + - Delete file metadata records when no longer needed + - View files associated with specific jobs by navigating from the job details + ### User Management GoMFT uses a role-based access control system: diff --git a/components/history.templ b/components/history.templ index b1b7923..7548bdb 100644 --- a/components/history.templ +++ b/components/history.templ @@ -50,15 +50,15 @@ templ HistoryContent(ctx context.Context, data HistoryData) {
{ history.Job.Config.Name }
if history.Status == "completed" { - Completed + Completed } else if history.Status == "failed" { - Failed + Failed } else { - { history.Status } + { history.Status } } diff --git a/components/jobs.templ b/components/jobs.templ index bef6b40..3167d1f 100644 --- a/components/jobs.templ +++ b/components/jobs.templ @@ -288,12 +288,10 @@ templ Jobs(ctx context.Context, data JobsData) { if job.Enabled { - Active } else { - Inactive } diff --git a/components/layout.templ b/components/layout.templ index 1a50f86..b494054 100644 --- a/components/layout.templ +++ b/components/layout.templ @@ -29,7 +29,7 @@ templ Layout(title string) { templ LayoutWithContext(title string, ctx context.Context) { - + @@ -128,6 +128,14 @@ templ LayoutWithContext(title string, ctx context.Context) { } - + if isLoggedIn(ctx) { -