update mutex to rwlock
This commit is contained in:
parent
a2561fd2e0
commit
dad419c1de
|
@ -46,7 +46,7 @@ impl Instance {
|
||||||
login_result.token,
|
login_result.token,
|
||||||
self.clone_limits_if_some(),
|
self.clone_limits_if_some(),
|
||||||
login_result.settings,
|
login_result.settings,
|
||||||
Arc::new(Mutex::new(object)),
|
Arc::new(RwLock::new(object)),
|
||||||
gateway,
|
gateway,
|
||||||
);
|
);
|
||||||
Ok(user)
|
Ok(user)
|
||||||
|
|
|
@ -52,8 +52,8 @@ impl Instance {
|
||||||
Rc::new(RefCell::new(self.clone())),
|
Rc::new(RefCell::new(self.clone())),
|
||||||
token.clone(),
|
token.clone(),
|
||||||
self.clone_limits_if_some(),
|
self.clone_limits_if_some(),
|
||||||
Arc::new(Mutex::new(settings)),
|
Arc::new(RwLock::new(settings)),
|
||||||
Arc::new(Mutex::new(user_object)),
|
Arc::new(RwLock::new(user_object)),
|
||||||
gateway,
|
gateway,
|
||||||
);
|
);
|
||||||
Ok(user)
|
Ok(user)
|
||||||
|
|
|
@ -62,7 +62,6 @@ impl Channel {
|
||||||
/// # Reference
|
/// # Reference
|
||||||
/// See <https://discord-userdoccers.vercel.app/resources/channel#modify-channel>
|
/// See <https://discord-userdoccers.vercel.app/resources/channel#modify-channel>
|
||||||
pub async fn modify(
|
pub async fn modify(
|
||||||
&self,
|
|
||||||
modify_data: ChannelModifySchema,
|
modify_data: ChannelModifySchema,
|
||||||
channel_id: Snowflake,
|
channel_id: Snowflake,
|
||||||
user: &mut UserMeta,
|
user: &mut UserMeta,
|
||||||
|
|
|
@ -60,7 +60,7 @@ impl UserMeta {
|
||||||
.deserialize_response::<User>(self)
|
.deserialize_response::<User>(self)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
self.object = Arc::new(Mutex::new(user_updated.clone()));
|
self.object = Arc::new(RwLock::new(user_updated.clone()));
|
||||||
Ok(user_updated)
|
Ok(user_updated)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,7 @@ async fn modify_channel() {
|
||||||
default_thread_rate_limit_per_user: None,
|
default_thread_rate_limit_per_user: None,
|
||||||
video_quality_mode: None,
|
video_quality_mode: None,
|
||||||
};
|
};
|
||||||
let modified_channel = Channel::modify(channel, modify_data, channel.id, &mut bundle.user)
|
let modified_channel = Channel::modify(modify_data, channel.id, &mut bundle.user)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(modified_channel.name, Some(CHANNEL_NAME.to_string()));
|
assert_eq!(modified_channel.name, Some(CHANNEL_NAME.to_string()));
|
||||||
|
@ -59,7 +59,7 @@ async fn modify_channel() {
|
||||||
PermissionFlags::MANAGE_CHANNELS,
|
PermissionFlags::MANAGE_CHANNELS,
|
||||||
PermissionFlags::MANAGE_MESSAGES,
|
PermissionFlags::MANAGE_MESSAGES,
|
||||||
]));
|
]));
|
||||||
let user_id: types::Snowflake = bundle.user.object.lock().unwrap().id;
|
let user_id: types::Snowflake = bundle.user.object.read().unwrap().id;
|
||||||
let permission_override = PermissionOverwrite {
|
let permission_override = PermissionOverwrite {
|
||||||
id: user_id,
|
id: user_id,
|
||||||
overwrite_type: "1".to_string(),
|
overwrite_type: "1".to_string(),
|
||||||
|
@ -144,7 +144,7 @@ async fn create_dm() {
|
||||||
let other_user = bundle.create_user("integrationtestuser2").await;
|
let other_user = bundle.create_user("integrationtestuser2").await;
|
||||||
let user = &mut bundle.user;
|
let user = &mut bundle.user;
|
||||||
let private_channel_create_schema = PrivateChannelCreateSchema {
|
let private_channel_create_schema = PrivateChannelCreateSchema {
|
||||||
recipients: Some(Vec::from([other_user.object.lock().unwrap().id])),
|
recipients: Some(Vec::from([other_user.object.read().unwrap().id])),
|
||||||
access_tokens: None,
|
access_tokens: None,
|
||||||
nicks: None,
|
nicks: None,
|
||||||
};
|
};
|
||||||
|
@ -160,11 +160,11 @@ async fn create_dm() {
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.get(0)
|
.get(0)
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.lock()
|
.read()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.id
|
.id
|
||||||
.clone(),
|
.clone(),
|
||||||
other_user.object.lock().unwrap().id
|
other_user.object.read().unwrap().id
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
dm_channel
|
dm_channel
|
||||||
|
@ -173,11 +173,11 @@ async fn create_dm() {
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.get(1)
|
.get(1)
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.lock()
|
.read()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.id
|
.id
|
||||||
.clone(),
|
.clone(),
|
||||||
user.object.lock().unwrap().id.clone()
|
user.object.read().unwrap().id.clone()
|
||||||
);
|
);
|
||||||
common::teardown(bundle).await;
|
common::teardown(bundle).await;
|
||||||
}
|
}
|
||||||
|
@ -189,9 +189,9 @@ async fn remove_add_person_from_to_dm() {
|
||||||
let mut bundle = common::setup().await;
|
let mut bundle = common::setup().await;
|
||||||
let mut other_user = bundle.create_user("integrationtestuser2").await;
|
let mut other_user = bundle.create_user("integrationtestuser2").await;
|
||||||
let mut third_user = bundle.create_user("integrationtestuser3").await;
|
let mut third_user = bundle.create_user("integrationtestuser3").await;
|
||||||
let third_user_id = third_user.object.lock().unwrap().id;
|
let third_user_id = third_user.object.read().unwrap().id;
|
||||||
let other_user_id = other_user.object.lock().unwrap().id;
|
let other_user_id = other_user.object.read().unwrap().id;
|
||||||
let user_id = bundle.user.object.lock().unwrap().id;
|
let user_id = bundle.user.object.read().unwrap().id;
|
||||||
let user = &mut bundle.user;
|
let user = &mut bundle.user;
|
||||||
let private_channel_create_schema = PrivateChannelCreateSchema {
|
let private_channel_create_schema = PrivateChannelCreateSchema {
|
||||||
recipients: Some(Vec::from([other_user_id, third_user_id])),
|
recipients: Some(Vec::from([other_user_id, third_user_id])),
|
||||||
|
@ -234,7 +234,7 @@ async fn remove_add_person_from_to_dm() {
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.get(0)
|
.get(0)
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.lock()
|
.read()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.id,
|
.id,
|
||||||
other_user_id
|
other_user_id
|
||||||
|
@ -246,7 +246,7 @@ async fn remove_add_person_from_to_dm() {
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.get(1)
|
.get(1)
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.lock()
|
.read()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.id,
|
.id,
|
||||||
user_id
|
user_id
|
||||||
|
|
|
@ -7,7 +7,7 @@ async fn add_remove_role() -> ChorusResult<()> {
|
||||||
let mut bundle = common::setup().await;
|
let mut bundle = common::setup().await;
|
||||||
let guild = bundle.guild.id;
|
let guild = bundle.guild.id;
|
||||||
let role = bundle.role.id;
|
let role = bundle.role.id;
|
||||||
let member_id = bundle.user.object.lock().unwrap().id;
|
let member_id = bundle.user.object.read().unwrap().id;
|
||||||
GuildMember::add_role(&mut bundle.user, guild, member_id, role).await?;
|
GuildMember::add_role(&mut bundle.user, guild, member_id, role).await?;
|
||||||
let member = GuildMember::get(&mut bundle.user, guild, member_id)
|
let member = GuildMember::get(&mut bundle.user, guild, member_id)
|
||||||
.await
|
.await
|
||||||
|
|
|
@ -7,9 +7,9 @@ async fn test_get_mutual_relationships() {
|
||||||
let mut bundle = common::setup().await;
|
let mut bundle = common::setup().await;
|
||||||
let mut other_user = bundle.create_user("integrationtestuser2").await;
|
let mut other_user = bundle.create_user("integrationtestuser2").await;
|
||||||
let user = &mut bundle.user;
|
let user = &mut bundle.user;
|
||||||
let username = user.object.lock().unwrap().username.clone();
|
let username = user.object.read().unwrap().username.clone();
|
||||||
let discriminator = user.object.lock().unwrap().discriminator.clone();
|
let discriminator = user.object.read().unwrap().discriminator.clone();
|
||||||
let other_user_id: types::Snowflake = other_user.object.lock().unwrap().id;
|
let other_user_id: types::Snowflake = other_user.object.read().unwrap().id;
|
||||||
let friend_request_schema = types::FriendRequestSendSchema {
|
let friend_request_schema = types::FriendRequestSendSchema {
|
||||||
username,
|
username,
|
||||||
discriminator: Some(discriminator),
|
discriminator: Some(discriminator),
|
||||||
|
@ -28,8 +28,8 @@ async fn test_get_relationships() {
|
||||||
let mut bundle = common::setup().await;
|
let mut bundle = common::setup().await;
|
||||||
let mut other_user = bundle.create_user("integrationtestuser2").await;
|
let mut other_user = bundle.create_user("integrationtestuser2").await;
|
||||||
let user = &mut bundle.user;
|
let user = &mut bundle.user;
|
||||||
let username = user.object.lock().unwrap().username.clone();
|
let username = user.object.read().unwrap().username.clone();
|
||||||
let discriminator = user.object.lock().unwrap().discriminator.clone();
|
let discriminator = user.object.read().unwrap().discriminator.clone();
|
||||||
let friend_request_schema = types::FriendRequestSendSchema {
|
let friend_request_schema = types::FriendRequestSendSchema {
|
||||||
username,
|
username,
|
||||||
discriminator: Some(discriminator),
|
discriminator: Some(discriminator),
|
||||||
|
@ -41,7 +41,7 @@ async fn test_get_relationships() {
|
||||||
let relationships = user.get_relationships().await.unwrap();
|
let relationships = user.get_relationships().await.unwrap();
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
relationships.get(0).unwrap().id,
|
relationships.get(0).unwrap().id,
|
||||||
other_user.object.lock().unwrap().id
|
other_user.object.read().unwrap().id
|
||||||
);
|
);
|
||||||
common::teardown(bundle).await
|
common::teardown(bundle).await
|
||||||
}
|
}
|
||||||
|
@ -51,8 +51,8 @@ async fn test_modify_relationship_friends() {
|
||||||
let mut bundle = common::setup().await;
|
let mut bundle = common::setup().await;
|
||||||
let mut other_user = bundle.create_user("integrationtestuser2").await;
|
let mut other_user = bundle.create_user("integrationtestuser2").await;
|
||||||
let user = &mut bundle.user;
|
let user = &mut bundle.user;
|
||||||
let user_id: types::Snowflake = user.object.lock().unwrap().id;
|
let user_id: types::Snowflake = user.object.read().unwrap().id;
|
||||||
let other_user_id: types::Snowflake = other_user.object.lock().unwrap().id;
|
let other_user_id: types::Snowflake = other_user.object.read().unwrap().id;
|
||||||
|
|
||||||
other_user
|
other_user
|
||||||
.modify_user_relationship(user_id, types::RelationshipType::Friends)
|
.modify_user_relationship(user_id, types::RelationshipType::Friends)
|
||||||
|
@ -61,7 +61,7 @@ async fn test_modify_relationship_friends() {
|
||||||
let relationships = user.get_relationships().await.unwrap();
|
let relationships = user.get_relationships().await.unwrap();
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
relationships.get(0).unwrap().id,
|
relationships.get(0).unwrap().id,
|
||||||
other_user.object.lock().unwrap().id
|
other_user.object.read().unwrap().id
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
relationships.get(0).unwrap().relationship_type,
|
relationships.get(0).unwrap().relationship_type,
|
||||||
|
@ -70,7 +70,7 @@ async fn test_modify_relationship_friends() {
|
||||||
let relationships = other_user.get_relationships().await.unwrap();
|
let relationships = other_user.get_relationships().await.unwrap();
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
relationships.get(0).unwrap().id,
|
relationships.get(0).unwrap().id,
|
||||||
user.object.lock().unwrap().id
|
user.object.read().unwrap().id
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
relationships.get(0).unwrap().relationship_type,
|
relationships.get(0).unwrap().relationship_type,
|
||||||
|
@ -102,7 +102,7 @@ async fn test_modify_relationship_block() {
|
||||||
let mut bundle = common::setup().await;
|
let mut bundle = common::setup().await;
|
||||||
let mut other_user = bundle.create_user("integrationtestuser2").await;
|
let mut other_user = bundle.create_user("integrationtestuser2").await;
|
||||||
let user = &mut bundle.user;
|
let user = &mut bundle.user;
|
||||||
let user_id: types::Snowflake = user.object.lock().unwrap().id;
|
let user_id: types::Snowflake = user.object.read().unwrap().id;
|
||||||
|
|
||||||
other_user
|
other_user
|
||||||
.modify_user_relationship(user_id, types::RelationshipType::Blocked)
|
.modify_user_relationship(user_id, types::RelationshipType::Blocked)
|
||||||
|
@ -113,7 +113,7 @@ async fn test_modify_relationship_block() {
|
||||||
let relationships = other_user.get_relationships().await.unwrap();
|
let relationships = other_user.get_relationships().await.unwrap();
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
relationships.get(0).unwrap().id,
|
relationships.get(0).unwrap().id,
|
||||||
user.object.lock().unwrap().id
|
user.object.read().unwrap().id
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
relationships.get(0).unwrap().relationship_type,
|
relationships.get(0).unwrap().relationship_type,
|
||||||
|
|
Loading…
Reference in New Issue