@@ -19,15 +19,15 @@ impl From<Vec<EventName>> for EventFilters {
1919}
2020
2121/// Parameters for the [`ListEvents`] function.
22- #[ derive( Debug , Default , Serialize ) ]
22+ #[ derive( Debug , Serialize ) ]
2323pub struct ListEventsParams < ' a > {
2424 /// The pagination parameters to use when listing events.
2525 #[ serde( flatten) ]
2626 pub pagination : PaginationParams < ' a > ,
2727
2828 /// Filter to only return events of particular types.
2929 #[ serde( rename = "events[]" ) ]
30- pub events : Option < EventFilters > ,
30+ pub events : EventFilters ,
3131
3232 /// Filter to only return events belonging only to specific Organizations
3333 ///
@@ -73,8 +73,11 @@ pub trait ListEvents {
7373 /// let paginated_events = workos
7474 /// .events()
7575 /// .list_events(&ListEventsParams {
76- /// events: Some(vec![EventName::DsyncUserCreated, EventName::DsyncUserUpdated, EventName::DsyncUserDeleted].into()),
77- /// ..Default::default()
76+ /// pagination: Default::default(),
77+ /// events: vec![EventName::DsyncUserCreated, EventName::DsyncUserUpdated, EventName::DsyncUserDeleted].into(),
78+ /// organization_id: None,
79+ /// range_start: None,
80+ /// range_end: None,
7881 /// })
7982 /// .await?;
8083 /// # Ok(())
@@ -124,92 +127,6 @@ mod test {
124127 async fn it_calls_the_list_events_endpoint ( ) {
125128 let mut server = mockito:: Server :: new_async ( ) . await ;
126129
127- let workos = WorkOs :: builder ( & ApiKey :: from ( "sk_example_123456789" ) )
128- . base_url ( & server. url ( ) )
129- . unwrap ( )
130- . build ( ) ;
131-
132- server
133- . mock ( "GET" , "/events" )
134- . match_query ( Matcher :: UrlEncoded ( "order" . to_string ( ) , "desc" . to_string ( ) ) )
135- . match_header ( "Authorization" , "Bearer sk_example_123456789" )
136- . with_status ( 200 )
137- . with_body (
138- json ! ( {
139- "object" : "list" ,
140- "data" : [
141- {
142- "object" : "event" ,
143- "id" : "event_01H2GNQD5D7ZE06FDDS75NFPHY" ,
144- "event" : "dsync.group.user_added" ,
145- "data" : {
146- "directory_id" : "directory_01ECAZ4NV9QMV47GW873HDCX74" ,
147- "user" : {
148- "id" : "directory_user_01E1X56GH84T3FB41SD6PZGDBX" ,
149- "directory_id" : "directory_01ECAZ4NV9QMV47GW873HDCX74" ,
150- "organization_id" : "org_01EZTR6WYX1A0DSE2CYMGXQ24Y" ,
151- "idp_id" : "2936" ,
152- "emails" : [
153- {
154- "primary" : true ,
155- "type" : "work" ,
156- "value" : "eric@example.com"
157- }
158- ] ,
159- "first_name" : "Eric" ,
160- "last_name" : "Schneider" ,
161- "email" : "eric@example.com" ,
162- "state" : "active" ,
163- "created_at" : "2021-06-25T19:07:33.155Z" ,
164- "updated_at" : "2021-06-25T19:07:33.155Z" ,
165- "custom_attributes" : {
166- "department" : "Engineering" ,
167- "job_title" : "Software Engineer"
168- } ,
169- "role" : {
170- "slug" : "member"
171- } ,
172- "raw_attributes" : { }
173- } ,
174- "group" : {
175- "id" : "directory_group_01E1X5GPMMXF4T1DCERMVEEPVW" ,
176- "idp_id" : "02grqrue4294w24" ,
177- "directory_id" : "directory_01ECAZ4NV9QMV47GW873HDCX74" ,
178- "organization_id" : "org_01EZTR6WYX1A0DSE2CYMGXQ24Y" ,
179- "name" : "Developers" ,
180- "created_at" : "2021-06-25T19:07:33.155Z" ,
181- "updated_at" : "2021-06-25T19:07:33.155Z" ,
182- "raw_attributes" : { }
183- }
184- } ,
185- "created_at" : "2023-06-09T18:12:01.837Z"
186- }
187- ] ,
188- "list_metadata" : {
189- "after" : "event_01H2GQNMQNH8VRXVR7AEYG9XCJ"
190- }
191- } )
192- . to_string ( ) ,
193- )
194- . create_async ( )
195- . await ;
196-
197- let paginated_list = workos
198- . events ( )
199- . list_events ( & Default :: default ( ) )
200- . await
201- . unwrap ( ) ;
202-
203- assert_eq ! (
204- paginated_list. metadata. after,
205- Some ( "event_01H2GQNMQNH8VRXVR7AEYG9XCJ" . to_string( ) )
206- )
207- }
208-
209- #[ tokio:: test]
210- async fn it_calls_the_list_events_endpoint_with_the_domain ( ) {
211- let mut server = mockito:: Server :: new_async ( ) . await ;
212-
213130 let workos = WorkOs :: builder ( & ApiKey :: from ( "sk_example_123456789" ) )
214131 . base_url ( & server. url ( ) )
215132 . unwrap ( )
@@ -289,15 +206,16 @@ mod test {
289206 let paginated_list = workos
290207 . events ( )
291208 . list_events ( & ListEventsParams {
292- events : Some (
293- vec ! [
294- EventName :: DsyncUserCreated ,
295- EventName :: DsyncUserUpdated ,
296- EventName :: DsyncUserDeleted ,
297- ]
298- . into ( ) ,
299- ) ,
300- ..Default :: default ( )
209+ pagination : Default :: default ( ) ,
210+ events : vec ! [
211+ EventName :: DsyncUserCreated ,
212+ EventName :: DsyncUserUpdated ,
213+ EventName :: DsyncUserDeleted ,
214+ ]
215+ . into ( ) ,
216+ organization_id : None ,
217+ range_start : None ,
218+ range_end : None ,
301219 } )
302220 . await
303221 . unwrap ( ) ;
0 commit comments