use crate::entity::account::*; use crate::entity::character::*; use crate::entity::item::*; pub trait EntityGateway { fn create_user(&mut self, _user: NewUserAccountEntity) -> Option { unimplemented!() } fn get_user_by_id(&self, _id: UserAccountId) -> Option { unimplemented!(); } fn get_user_by_name(&self, _username: String) -> Option { unimplemented!(); } fn save_user(&mut self, _user: &UserAccountEntity) { unimplemented!(); } fn create_user_settings(&mut self, _settings: NewUserSettingsEntity) -> Option { unimplemented!(); } fn get_user_settings_by_user(&self, _user: &UserAccountEntity) -> Option { unimplemented!(); } fn save_user_settings(&mut self, _settings: &UserSettingsEntity) { unimplemented!(); } fn create_character(&mut self, _char: NewCharacterEntity) -> Option { unimplemented!(); } fn get_characters_by_user(&self, _user: &UserAccountEntity) -> [Option; 4] { unimplemented!(); } fn save_character(&mut self, _char: &CharacterEntity) { unimplemented!(); } fn get_guild_card_data_by_user(&self, _user: &UserAccountEntity) -> GuildCardDataEntity { unimplemented!(); } fn create_item(&mut self, _item: NewItemEntity) -> Option { unimplemented!(); } fn save_item(&mut self, _item: &ItemEntity) { unimplemented!(); } fn get_items_by_character(&self, _char: &CharacterEntity) -> Vec { unimplemented!(); } }