Jeremiah Russell
475917b27d
✨ feat(core): add utils module
...
- introduce a new utils module for housing utility functions
- improve code organization and reusability
2025-10-02 15:33:00 +01:00
Jeremiah Russell
f53ffe7d8a
✨ feat(utils): create assure_config_dir_exists function
...
- add utility function to create config directory if it doesn't exist
- handle home directory expansion and error conditions
2025-10-02 15:33:00 +01:00
Jeremiah Russell
af929a7acb
✨ feat(gmail): implement list functionality for Gmail API
...
- Add list functionality to retrieve and display email subjects from Gmail.
- Integrate with google_gmail1 crate for Gmail API interactions.
- Implement authentication using InstalledFlowAuthenticator.
- Retrieve and display email subjects using the Gmail API.
- Configure max results to limit displayed subjects.
2025-10-02 15:33:00 +01:00
Jeremiah Russell
44c9220eb1
♻️ refactor(list): refactor list command to accept credential file
...
- update list command to accept credential file path
- create gmail hub in list command
2025-10-02 15:33:00 +01:00
Jeremiah Russell
dc1a52e39b
✨ feat(lib): add error module and export it
...
- introduce a new error module for standardized error handling
- export the Error type for external use
2025-10-02 15:33:00 +01:00
Jeremiah Russell
cd149b0d53
✨ feat(error): introduce custom error enum for cull-gmail
...
- define `Error` enum to encapsulate errors from google_gmail1 and google_clis_common
- use `thiserror` crate for simplified error handling
2025-10-02 15:33:00 +01:00
Jeremiah Russell
7640485297
🐛 fix(credential): fix the config directory
...
- fix the config directory to `.cull-gmail` instead of `.config`
2025-10-02 15:33:00 +01:00
Jeremiah Russell
c30ee21411
♻️ refactor(main): improve error handling and logging
...
- replace panics with proper error handling using `Result`
- enhance logging with error source information and initial log message
- adjust default log level to Info
2025-10-02 15:33:00 +01:00
Jeremiah Russell
5178cb6747
✨ feat(list): implement list api to retrieve gmail messages
...
- add list struct to encapsulate gmail api connection
- implement run function to execute the api call and handle potential errors
2025-10-01 14:55:57 +01:00
Jeremiah Russell
3426d3e60b
✨ feat(list): integrate List struct for message listing
...
- integrate List struct for message listing
- move message listing logic to List struct
2025-10-01 14:55:57 +01:00
Jeremiah Russell
6f9801d5e7
✨ feat(list): export List struct in lib.rs
...
- expose List struct for external use
2025-10-01 14:55:57 +01:00
Jeremiah Russell
420ca81f51
✨ feat(cli): add list subcommand
...
- Implement list subcommand to display Gmail messages
- Use google_gmail1 crate to interact with Gmail API
2025-10-01 14:18:35 +01:00
Jeremiah Russell
e607e0a6d3
✨ feat(core): add client and credential modules
...
- introduce client module for API interactions
- implement credential module for authentication
2025-10-01 14:18:35 +01:00
Jeremiah Russell
d13975e5de
✨ feat(list): add list module
...
- creates a new list module
2025-10-01 14:18:35 +01:00
Jeremiah Russell
625b9b20b0
✨ feat(credential): implement credential loading and conversion
...
- add struct `Credential` for deserializing Google API credentials
- implement `load_json_file` to load credentials from a JSON file
- implement `From<Credential> for yup_oauth2::ApplicationSecret` for conversion
2025-10-01 14:18:35 +01:00
Jeremiah Russell
e3932c89ab
✨ feat(gmail): add gmail client
...
- implement client for gmail api
- implement auth for gmail api
2025-10-01 14:18:35 +01:00
Jeremiah Russell
af0ddab54a
✨ feat(cli): implement list subcommand
...
- add `list` subcommand using clap
- integrate google_gmail1 crate for Gmail API interaction
- add credential loading and authentication flow
2025-10-01 14:18:35 +01:00
Jeremiah Russell
334af3ba7f
✨ feat(cli): add command line interface with logging
...
- integrate clap for parsing command line arguments
- add verbosity flag for logging level control
- implement basic "list" subcommand structure
2025-09-30 11:13:17 +01:00
Jeremiah Russell
763da3145d
✨ feat(main): add initial main function with hello world
...
- create main.rs file
- implement basic main function with "hello world" output
2025-09-30 07:59:10 +01:00
Jeremiah Russell
b614c87408
🔧 chore(Cargo): configure project settings and lints
...
- add clippy lints for format args and unnecessary semicolon warnings
- allow rust dead-code lint temporarily for development phase
- specify library and binary paths for project structure
2025-09-30 07:59:10 +01:00
Jeremiah Russell
dd284526cb
✨ feat(lib): add addition function with test
...
- create add function to sum two u64 numbers
- include basic test to verify functionality
2025-09-29 22:28:57 +01:00