75 lines
1.6 KiB
C++
75 lines
1.6 KiB
C++
//
|
|
// Created by Shell on 2026-06-18.
|
|
//
|
|
|
|
#ifndef SEADISK_ACCOUNT_INFO_HPP
|
|
#define SEADISK_ACCOUNT_INFO_HPP
|
|
#include <string>
|
|
#include <nlohmann/json.hpp>
|
|
|
|
namespace seafile::api
|
|
{
|
|
/**
|
|
* @brief Seafile user profile information.
|
|
*/
|
|
struct AccountInfo final
|
|
{
|
|
/// Space usage percentage.
|
|
std::string space_usage;
|
|
|
|
/// User avatar URL.
|
|
std::string avatar_url;
|
|
|
|
/// Login email address.
|
|
std::string email;
|
|
|
|
/// Display name.
|
|
std::string name;
|
|
|
|
/// Total available storage space in bytes.
|
|
std::uint64_t total{};
|
|
|
|
/// Used storage space in bytes.
|
|
std::uint64_t usage{};
|
|
|
|
/// Login identifier.
|
|
std::string login_id;
|
|
|
|
/// User department.
|
|
std::string department;
|
|
|
|
/// Contact email address.
|
|
std::string contact_email;
|
|
|
|
/// Institution or organization name.
|
|
std::string institution;
|
|
|
|
/// Indicates whether the user is a staff member.
|
|
bool is_staff{};
|
|
|
|
/// File update notification interval.
|
|
int file_updates_email_interval{};
|
|
|
|
/// Collaboration notification interval.
|
|
int collaborate_email_interval{};
|
|
|
|
NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT(
|
|
AccountInfo,
|
|
space_usage,
|
|
avatar_url,
|
|
email,
|
|
name,
|
|
total,
|
|
usage,
|
|
login_id,
|
|
department,
|
|
contact_email,
|
|
institution,
|
|
is_staff,
|
|
file_updates_email_interval,
|
|
collaborate_email_interval)
|
|
};
|
|
}
|
|
|
|
#endif //SEADISK_ACCOUNT_INFO_HPP
|