@@ -16,6 +16,13 @@ pub struct ResetPasswordParams<'a> {
1616 pub new_password : & ' a str ,
1717}
1818
19+ /// The response for [`ResetPassword`].
20+ #[ derive( Debug , Deserialize ) ]
21+ pub struct ResetPasswordResponse {
22+ /// The corresponding user object.
23+ pub user : User ,
24+ }
25+
1926/// An error returned from [`ResetPassword`].
2027#[ derive( Debug , Error , Deserialize ) ]
2128#[ serde( tag = "code" , rename_all = "snake_case" ) ]
@@ -113,7 +120,7 @@ pub trait ResetPassword {
113120 /// # async fn run() -> WorkOsResult<(), ResetPasswordError> {
114121 /// let workos = WorkOs::new(&ApiKey::from("sk_example_123456789"));
115122 ///
116- /// let user = workos
123+ /// let response = workos
117124 /// .user_management()
118125 /// .reset_password(&ResetPasswordParams {
119126 /// token: &PasswordResetToken::from("stpIJ48IFJt0HhSIqjf8eppe0"),
@@ -126,21 +133,21 @@ pub trait ResetPassword {
126133 async fn reset_password (
127134 & self ,
128135 params : & ResetPasswordParams < ' _ > ,
129- ) -> WorkOsResult < User , ResetPasswordError > ;
136+ ) -> WorkOsResult < ResetPasswordResponse , ResetPasswordError > ;
130137}
131138
132139#[ async_trait]
133140impl ResetPassword for UserManagement < ' _ > {
134141 async fn reset_password (
135142 & self ,
136143 params : & ResetPasswordParams < ' _ > ,
137- ) -> WorkOsResult < User , ResetPasswordError > {
144+ ) -> WorkOsResult < ResetPasswordResponse , ResetPasswordError > {
138145 let url = self
139146 . workos
140147 . base_url ( )
141148 . join ( "/user_management/password_reset/confirm" ) ?;
142149
143- let user = self
150+ let response = self
144151 . workos
145152 . client ( )
146153 . post ( url)
@@ -151,10 +158,10 @@ impl ResetPassword for UserManagement<'_> {
151158 . handle_unauthorized_error ( ) ?
152159 . handle_reset_password_error ( )
153160 . await ?
154- . json :: < User > ( )
161+ . json :: < ResetPasswordResponse > ( )
155162 . await ?;
156163
157- Ok ( user )
164+ Ok ( response )
158165 }
159166}
160167
@@ -199,7 +206,7 @@ mod test {
199206 . create_async ( )
200207 . await ;
201208
202- let user = workos
209+ let response = workos
203210 . user_management ( )
204211 . reset_password ( & ResetPasswordParams {
205212 token : & PasswordResetToken :: from ( "stpIJ48IFJt0HhSIqjf8eppe0" ) ,
@@ -208,6 +215,9 @@ mod test {
208215 . await
209216 . unwrap ( ) ;
210217
211- assert_eq ! ( user. id, UserId :: from( "user_01E4ZCR3C56J083X43JQXF3JK5" ) )
218+ assert_eq ! (
219+ response. user. id,
220+ UserId :: from( "user_01E4ZCR3C56J083X43JQXF3JK5" )
221+ )
212222 }
213223}
0 commit comments