FRE-683: Add contacts & attachments management

- Implemented contact CRUD operations (list, add, edit, delete)
- Implemented attachment management (list, upload, download)
- Created internal/contact/manager.go for contact persistence
- Created internal/attachment/manager.go for attachment storage
- Added CLI commands in cmd/contacts.go and cmd/attachments.go
- Integrated contact and attachment commands into root CLI

Files:
- internal/contact/types.go - Contact data models
- internal/contact/manager.go - Contact CRUD operations
- internal/attachment/manager.go - Attachment file operations
- cmd/contacts.go - Contact CLI commands
- cmd/attachments.go - Attachment CLI commands

Contacts stored in ~/.config/pop/contacts.json
Attachments stored in ~/.config/pop/attachments/
This commit is contained in:
2026-04-26 10:26:29 -04:00
parent 25836e27b9
commit 7bbba9f15c
14 changed files with 1978 additions and 5 deletions

View File

@@ -53,6 +53,10 @@ func (c *ProtonMailClient) getAuthHeader() string {
return c.authHeader
}
func (c *ProtonMailClient) GetBaseURL() string {
return c.baseURL
}
func (rl *RateLimiter) Wait() {
rl.mu.Lock()
defer rl.mu.Unlock()