/* Options: Date: 2026-06-13 04:12:38 SwiftVersion: 6.0 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: DocumentShareRevokeRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/v1/documentshare/{DocumentShareId}", "DELETE,OPTIONS") public class DocumentShareRevokeRequest : IReturn, Codable { public typealias Return = DocumentShareResponse public var documentShareId:Int? required public init(){} } public class DocumentShareResponse : Codable { public var responseStatus:ResponseStatus? public var documentShare:[DocumentShareExtended] = [] public var shareUrl:String? required public init(){} } public class DocumentShareExtended : DocumentShare { public var attachmentName:String? public var recipientDisplayName:String? public var recipientType:String? public var createdByName:String? public var status:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case attachmentName case recipientDisplayName case recipientType case createdByName case status } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) attachmentName = try container.decodeIfPresent(String.self, forKey: .attachmentName) recipientDisplayName = try container.decodeIfPresent(String.self, forKey: .recipientDisplayName) recipientType = try container.decodeIfPresent(String.self, forKey: .recipientType) createdByName = try container.decodeIfPresent(String.self, forKey: .createdByName) status = try container.decodeIfPresent(String.self, forKey: .status) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if attachmentName != nil { try container.encode(attachmentName, forKey: .attachmentName) } if recipientDisplayName != nil { try container.encode(recipientDisplayName, forKey: .recipientDisplayName) } if recipientType != nil { try container.encode(recipientType, forKey: .recipientType) } if createdByName != nil { try container.encode(createdByName, forKey: .createdByName) } if status != nil { try container.encode(status, forKey: .status) } } } public class DocumentShare : Codable { public var documentShareId:Int? public var documentShareUID:String? public var tokenHash:String? public var attachmentId:String? public var sensitivityTier:String? public var requireOtp:Bool? public var otpChannel:String? public var deliveryChannels:String? public var recipientContactId:Int? public var recipientEmail:String? public var recipientPhone:String? public var smsConsentSnapshot:Bool? public var createdByUserId:String? public var createdByAgentId:Int? public var createdAtUtc:Date? public var expiresAtUtc:Date? public var maxViews:Int? public var viewCount:Int? public var revokedAtUtc:Date? public var revokedByUserId:String? required public init(){} }