41 lines
740 B
C++

#pragma once
#include "user_handler.h"
#include <string>
#include <vector>
#include <filesystem>
#include <fstream>
#include <nlohmann/json.hpp>
namespace fs = std::filesystem;
using json = nlohmann::json;
struct mail {
std::string filename;
/* metadata */
u_int id;
int64_t timestamp;
std::string sender;
std::vector<std::string> recipients;
std::string subject;
mail(std::string filename, std::string subject);
mail(std::string filename, int64_t timestamp, std::string subject);
bool operator()(const u_int& id) const {
return id == this->id;
}
bool operator<(mail& left) const {
return left.timestamp > this->timestamp;
}
fs::path getPath() { return this->filename; };
json mailToJson();
void remove();
};