/* Options: Date: 2025-12-06 07:06:53 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://business-api.brovs.com //GlobalNamespace: BusinessApi //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: InviteStaffRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ library BusinessApi; import 'package:servicestack/servicestack.dart'; enum StaffRole { Owner, Admin, Regular, } enum BusinessRole { Owner, Manager, Sales, Marketing, Other, } abstract class IHasPlaceIdOrBusinessId { int? placeId; int? businessId; } class StaffInvitationDto implements IConvertible { int? id; int? userId; int? placeId; String? placeGuid; String? inviteKey; int? businessId; String? firstName; String? lastName; String? placeName; String? businessName; StaffRole? role; BusinessRole? businessRole; DateTime? createdAt; DateTime? updatedAt; StaffInvitationDto({this.id,this.userId,this.placeId,this.placeGuid,this.inviteKey,this.businessId,this.firstName,this.lastName,this.placeName,this.businessName,this.role,this.businessRole,this.createdAt,this.updatedAt}); StaffInvitationDto.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; userId = json['userId']; placeId = json['placeId']; placeGuid = json['placeGuid']; inviteKey = json['inviteKey']; businessId = json['businessId']; firstName = json['firstName']; lastName = json['lastName']; placeName = json['placeName']; businessName = json['businessName']; role = JsonConverters.fromJson(json['role'],'StaffRole',context!); businessRole = JsonConverters.fromJson(json['businessRole'],'BusinessRole',context!); createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!); updatedAt = JsonConverters.fromJson(json['updatedAt'],'DateTime',context!); return this; } Map toJson() => { 'id': id, 'userId': userId, 'placeId': placeId, 'placeGuid': placeGuid, 'inviteKey': inviteKey, 'businessId': businessId, 'firstName': firstName, 'lastName': lastName, 'placeName': placeName, 'businessName': businessName, 'role': JsonConverters.toJson(role,'StaffRole',context!), 'businessRole': JsonConverters.toJson(businessRole,'BusinessRole',context!), 'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!), 'updatedAt': JsonConverters.toJson(updatedAt,'DateTime',context!) }; getTypeName() => "StaffInvitationDto"; TypeContext? context = _ctx; } class InviteStaffResponse implements IConvertible { StaffInvitationDto? staffInvitation; String? sentEmailWithRequestId; InviteStaffResponse({this.staffInvitation,this.sentEmailWithRequestId}); InviteStaffResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { staffInvitation = JsonConverters.fromJson(json['staffInvitation'],'StaffInvitationDto',context!); sentEmailWithRequestId = json['sentEmailWithRequestId']; return this; } Map toJson() => { 'staffInvitation': JsonConverters.toJson(staffInvitation,'StaffInvitationDto',context!), 'sentEmailWithRequestId': sentEmailWithRequestId }; getTypeName() => "InviteStaffResponse"; TypeContext? context = _ctx; } // @Route("/staff/invite", "POST") class InviteStaffRequest implements IReturn, IPost, IHasPlaceIdOrBusinessId, IConvertible { int? userId; int? placeId; int? businessId; StaffRole? role; BusinessRole? businessRole; InviteStaffRequest({this.userId,this.placeId,this.businessId,this.role,this.businessRole}); InviteStaffRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { userId = json['userId']; placeId = json['placeId']; businessId = json['businessId']; role = JsonConverters.fromJson(json['role'],'StaffRole',context!); businessRole = JsonConverters.fromJson(json['businessRole'],'BusinessRole',context!); return this; } Map toJson() => { 'userId': userId, 'placeId': placeId, 'businessId': businessId, 'role': JsonConverters.toJson(role,'StaffRole',context!), 'businessRole': JsonConverters.toJson(businessRole,'BusinessRole',context!) }; createResponse() => InviteStaffResponse(); getResponseTypeName() => "InviteStaffResponse"; getTypeName() => "InviteStaffRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'BusinessApi', types: { 'StaffRole': TypeInfo(TypeOf.Enum, enumValues:StaffRole.values), 'BusinessRole': TypeInfo(TypeOf.Enum, enumValues:BusinessRole.values), 'IHasPlaceIdOrBusinessId': TypeInfo(TypeOf.Interface), 'StaffInvitationDto': TypeInfo(TypeOf.Class, create:() => StaffInvitationDto()), 'InviteStaffResponse': TypeInfo(TypeOf.Class, create:() => InviteStaffResponse()), 'InviteStaffRequest': TypeInfo(TypeOf.Class, create:() => InviteStaffRequest()), });