@@ -435,6 +435,78 @@ interface PostV1FormsFeedbackNegativeResponseVariants {
435435 400 : PostV1FormsFeedbackNegativeVariant1 ;
436436}
437437
438+ /** get /v2/users/list */
439+ type GetV2UsersListInput = {
440+ /** Page size (number of users per page) */
441+ limit ?: number | undefined ;
442+ /** Number of users to skip */
443+ offset ?: number | undefined ;
444+ /** Filter by roles; omit for all */
445+ roles ?: ( "manager" | "operator" | "admin" ) [ ] | undefined ;
446+ } ;
447+
448+ /** get /v2/users/list */
449+ type GetV2UsersListPositiveVariant1 = {
450+ status : "success" ;
451+ data : {
452+ /** Page of users */
453+ users : {
454+ name : string ;
455+ role : "manager" | "operator" | "admin" ;
456+ } [ ] ;
457+ /** Total number of users */
458+ total : number ;
459+ /** Page size used */
460+ limit : number ;
461+ /** Offset used */
462+ offset : number ;
463+ } ;
464+ } ;
465+
466+ /** get /v2/users/list */
467+ interface GetV2UsersListPositiveResponseVariants {
468+ 200 : GetV2UsersListPositiveVariant1 ;
469+ }
470+
471+ /** get /v2/users/list */
472+ type GetV2UsersListNegativeVariant1 = {
473+ status : "error" ;
474+ error : {
475+ message : string ;
476+ } ;
477+ } ;
478+
479+ /** get /v2/users/list */
480+ interface GetV2UsersListNegativeResponseVariants {
481+ 400 : GetV2UsersListNegativeVariant1 ;
482+ }
483+
484+ /** head /v2/users/list */
485+ type HeadV2UsersListInput = {
486+ /** Page size (number of users per page) */
487+ limit ?: number | undefined ;
488+ /** Number of users to skip */
489+ offset ?: number | undefined ;
490+ /** Filter by roles; omit for all */
491+ roles ?: ( "manager" | "operator" | "admin" ) [ ] | undefined ;
492+ } ;
493+
494+ /** head /v2/users/list */
495+ type HeadV2UsersListPositiveVariant1 = undefined ;
496+
497+ /** head /v2/users/list */
498+ interface HeadV2UsersListPositiveResponseVariants {
499+ 200 : HeadV2UsersListPositiveVariant1 ;
500+ }
501+
502+ /** head /v2/users/list */
503+ type HeadV2UsersListNegativeVariant1 = undefined ;
504+
505+ /** head /v2/users/list */
506+ interface HeadV2UsersListNegativeResponseVariants {
507+ 400 : HeadV2UsersListNegativeVariant1 ;
508+ }
509+
438510export type Path =
439511 | "/v1/user/retrieve"
440512 | "/v1/user/:id/remove"
@@ -446,7 +518,8 @@ export type Path =
446518 | "/v1/avatar/upload"
447519 | "/v1/avatar/raw"
448520 | "/v1/events/stream"
449- | "/v1/forms/feedback" ;
521+ | "/v1/forms/feedback"
522+ | "/v2/users/list" ;
450523
451524export type Method = "get" | "post" | "put" | "delete" | "patch" | "head" ;
452525
@@ -469,6 +542,8 @@ export interface Input {
469542 "get /v1/events/stream" : GetV1EventsStreamInput ;
470543 "head /v1/events/stream" : HeadV1EventsStreamInput ;
471544 "post /v1/forms/feedback" : PostV1FormsFeedbackInput ;
545+ "get /v2/users/list" : GetV2UsersListInput ;
546+ "head /v2/users/list" : HeadV2UsersListInput ;
472547}
473548
474549export interface PositiveResponse {
@@ -490,6 +565,8 @@ export interface PositiveResponse {
490565 "get /v1/events/stream" : SomeOf < GetV1EventsStreamPositiveResponseVariants > ;
491566 "head /v1/events/stream" : SomeOf < HeadV1EventsStreamPositiveResponseVariants > ;
492567 "post /v1/forms/feedback" : SomeOf < PostV1FormsFeedbackPositiveResponseVariants > ;
568+ "get /v2/users/list" : SomeOf < GetV2UsersListPositiveResponseVariants > ;
569+ "head /v2/users/list" : SomeOf < HeadV2UsersListPositiveResponseVariants > ;
493570}
494571
495572export interface NegativeResponse {
@@ -511,6 +588,8 @@ export interface NegativeResponse {
511588 "get /v1/events/stream" : SomeOf < GetV1EventsStreamNegativeResponseVariants > ;
512589 "head /v1/events/stream" : SomeOf < HeadV1EventsStreamNegativeResponseVariants > ;
513590 "post /v1/forms/feedback" : SomeOf < PostV1FormsFeedbackNegativeResponseVariants > ;
591+ "get /v2/users/list" : SomeOf < GetV2UsersListNegativeResponseVariants > ;
592+ "head /v2/users/list" : SomeOf < HeadV2UsersListNegativeResponseVariants > ;
514593}
515594
516595export interface EncodedResponse {
@@ -548,6 +627,10 @@ export interface EncodedResponse {
548627 HeadV1EventsStreamNegativeResponseVariants ;
549628 "post /v1/forms/feedback" : PostV1FormsFeedbackPositiveResponseVariants &
550629 PostV1FormsFeedbackNegativeResponseVariants ;
630+ "get /v2/users/list" : GetV2UsersListPositiveResponseVariants &
631+ GetV2UsersListNegativeResponseVariants ;
632+ "head /v2/users/list" : HeadV2UsersListPositiveResponseVariants &
633+ HeadV2UsersListNegativeResponseVariants ;
551634}
552635
553636export interface Response {
@@ -601,6 +684,12 @@ export interface Response {
601684 "post /v1/forms/feedback" :
602685 | PositiveResponse [ "post /v1/forms/feedback" ]
603686 | NegativeResponse [ "post /v1/forms/feedback" ] ;
687+ "get /v2/users/list" :
688+ | PositiveResponse [ "get /v2/users/list" ]
689+ | NegativeResponse [ "get /v2/users/list" ] ;
690+ "head /v2/users/list" :
691+ | PositiveResponse [ "head /v2/users/list" ]
692+ | NegativeResponse [ "head /v2/users/list" ] ;
604693}
605694
606695export type Request = keyof Input ;
@@ -622,6 +711,8 @@ export const endpointTags = {
622711 "get /v1/events/stream" : [ "subscriptions" ] ,
623712 "head /v1/events/stream" : [ "subscriptions" ] ,
624713 "post /v1/forms/feedback" : [ "forms" ] ,
714+ "get /v2/users/list" : [ "users" ] ,
715+ "head /v2/users/list" : [ "users" ] ,
625716} ;
626717
627718const parseRequest = ( request : string ) =>
@@ -645,6 +736,16 @@ export type Implementation<T = unknown> = (
645736 ctx ?: T ,
646737) => Promise < any > ;
647738
739+ type Pagination =
740+ | {
741+ nextCursor : string | null ;
742+ }
743+ | {
744+ total : number ;
745+ limit : number ;
746+ offset : number ;
747+ } ;
748+
648749const defaultImplementation : Implementation = async ( method , path , params ) => {
649750 const hasBody = ! [ "get" , "head" , "delete" ] . includes ( method ) ;
650751 const searchParams = hasBody ? "" : `?${ new URLSearchParams ( params ) } ` ;
@@ -674,6 +775,10 @@ export class Client<T> {
674775 const [ method , path ] = parseRequest ( request ) ;
675776 return this . implementation ( method , ...substitute ( path , params ) , ctx ) ;
676777 }
778+ public static hasMore ( response : Pagination ) : boolean {
779+ if ( "nextCursor" in response ) return response . nextCursor !== null ;
780+ return response . offset + response . limit < response . total ;
781+ }
677782}
678783
679784export class Subscription <
0 commit comments