Commit Graph

785 Commits

Author SHA1 Message Date
Jeremiah Russell
24c928f282 ♻️ refactor(gmail): remove unused client file
- remove client.rs due to project restructuring
- no longer needed after integrating gmail functionality elsewhere
2025-10-02 16:10:26 +01:00
Jeremiah Russell
4127de086e ♻️ refactor(lib): restructure module exports and visibility
- remove client module public exports
- make utils module private
2025-10-02 16:10:26 +01:00
Jerus Bot
ab3d507a1a chore: update prlog for pr 2025-10-02 15:47:26 +01:00
Jeremiah Russell
2e6cdf5a82 🐛 fix(list): remove debug print statement
- remove unnecessary print statement from list module
2025-10-02 15:47:26 +01:00
Jerus Bot
ba92b4b51c chore: update prlog for pr 2025-10-02 15:33:00 +01:00
Jeremiah Russell
5d9bee1197 feat(error): enhance error handling for configuration issues
- add specific error variants for unset directory, home expansion failure, and directory creation failure
- improve error reporting by providing more context in error messages
2025-10-02 15:33:00 +01:00
Jeremiah Russell
2a62c6c1ba ♻️ refactor(list): improve error handling and config loading
- replace google_clis_common with crate::utils for config directory handling
- use map_err to propagate errors from API calls
2025-10-02 15:33:00 +01:00
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
3045f0a8f4 🔧 chore(deps): remove unused dependencies
- removes unused dependencies to reduce binary size and improve build times
- removes:
  - ansi_term
  - atty
  - bitflags 1.3.2
  - clap 2.34.0
  - google-clis-common
  - hermit-abi
  - strsim 0.8.0
  - textwrap
  - unicode-width
  - vec_map
  - winapi
  - winapi-i686-pc-windows-gnu
  - winapi-x86_64-pc-windows-gnu
2025-10-02 15:33:00 +01:00
Jeremiah Russell
9248e8d0d1 📦 build(dependencies): remove unused google-clis-common
- remove google-clis-common crate from dependencies
- it is no longer needed in the project
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
45739531ac 📦 build(deps): update dependencies
- update clap to 4.5.48
- update clap-verbosity-flag to 3.0.4
- update env_logger to 0.11.8
- add google-clis-common 7.0.0
- update google-gmail1 to 6.0.0
- update log to 0.4.28
- update serde to 1.0.228
- update serde_json to 1.0.145
- add thiserror 2.0.17
- update tokio to 1.47.1
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
Jerus Bot
3f1a78e179 chore: update prlog for pr 2025-10-01 14:55:57 +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
Jerus Bot
2bbf1de97a chore: update prlog for pr 2025-10-01 14:18:35 +01:00
Jeremiah Russell
8eb9ecbf12 👷 ci(circleci): update circleci config
- ignore RUSTSEC-2025-0066 advisory in security workflow
2025-10-01 14:18:35 +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
89fee7bf48 📦 build(dependencies): update Cargo.lock with new packages
- add new packages including addr2line, adler2, android_system_properties, and others
- update dependencies to their latest versions for improved functionality and security
2025-10-01 14:18:35 +01:00
Jeremiah Russell
1d9a127827 📦 build(dependencies): add new dependencies
- add google-gmail1 version 6.0.0
- add serde with derive features, version 1.0.228
- add serde_json version 1.0.145
- add tokio with macros and rt-multi-thread features, version 1.47.1
2025-10-01 14:18:35 +01:00
Jerus Bot
d0534aef6a chore: update prlog for pr 2025-09-30 11:13:17 +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
7cb7fe15ab 📦 build(dependencies): update Cargo.lock with new dependencies
- add new package dependencies and checksums to Cargo.lock
- update existing package versions to maintain compatibility
2025-09-30 11:13:17 +01:00
Jeremiah Russell
01da79cf8c 📦 build(dependencies): update Cargo.toml with new dependencies
- add clap, clap-verbosity-flag, env_logger, and log dependencies for improved command-line interface and logging functionality

🔧 chore(Cargo.toml): simplify package description

- update description to be more concise and clear
2025-09-30 11:13:17 +01:00
Jerus Bot
dc9a8128aa chore: update prlog for pr 2025-09-30 07:59:10 +01:00
Jeremiah Russell
f984415fb6 🔧 chore(config): update Cargo.toml with lints and library settings
- add clippy lints for format args and unnecessary semicolon
- allow dead-code lint temporarily for development
- specify library and binary paths for project structure
2025-09-30 07:59:10 +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
Jerus Bot
66a0fc7229 chore: update prlog for pr 2025-09-30 07:50:45 +01:00
Jeremiah Russell
f4512f0c76 🔧 chore(ci): remove hardcoded version from CircleCI config
- eliminate version "0.0.1" to avoid redundancy and potential conflicts with dynamic versioning in CircleCI configuration
2025-09-30 07:50:45 +01:00
Jerus Bot
c2a2b4298b chore: update prlog for pr 2025-09-30 07:45:08 +01:00
Jeremiah Russell
e65aa8f682 🔧 chore(release): update PRLOG replacements for release process
- uncomment PRLOG.md replacements to automate version tagging
- ensure accurate version information during release
2025-09-30 07:45:08 +01:00
Jerus Bot
396bf611e1 chore: Release cull-gmail v0.0.1 2025-09-30 06:33:49 +00:00
Jerus Bot
3d52ad6416 chore: update prlog for pr 2025-09-30 07:28:10 +01:00
Jeremiah Russell
598b5dec3c 📝 docs(CHANGELOG): add initial changelog file
- create CHANGELOG.md to document notable changes
- follow Keep a Changelog format and Semantic Versioning standards
2025-09-30 07:28:10 +01:00
Jerus Bot
66c85612c6 chore: update prlog for pr 2025-09-30 07:05:19 +01:00
Jeremiah Russell
fe15374bac 🔧 chore(config): comment out unused pre-release replacements
- comment out unused replacements in release.toml for clarity and maintenance
- ensure only necessary replacements are active in pre-release process
2025-09-30 07:05:19 +01:00
Jeremiah Russell
0c9a803b57 🔧 chore(scripts): update release hook script
- change readme file path for consistency
- replace cull-gmail with gen-changelog for changelog generation
2025-09-30 07:05:19 +01:00