/* Options: Date: 2025-05-05 01:31:09 Version: 8.71 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://team.evovoice.io //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ListUsers.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; enum SortOrders { Ascend, Descend, } abstract class ListRequest implements IGet { /** * The page of data to retrieve */ // @ApiMember(Description="The page of data to retrieve") int? page; /** * If you want all objects to be returned. This should be used with care */ // @ApiMember(Description="If you want all objects to be returned. This should be used with care") bool? all; /** * The number per page to retrieve */ // @ApiMember(Description="The number per page to retrieve") int? countPerPage; /** * Specific IDs */ // @ApiMember(Description="Specific IDs") List? specificIds; /** * Specify a sort field */ // @ApiMember(Description="Specify a sort field") String? sortField; /** * Specify a sort order */ // @ApiMember(Description="Specify a sort order") SortOrders? sortOrder; /** * Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array */ // @ApiMember(Description="Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array") bool? simplifiedPaging; ListRequest({this.page,this.all,this.countPerPage,this.specificIds,this.sortField,this.sortOrder,this.simplifiedPaging}); ListRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { page = json['page']; all = json['all']; countPerPage = json['countPerPage']; specificIds = JsonConverters.fromJson(json['specificIds'],'List',context!); sortField = json['sortField']; sortOrder = JsonConverters.fromJson(json['sortOrder'],'SortOrders',context!); simplifiedPaging = json['simplifiedPaging']; return this; } Map toJson() => { 'page': page, 'all': all, 'countPerPage': countPerPage, 'specificIds': JsonConverters.toJson(specificIds,'List',context!), 'sortField': sortField, 'sortOrder': JsonConverters.toJson(sortOrder,'SortOrders',context!), 'simplifiedPaging': simplifiedPaging }; getTypeName() => "ListRequest<$T>"; TypeContext? context = _ctx; } enum DashboardPermissions { ViewFiles, ViewNotifications, ViewSessions, ViewEndpoints, ViewReports, ViewCustomers, ViewFlows, } class ListResponse implements IConvertible { /** * The items */ // @ApiMember(Description="The items") List? items; /** * The total number of items */ // @ApiMember(Description="The total number of items") int? totalCount; /** * The total number of pages */ // @ApiMember(Description="The total number of pages") int? totalPages; /** * Are there more pages of items? Used with simplified paging */ // @ApiMember(Description="Are there more pages of items? Used with simplified paging") bool? hasMorePages; ListResponse({this.items,this.totalCount,this.totalPages,this.hasMorePages}); ListResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { items = JsonConverters.fromJson(json['items'],'List<${runtimeGenericTypeDefs(this,[0]).join(",")}>',context!); totalCount = json['totalCount']; totalPages = json['totalPages']; hasMorePages = json['hasMorePages']; return this; } Map toJson() => { 'items': JsonConverters.toJson(items,'List',context!), 'totalCount': totalCount, 'totalPages': totalPages, 'hasMorePages': hasMorePages }; getTypeName() => "ListResponse<$T>"; TypeContext? context = _ctx; } class UserInfo implements IConvertible { String? id; bool? isAuthenticated; String? firstName; String? lastName; String? name; String? avatarUrl; String? emailAddress; List? roles; List? accountIds; List? accountNames; List? dashboardPermissions; UserInfo({this.id,this.isAuthenticated,this.firstName,this.lastName,this.name,this.avatarUrl,this.emailAddress,this.roles,this.accountIds,this.accountNames,this.dashboardPermissions}); UserInfo.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; isAuthenticated = json['isAuthenticated']; firstName = json['firstName']; lastName = json['lastName']; name = json['name']; avatarUrl = json['avatarUrl']; emailAddress = json['emailAddress']; roles = JsonConverters.fromJson(json['roles'],'List',context!); accountIds = JsonConverters.fromJson(json['accountIds'],'List',context!); accountNames = JsonConverters.fromJson(json['accountNames'],'List',context!); dashboardPermissions = JsonConverters.fromJson(json['dashboardPermissions'],'List',context!); return this; } Map toJson() => { 'id': id, 'isAuthenticated': isAuthenticated, 'firstName': firstName, 'lastName': lastName, 'name': name, 'avatarUrl': avatarUrl, 'emailAddress': emailAddress, 'roles': JsonConverters.toJson(roles,'List',context!), 'accountIds': JsonConverters.toJson(accountIds,'List',context!), 'accountNames': JsonConverters.toJson(accountNames,'List',context!), 'dashboardPermissions': JsonConverters.toJson(dashboardPermissions,'List',context!) }; getTypeName() => "UserInfo"; TypeContext? context = _ctx; } /** * Gets the users for the specified account */ // @Route("/users", "GET") // @Api(Description="Gets the users for the specified account") class ListUsers extends ListRequest implements IReturn>, IConvertible, IGet { /** * The account IDs whose users you want to retrieve */ // @ApiMember(Description="The account IDs whose users you want to retrieve") List? accountIds; /** * Filter by email */ // @ApiMember(Description="Filter by email") String? emailFilter; ListUsers({this.accountIds,this.emailFilter}); ListUsers.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); accountIds = JsonConverters.fromJson(json['accountIds'],'List',context!); emailFilter = json['emailFilter']; return this; } Map toJson() => super.toJson()..addAll({ 'accountIds': JsonConverters.toJson(accountIds,'List',context!), 'emailFilter': emailFilter }); createResponse() => ListResponse(); getResponseTypeName() => "ListResponse"; getTypeName() => "ListUsers"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'team.evovoice.io', types: { 'SortOrders': TypeInfo(TypeOf.Enum, enumValues:SortOrders.values), 'ListRequest': TypeInfo(TypeOf.GenericDef,create:() => ListRequest()), 'DashboardPermissions': TypeInfo(TypeOf.Enum, enumValues:DashboardPermissions.values), 'ListResponse': TypeInfo(TypeOf.GenericDef,create:() => ListResponse()), 'UserInfo': TypeInfo(TypeOf.Class, create:() => UserInfo()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ListResponse': TypeInfo(TypeOf.Class, create:() => ListResponse()), 'ListUsers': TypeInfo(TypeOf.Class, create:() => ListUsers()), });