/* Options: Date: 2025-08-04 04:11:48 SwiftVersion: 5.0 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://szallitoiportal-be.veolia.hu //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: BrowseAllAdminUser.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/user/admin", "POST") public class BrowseAllAdminUser : PaginationRequestBase, IReturn, IPost { public typealias Return = PaginationResponse required public init(){ super.init() } required public init(from decoder: Decoder) throws { try super.init(from: decoder) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) } } public class PaginationResponse : ResponseBase { public var result:PaginationResult required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case result } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) result = try container.decodeIfPresent(PaginationResult.self, forKey: .result) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if result != nil { try container.encode(result, forKey: .result) } } } public class GridViewState : Codable { public var columnState:GridViewColumnState public var columnFilters:[GridViewColumnFilter] = [] public var pagerState:GridViewPagerState public var isReturnCount:Bool required public init(){} } public class PaginationRequestBase : IGridView, Codable { public var gridViewState:GridViewState required public init(){} } public protocol IGridView { var gridViewState:GridViewState { get set } } public class GridViewColumnState : Codable { public var fieldName:String public var sortDirection:GridSortDirection required public init(){} } public class GridViewColumnFilter : Codable { public var fieldName:String public var filterValue:String public var `operator`:FilterOperator required public init(){} } public class GridViewPagerState : Codable { public var skipRowCount:Int public var pageRowCount:Int required public init(){} } public enum GridSortDirection : Int, Codable { case None = 0 case Asc = 1 case Desc = 2 } public enum FilterOperator : Int, Codable { case NotSet = 0 case Equal = 1 case Greater = 2 case Less = 3 case GreaterOrEqual = 4 case LessOrEqual = 5 case NotEqual = 6 case IsNull = 7 case IsNotNull = 8 case Like = 9 case NotLike = 10 case Begins = 11 case Ends = 12 case In = 13 case Between = 14 }