17
17
import org .slf4j .LoggerFactory ;
18
18
import org .zendesk .client .v2 .model .Attachment ;
19
19
import org .zendesk .client .v2 .model .Audit ;
20
+ import org .zendesk .client .v2 .model .Comment ;
20
21
import org .zendesk .client .v2 .model .Field ;
21
22
import org .zendesk .client .v2 .model .Identity ;
22
23
import org .zendesk .client .v2 .model .Ticket ;
@@ -425,7 +426,7 @@ public Identity verifyUserIdentity(User user, int identityId) {
425
426
426
427
public Identity verifyUserIdentity (int userId , int identityId ) {
427
428
return complete (submit (req ("PUT" , tmpl ("/users/{userId}/identities/{identityId}/verify" )
428
- .set ("userId" ,userId )
429
+ .set ("userId" , userId )
429
430
.set ("identityId" , identityId )), handle (Identity .class , "identity" )));
430
431
}
431
432
@@ -441,7 +442,7 @@ public Identity requestVerifyUserIdentity(User user, int identityId) {
441
442
442
443
public Identity requestVerifyUserIdentity (int userId , int identityId ) {
443
444
return complete (submit (req ("PUT" , tmpl ("/users/{userId}/identities/{identityId}/request_verification" )
444
- .set ("userId" ,userId )
445
+ .set ("userId" , userId )
445
446
.set ("identityId" , identityId )), handle (Identity .class , "identity" )));
446
447
}
447
448
@@ -462,6 +463,79 @@ public void deleteUserIdentity(int userId, int identityId) {
462
463
), handleStatus ()));
463
464
}
464
465
466
+ public Iterable <org .zendesk .client .v2 .model .Request > getRequests () {
467
+ return new PagedIterable <org .zendesk .client .v2 .model .Request >(cnst ("/requests.json" ),
468
+ handleList (org .zendesk .client .v2 .model .Request .class , "requests" ));
469
+ }
470
+
471
+ public Iterable <org .zendesk .client .v2 .model .Request > getOpenRequests () {
472
+ return new PagedIterable <org .zendesk .client .v2 .model .Request >(cnst ("/requests/open.json" ),
473
+ handleList (org .zendesk .client .v2 .model .Request .class , "requests" ));
474
+ }
475
+
476
+ public Iterable <org .zendesk .client .v2 .model .Request > getSolvedRequests () {
477
+ return new PagedIterable <org .zendesk .client .v2 .model .Request >(cnst ("/requests/solved.json" ),
478
+ handleList (org .zendesk .client .v2 .model .Request .class , "requests" ));
479
+ }
480
+
481
+ public Iterable <org .zendesk .client .v2 .model .Request > getCCRequests () {
482
+ return new PagedIterable <org .zendesk .client .v2 .model .Request >(cnst ("/requests/ccd.json" ),
483
+ handleList (org .zendesk .client .v2 .model .Request .class , "requests" ));
484
+ }
485
+
486
+ public Iterable <org .zendesk .client .v2 .model .Request > getUserRequests (User user ) {
487
+ checkHasId (user );
488
+ return getUserRequests (user .getId ());
489
+ }
490
+
491
+ public Iterable <org .zendesk .client .v2 .model .Request > getUserRequests (int id ) {
492
+ return new PagedIterable <org .zendesk .client .v2 .model .Request >(tmpl ("/users/{id}/requests.json" ).set ("id" , id ),
493
+ handleList (org .zendesk .client .v2 .model .Request .class , "requests" ));
494
+ }
495
+
496
+ public org .zendesk .client .v2 .model .Request getRequest (int id ) {
497
+ return complete (submit (req ("GET" , tmpl ("/requests/{id}.json" ).set ("id" , id )),
498
+ handle (org .zendesk .client .v2 .model .Request .class , "request" )));
499
+ }
500
+
501
+ public org .zendesk .client .v2 .model .Request createRequest (org .zendesk .client .v2 .model .Request request ) {
502
+ return complete (submit (req ("POST" , cnst ("/requests.json" ),
503
+ JSON , json (Collections .singletonMap ("request" , request ))),
504
+ handle (org .zendesk .client .v2 .model .Request .class , "request" )));
505
+ }
506
+ public org .zendesk .client .v2 .model .Request updateRequest (org .zendesk .client .v2 .model .Request request ) {
507
+ checkHasId (request );
508
+ return complete (submit (req ("PUT" , tmpl ("/requests/{id}.json" ).set ("id" , request .getId ()),
509
+ JSON , json (Collections .singletonMap ("request" , request ))),
510
+ handle (org .zendesk .client .v2 .model .Request .class , "request" )));
511
+ }
512
+
513
+ public Iterable <Comment > getRequestComments (org .zendesk .client .v2 .model .Request request ) {
514
+ checkHasId (request );
515
+ return getRequestComments (request .getId ());
516
+ }
517
+
518
+ public Iterable <Comment > getRequestComments (int id ) {
519
+ return new PagedIterable <Comment >(tmpl ("/requests/{id}/comments.json" ).set ("id" , id ),
520
+ handleList (Comment .class , "comments" ));
521
+ }
522
+
523
+ public Comment getRequestComment (org .zendesk .client .v2 .model .Request request , Comment comment ) {
524
+ checkHasId (comment );
525
+ return getRequestComment (request , comment .getId ());
526
+ }
527
+
528
+ public Comment getRequestComment (org .zendesk .client .v2 .model .Request request , int commentId ) {
529
+ checkHasId (request );
530
+ return getRequestComment (request .getId (), commentId );
531
+ }
532
+
533
+ public Comment getRequestComment (int requestId , int commentId ) {
534
+ return complete (submit (req ("GET" , tmpl ("/requests/{requestId}/comments/{commentId}.json" )
535
+ .set ("requestId" , requestId )
536
+ .set ("commentId" , commentId )),
537
+ handle (Comment .class , "comment" )));
538
+ }
465
539
466
540
//////////////////////////////////////////////////////////////////////
467
541
// Helper methods
@@ -636,12 +710,24 @@ private static void checkHasId(Ticket ticket) {
636
710
}
637
711
}
638
712
713
+ private static void checkHasId (org .zendesk .client .v2 .model .Request request ) {
714
+ if (request .getId () == null ) {
715
+ throw new IllegalArgumentException ("Request requires id" );
716
+ }
717
+ }
718
+
639
719
private static void checkHasId (Audit audit ) {
640
720
if (audit .getId () == null ) {
641
721
throw new IllegalArgumentException ("Audit requires id" );
642
722
}
643
723
}
644
724
725
+ private static void checkHasId (Comment comment ) {
726
+ if (comment .getId () == null ) {
727
+ throw new IllegalArgumentException ("Comment requires id" );
728
+ }
729
+ }
730
+
645
731
private static void checkHasId (Field field ) {
646
732
if (field .getId () == null ) {
647
733
throw new IllegalArgumentException ("Field requires id" );
0 commit comments