// // Created by Shell on 2026/7/16. // #ifndef SEADISK_STORAGE_REPO_ENTRY_HPP #define SEADISK_STORAGE_REPO_ENTRY_HPP #include "seafile/api/repo_entry.hpp" #include namespace seafile::fs::storage { struct RepoEntry final { ///repo id std::string repo_id; ///entry path std::string path; /// Entry type ("file" or "dir"). std::string type; /// File or directory name. std::string name; /// Object identifier. std::string id; /// Last modification time (Unix timestamp, seconds). std::int64_t mtime{}; /// Internal email address of the last modifier. std::optional modifier_email; /// File size in bytes. For directories this may be 0. std::optional size{}; /// Whether the file is currently locked. std::optional is_locked{}; /// Lock owner email or identifier. Null if unlocked. std::optional lock_owner; /// Lock timestamp (Unix timestamp, seconds). std::optional lock_time{}; /// Whether the current user owns the lock. std::optional locked_by_me{}; /// Current user's permission (e.g. "r", "rw"). std::optional permission; /// Contact email address of the last modifier. std::optional modifier_contact_email; /// Display name of the last modifier. std::optional modifier_name; /// Whether the entry is starred by the current user. std::optional starred{}; }; } #endif //SEADISK_STORAGE_REPO_ENTRY_HPP