/* Options: Date: 2025-12-06 07:25:22 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ChatRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; class ChatMember implements IConvertible { String? ChatMemberId; String? ChatId; String? UserId; bool? IsActive; bool? IsArchived; String? LastChatMessageId; String? ChatMemberName; ChatMember({this.ChatMemberId,this.ChatId,this.UserId,this.IsActive,this.IsArchived,this.LastChatMessageId,this.ChatMemberName}); ChatMember.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ChatMemberId = json['ChatMemberId']; ChatId = json['ChatId']; UserId = json['UserId']; IsActive = json['IsActive']; IsArchived = json['IsArchived']; LastChatMessageId = json['LastChatMessageId']; ChatMemberName = json['ChatMemberName']; return this; } Map toJson() => { 'ChatMemberId': ChatMemberId, 'ChatId': ChatId, 'UserId': UserId, 'IsActive': IsActive, 'IsArchived': IsArchived, 'LastChatMessageId': LastChatMessageId, 'ChatMemberName': ChatMemberName }; getTypeName() => "ChatMember"; TypeContext? context = _ctx; } class Chat implements IConvertible { String? ChatId; String? ChatName; String? CreatedBy; DateTime? DateCreated; List? ChatMembers = []; bool? IsArchived; int? MemberCount; int? MessageCount; int? UnreadCount; String? CreatedByName; Chat({this.ChatId,this.ChatName,this.CreatedBy,this.DateCreated,this.ChatMembers,this.IsArchived,this.MemberCount,this.MessageCount,this.UnreadCount,this.CreatedByName}); Chat.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ChatId = json['ChatId']; ChatName = json['ChatName']; CreatedBy = json['CreatedBy']; DateCreated = JsonConverters.fromJson(json['DateCreated'],'DateTime',context!); ChatMembers = JsonConverters.fromJson(json['ChatMembers'],'List',context!); IsArchived = json['IsArchived']; MemberCount = json['MemberCount']; MessageCount = json['MessageCount']; UnreadCount = json['UnreadCount']; CreatedByName = json['CreatedByName']; return this; } Map toJson() => { 'ChatId': ChatId, 'ChatName': ChatName, 'CreatedBy': CreatedBy, 'DateCreated': JsonConverters.toJson(DateCreated,'DateTime',context!), 'ChatMembers': JsonConverters.toJson(ChatMembers,'List',context!), 'IsArchived': IsArchived, 'MemberCount': MemberCount, 'MessageCount': MessageCount, 'UnreadCount': UnreadCount, 'CreatedByName': CreatedByName }; getTypeName() => "Chat"; TypeContext? context = _ctx; } class ChatResponse implements IConvertible { ResponseStatus? ResponseStatus; List? Chat = []; ChatResponse({this.ResponseStatus,this.Chat}); ChatResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); Chat = JsonConverters.fromJson(json['Chat'],'List',context!); return this; } Map toJson() => { 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'Chat': JsonConverters.toJson(Chat,'List',context!) }; getTypeName() => "ChatResponse"; TypeContext? context = _ctx; } // @Route("/v1/Chat", "GET,POST,OPTIONS") // @Route("/v1/Chat/{ChatId}", "PUT,OPTIONS") class ChatRequest implements IReturn, IConvertible, IPost { String? ChatId; Chat? Chat; ChatRequest({this.ChatId,this.Chat}); ChatRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ChatId = json['ChatId']; Chat = JsonConverters.fromJson(json['Chat'],'Chat',context!); return this; } Map toJson() => { 'ChatId': ChatId, 'Chat': JsonConverters.toJson(Chat,'Chat',context!) }; createResponse() => ChatResponse(); getResponseTypeName() => "ChatResponse"; getTypeName() => "ChatRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'ChatMember': TypeInfo(TypeOf.Class, create:() => ChatMember()), 'Chat': TypeInfo(TypeOf.Class, create:() => Chat()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ChatResponse': TypeInfo(TypeOf.Class, create:() => ChatResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ChatRequest': TypeInfo(TypeOf.Class, create:() => ChatRequest()), });