Skip to main content

hinge_rs/api/
ratings.rs

1use crate::client::HingeClient;
2use crate::errors::HingeError;
3use crate::models::{LikeResponse, RateInput, RateRespondRequest, RateRespondResponse, SkipInput};
4use crate::storage::Storage;
5
6pub struct RatingsApi<'a, S: Storage + Clone> {
7    pub(super) client: &'a mut HingeClient<S>,
8}
9
10impl<S: Storage + Clone> RatingsApi<'_, S> {
11    pub async fn skip(&mut self, input: SkipInput) -> Result<serde_json::Value, HingeError> {
12        self.client.skip(input).await
13    }
14
15    pub async fn rate_user(&mut self, input: RateInput) -> Result<LikeResponse, HingeError> {
16        self.client.rate_user(input).await
17    }
18
19    pub async fn respond(
20        &self,
21        input: RateRespondRequest,
22    ) -> Result<RateRespondResponse, HingeError> {
23        self.client.respond_rate(input).await
24    }
25}