use std::time::SystemTime;

use libpso::character::settings;
use libpso::character::guildcard;

pub const USERFLAG_NEWCHAR: u32      = 0x00000001;
pub const USERFLAG_DRESSINGROOM: u32 = 0x00000002;

#[derive(Clone, Debug)]
pub struct UserAccount {
    pub id: u32,
    pub username: String,
    pub password: String,
    pub guildcard: Option<u32>,
    pub team_id: Option<u32>,
    pub banned: bool,
    pub muted_until: SystemTime,
    pub created_at: SystemTime,
    pub flags: u32, // TODO: is this used for anything other than character creation?
}

#[derive(Clone, Debug, Default)]
pub struct UserSettings {
    pub id: u32,
    pub user_id: u32,
    pub settings: settings::UserSettings,
}

#[derive(Clone, Default)]
pub struct GuildCardData {
    pub id: u32,
    pub user_id: u32,
    pub guildcard: guildcard::GuildCardData,
}