Commit Graph

416 Commits

Author SHA1 Message Date
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