/* Options: Date: 2026-06-13 03:52:34 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: DocumentShareCreateRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class DocumentShare implements IConvertible { int? DocumentShareId; String? DocumentShareUID; String? TokenHash; String? AttachmentId; String? SensitivityTier; bool? RequireOtp; String? OtpChannel; String? DeliveryChannels; int? RecipientContactId; String? RecipientEmail; String? RecipientPhone; bool? SmsConsentSnapshot; String? CreatedByUserId; int? CreatedByAgentId; DateTime? CreatedAtUtc; DateTime? ExpiresAtUtc; int? MaxViews; int? ViewCount; DateTime? RevokedAtUtc; String? RevokedByUserId; DocumentShare({this.DocumentShareId,this.DocumentShareUID,this.TokenHash,this.AttachmentId,this.SensitivityTier,this.RequireOtp,this.OtpChannel,this.DeliveryChannels,this.RecipientContactId,this.RecipientEmail,this.RecipientPhone,this.SmsConsentSnapshot,this.CreatedByUserId,this.CreatedByAgentId,this.CreatedAtUtc,this.ExpiresAtUtc,this.MaxViews,this.ViewCount,this.RevokedAtUtc,this.RevokedByUserId}); DocumentShare.fromJson(Map json) { fromMap(json); } fromMap(Map json) { DocumentShareId = json['DocumentShareId']; DocumentShareUID = json['DocumentShareUID']; TokenHash = json['TokenHash']; AttachmentId = json['AttachmentId']; SensitivityTier = json['SensitivityTier']; RequireOtp = json['RequireOtp']; OtpChannel = json['OtpChannel']; DeliveryChannels = json['DeliveryChannels']; RecipientContactId = json['RecipientContactId']; RecipientEmail = json['RecipientEmail']; RecipientPhone = json['RecipientPhone']; SmsConsentSnapshot = json['SmsConsentSnapshot']; CreatedByUserId = json['CreatedByUserId']; CreatedByAgentId = json['CreatedByAgentId']; CreatedAtUtc = JsonConverters.fromJson(json['CreatedAtUtc'],'DateTime',context!); ExpiresAtUtc = JsonConverters.fromJson(json['ExpiresAtUtc'],'DateTime',context!); MaxViews = json['MaxViews']; ViewCount = json['ViewCount']; RevokedAtUtc = JsonConverters.fromJson(json['RevokedAtUtc'],'DateTime',context!); RevokedByUserId = json['RevokedByUserId']; return this; } Map toJson() => { 'DocumentShareId': DocumentShareId, 'DocumentShareUID': DocumentShareUID, 'TokenHash': TokenHash, 'AttachmentId': AttachmentId, 'SensitivityTier': SensitivityTier, 'RequireOtp': RequireOtp, 'OtpChannel': OtpChannel, 'DeliveryChannels': DeliveryChannels, 'RecipientContactId': RecipientContactId, 'RecipientEmail': RecipientEmail, 'RecipientPhone': RecipientPhone, 'SmsConsentSnapshot': SmsConsentSnapshot, 'CreatedByUserId': CreatedByUserId, 'CreatedByAgentId': CreatedByAgentId, 'CreatedAtUtc': JsonConverters.toJson(CreatedAtUtc,'DateTime',context!), 'ExpiresAtUtc': JsonConverters.toJson(ExpiresAtUtc,'DateTime',context!), 'MaxViews': MaxViews, 'ViewCount': ViewCount, 'RevokedAtUtc': JsonConverters.toJson(RevokedAtUtc,'DateTime',context!), 'RevokedByUserId': RevokedByUserId }; getTypeName() => "DocumentShare"; TypeContext? context = _ctx; } class DocumentShareExtended extends DocumentShare implements IConvertible { String? AttachmentName; String? RecipientDisplayName; String? RecipientType; String? CreatedByName; String? Status; DocumentShareExtended({this.AttachmentName,this.RecipientDisplayName,this.RecipientType,this.CreatedByName,this.Status}); DocumentShareExtended.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); AttachmentName = json['AttachmentName']; RecipientDisplayName = json['RecipientDisplayName']; RecipientType = json['RecipientType']; CreatedByName = json['CreatedByName']; Status = json['Status']; return this; } Map toJson() => super.toJson()..addAll({ 'AttachmentName': AttachmentName, 'RecipientDisplayName': RecipientDisplayName, 'RecipientType': RecipientType, 'CreatedByName': CreatedByName, 'Status': Status }); getTypeName() => "DocumentShareExtended"; TypeContext? context = _ctx; } class DocumentShareResponse implements IConvertible { ResponseStatus? ResponseStatus; List? DocumentShare = []; String? ShareUrl; DocumentShareResponse({this.ResponseStatus,this.DocumentShare,this.ShareUrl}); DocumentShareResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); DocumentShare = JsonConverters.fromJson(json['DocumentShare'],'List',context!); ShareUrl = json['ShareUrl']; return this; } Map toJson() => { 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'DocumentShare': JsonConverters.toJson(DocumentShare,'List',context!), 'ShareUrl': ShareUrl }; getTypeName() => "DocumentShareResponse"; TypeContext? context = _ctx; } // @Route("/v1/documentshare", "POST,OPTIONS") class DocumentShareCreateRequest implements IReturn, IConvertible, IPost { String? AttachmentId; int? RecipientContactId; String? RecipientEmail; String? RecipientPhone; bool? IsAdhoc; String? SensitivityTier; bool? RequireOtp; String? OtpChannel; String? DeliveryChannels; int? ExpiresInHours; int? MaxViews; DocumentShareCreateRequest({this.AttachmentId,this.RecipientContactId,this.RecipientEmail,this.RecipientPhone,this.IsAdhoc,this.SensitivityTier,this.RequireOtp,this.OtpChannel,this.DeliveryChannels,this.ExpiresInHours,this.MaxViews}); DocumentShareCreateRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { AttachmentId = json['AttachmentId']; RecipientContactId = json['RecipientContactId']; RecipientEmail = json['RecipientEmail']; RecipientPhone = json['RecipientPhone']; IsAdhoc = json['IsAdhoc']; SensitivityTier = json['SensitivityTier']; RequireOtp = json['RequireOtp']; OtpChannel = json['OtpChannel']; DeliveryChannels = json['DeliveryChannels']; ExpiresInHours = json['ExpiresInHours']; MaxViews = json['MaxViews']; return this; } Map toJson() => { 'AttachmentId': AttachmentId, 'RecipientContactId': RecipientContactId, 'RecipientEmail': RecipientEmail, 'RecipientPhone': RecipientPhone, 'IsAdhoc': IsAdhoc, 'SensitivityTier': SensitivityTier, 'RequireOtp': RequireOtp, 'OtpChannel': OtpChannel, 'DeliveryChannels': DeliveryChannels, 'ExpiresInHours': ExpiresInHours, 'MaxViews': MaxViews }; createResponse() => DocumentShareResponse(); getResponseTypeName() => "DocumentShareResponse"; getTypeName() => "DocumentShareCreateRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'DocumentShare': TypeInfo(TypeOf.Class, create:() => DocumentShare()), 'DocumentShareExtended': TypeInfo(TypeOf.Class, create:() => DocumentShareExtended()), 'DocumentShareResponse': TypeInfo(TypeOf.Class, create:() => DocumentShareResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'DocumentShareCreateRequest': TypeInfo(TypeOf.Class, create:() => DocumentShareCreateRequest()), });