Commit Graph
33 Commits
Author SHA1 Message Date
Jeremiah Russell 4ba9d672a6 ♻️ refactor(cli): remove unused credential file
- remove credential file parameters
- use GmailClient instance instead
2025-10-14 07:41:39 +01:00
Jeremiah Russell 4592daa1cc ✨ feat(cli): add execute option to processor
- allow users to skip execution of actions with a new `execute` option
2025-10-12 07:37:54 +01:00
Jeremiah Russell 89dd35d487 ✨ feat(cli): add execute flag to run action
- introduce execute flag to control action execution
- add skip_trash flag to skip rules with trash action
- add skip_delete flag to skip rules with delete action
2025-10-12 07:37:54 +01:00
Jeremiah Russell 2110d56331 ♻️ refactor(cli): extract action execution to separate function
- move action execution logic into its own function
- improve readability and maintainability
2025-10-11 09:35:12 +01:00
Jeremiah Russell 6eb86c5d36 ✨ feat(cli): add skip action flags to cli
- add flags `--skip-trash` and `--skip-delete` to skip trash and delete actions
- add display order and help heading for better cli usage
2025-10-11 09:35:12 +01:00
Jeremiah Russell edcc1bbe45 ✨ feat(cli): add skip-delete flag to cli
- introduce a new flag `--skip-delete`
- add a new option to skip rules with `delete` action
2025-10-11 09:35:12 +01:00
Jeremiah Russell 1997fd2142 ✨ feat(cli): add option to skip trash actions
- introduce `--skip-trash` flag to prevent trashing messages
- add warning log when a trash action is skipped due to the flag
2025-10-11 09:35:12 +01:00
Jeremiah Russell 0bab707b02 ♻️ refactor(trash): refactor trash command
- separates list preparation and trash execution for better modularity
- improves code readability and maintainability
2025-10-11 09:35:12 +01:00
Jeremiah Russell 9fa268340f 🐛 fix(cli): correct count type in add_cli
- fix: change count type from usize to i64 to allow negative values
2025-10-11 09:35:12 +01:00
Jeremiah Russell 1c2e2da031 ✨ feat(cli): implement trash and delete actions
- add processor struct to handle gmail api interactions
- implement trash_messages and delete_messages functions in processor
- integrate processor into run_cli to perform actions on messages
2025-10-11 09:35:12 +01:00
Jeremiah Russell fb7154f752 ✨ feat(cli): implement rule execution logic
- add logic to iterate through labels and execute associated rules
- retrieve rules based on label and perform actions like trashing/deleting messages
- log warnings for missing rules or invalid actions
2025-10-11 09:35:12 +01:00
Jeremiah Russell 6a7c67cffc ♻️ refactor(cli): inject config into run command
- inject config into run command for better access to settings
2025-10-11 09:35:12 +01:00
Jeremiah Russell a1015d9837 ✨ feat(cli): add run command to execute rules
- introduce `run` subcommand to trigger rule execution
- implement `RunCli` struct and logic for rule processing
2025-10-11 09:35:12 +01:00
Jeremiah Russell 360c4d6433 ✨ feat(cli): add run cli command
- introduce run_cli module with clap integration
- implement basic structure for future command logic
2025-10-11 09:35:12 +01:00
Jeremiah Russell a3645a5b14 ♻️ refactor(trash): encapsulate message list operations
- move label, query, and max results setting to the message list
- simplify the `TrashCli::run` method
2025-10-09 22:45:24 +01:00
Jeremiah Russell 9baa7a93b9 ♻️ refactor(cli): improve delete command structure
- Refactor the delete command to improve code structure
- Encapsulate message list operations within the MessageList struct
- Enhance readability and maintainability
2025-10-09 22:45:24 +01:00
Jeremiah Russell bca235a2e7 ✨ feat(cli): add delete subcommand
- introduce delete_cli module for handling message deletion
- implement delete subcommand to permanently remove messages
- refactor subcommands to use non-optional enum for improved handling
2025-10-09 22:45:24 +01:00
Jeremiah Russell 7c5b3c807f ✨ feat(cli): add delete subcommand
- introduce `delete` subcommand for deleting messages in Gmail
- implement command-line arguments for filtering and executing deletion
- add options for max results, pages, labels, and query
2025-10-09 22:45:24 +01:00
Jeremiah Russell fdf623ea20 ♻️ refactor(trash): streamline label handling in trash listing
- consolidate label retrieval and addition into `add_labels` method
- improve code clarity and reduce redundancy
2025-10-09 17:03:04 +01:00
Jeremiah Russell ca06e9290f ✨ feat(message): add label support to message listing
- add ability to filter messages by labels
- enhance message listing functionality
2025-10-09 17:03:04 +01:00
Jeremiah Russell 44d8eef872 ✨ feat(rules_cli): implement add command for managing retention rules
- add `add` subcommand to manage retention rules
- introduce `Period` enum for specifying time units
- implement logic to add and save new retention rules to the configuration
2025-10-09 17:03:04 +01:00
Jeremiah Russell 801628310b ♻️ refactor(cli): move rm_cli to new directory
- move the rm_cli module from src/config_cli/rules_cli/ to src/cli/config_cli/rules_cli/
2025-10-09 17:03:04 +01:00
Jeremiah Russell 7d55e6bbd4 ✨ feat(cli): add remove label subcommand
- add `remove-label` subcommand to remove labels from rules
2025-10-09 17:03:04 +01:00
Jeremiah Russell 278171503f ✨ feat(cli): add list labels subcommand
- add `list` subcommand to `label` subcommand to list labels in rule
- remove `remove` subcommand from `label` subcommand
2025-10-09 17:03:04 +01:00
Jeremiah Russell 0c8da9aa23 ✨ feat(label): implement add label command
- adds a new subcommand to add labels to existing rules
- removes list label subcommand
2025-10-09 17:03:04 +01:00
Jeremiah Russell 12ce3a2fd8 ♻️ refactor(cli): move rules_cli to config_cli
- move rules_cli to config_cli for better organization
2025-10-09 17:03:04 +01:00
Jeremiah Russell ce27475269 ♻️ refactor(cli): rename label_cli module
- move label_cli module to config_cli for better organization
2025-10-09 17:03:04 +01:00
Jeremiah Russell 752f0f8c34 ♻️ refactor(cli): rename action_cli module
- move action_cli module to follow project structure
2025-10-09 17:03:04 +01:00
Jeremiah Russell d4de088fd4 ♻️ refactor(cli): rename trash_cli to cli
- move trash_cli to cli for better project structure
2025-10-09 17:03:04 +01:00
Jeremiah Russell 7ce5cf9bdd ♻️ refactor(cli): rename message_cli to cli
- move message_cli to cli folder
2025-10-09 17:03:04 +01:00
Jeremiah Russell ec0f160317 ♻️ refactor(cli): move label_cli to cli directory
- moves label_cli.rs to the cli directory for better organization
2025-10-09 17:03:04 +01:00
Jeremiah Russell de91753f88 ♻️ refactor(cli): move config_cli to cli directory
- moves the config_cli module to the cli directory for better organization
2025-10-09 17:03:04 +01:00
Jeremiah Russell 0e4f4c6fef ♻️ refactor(cli): move main.rs to cli folder
- move main.rs to cli folder for better structure
2025-10-09 17:03:04 +01:00