feat: add systemd user services and timer units

- Create systemd user service files for both Go and Rust implementations
- Add comprehensive timer configurations: 30-minute, hourly, and daily schedules
- Include security settings, resource limits, and proper service dependencies
- Add justfile recipes for service management (install, enable, disable, status)
- Remove deprecated Makefile in favor of just-based build system
- Fix Rust compilation warnings in imap.rs

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Ole-Morten Duesund 2025-08-03 23:59:34 +02:00
commit e6ab28bc9e
12 changed files with 267 additions and 128 deletions

View file

@ -578,9 +578,9 @@ impl ImapClient {
let headers = self.extract_headers(&parsed_message);
// Extract attachments and their data
let (has_attachments, attachment_stubs, attachment_data) = self.extract_attachments_with_data(&parsed_message);
let (has_attachments, _attachment_stubs, attachment_data) = self.extract_attachments_with_data(&parsed_message);
let mut mail_doc = MailDocument::new(
let mail_doc = MailDocument::new(
uid.to_string(),
mailbox.to_string(),
from,
@ -738,12 +738,6 @@ impl ImapClient {
(has_attachments, attachment_stubs, attachment_data)
}
/// Extract attachments from a parsed message (deprecated - use extract_attachments_with_data)
/// Returns (has_attachments, attachment_stubs)
fn extract_attachments(&self, message: &Message) -> (bool, HashMap<String, AttachmentStub>) {
let (has_attachments, attachment_stubs, _) = self.extract_attachments_with_data(message);
(has_attachments, attachment_stubs)
}
/// Determine if a message part is an attachment
fn is_attachment_part(&self, part: &mail_parser::MessagePart, content_type: &mail_parser::ContentType) -> bool {