/* Options: Date: 2025-05-04 23:34:15 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: NewUser.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; enum DashboardPermissions { ViewFiles, ViewNotifications, ViewSessions, ViewEndpoints, ViewReports, ViewCustomers, ViewFlows, } 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; } /** * Creates a new login with the specified email address and password. Note: Any given email address can only exist once in the entire Evo Voice system. */ // @Route("/users", "POST") // @Api(Description="Creates a new login with the specified email address and password. Note: Any given email address can only exist once in the entire Evo Voice system.") class NewUser implements IReturn, IPost, IConvertible { /** * The account ID you want to create this user under */ // @ApiMember(Description="The account ID you want to create this user under") String? accountId; /** * The email address of the new user */ // @ApiMember(Description="The email address of the new user") String? emailAddress; /** * The user's first name */ // @ApiMember(Description="The user's first name") String? firstName; /** * The user's last name */ // @ApiMember(Description="The user's last name") String? lastName; /** * The password for the new user */ // @ApiMember(Description="The password for the new user") String? password; NewUser({this.accountId,this.emailAddress,this.firstName,this.lastName,this.password}); NewUser.fromJson(Map json) { fromMap(json); } fromMap(Map json) { accountId = json['accountId']; emailAddress = json['emailAddress']; firstName = json['firstName']; lastName = json['lastName']; password = json['password']; return this; } Map toJson() => { 'accountId': accountId, 'emailAddress': emailAddress, 'firstName': firstName, 'lastName': lastName, 'password': password }; createResponse() => UserInfo(); getResponseTypeName() => "UserInfo"; getTypeName() => "NewUser"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'team.evovoice.io', types: { 'DashboardPermissions': TypeInfo(TypeOf.Enum, enumValues:DashboardPermissions.values), 'UserInfo': TypeInfo(TypeOf.Class, create:() => UserInfo()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'NewUser': TypeInfo(TypeOf.Class, create:() => NewUser()), });