/* Options: Date: 2026-05-19 10:58:40 SwiftVersion: 5.0 Version: 8.22 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://dev-api-booster.richemont.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: GetUsers.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/users", "GET") public class GetUsers : IReturn, IPagedRequest, Codable { public typealias Return = GetUsersResponse /** * Index of the result set returned */ // @ApiMember(Description="Index of the result set returned", IsRequired=true) public var page:Int /** * Size of the result set returned */ // @ApiMember(Description="Size of the result set returned", IsRequired=true) public var items:Int /** * Omit precise record count - save on performance */ // @ApiMember(Description="Omit precise record count - save on performance") public var noCount:Bool /** * Sorting expression */ // @ApiMember(Description="Sorting expression") public var sortBy:String /** * Email address */ // @ApiMember(Description="Email address") public var email:String /** * Also retreive users with locked account */ // @ApiMember(Description="Also retreive users with locked account") public var includeLockedAccounts:Bool? required public init(){} } public class GetUsersResponse : Codable { /** * Index of the result set returnedr */ // @ApiMember(Description="Index of the result set returnedr", IsRequired=true) public var page:Int /** * Size of the result set returned */ // @ApiMember(Description="Size of the result set returned", IsRequired=true) public var items:Int /** * Total amount of pages / result sets */ // @ApiMember(Description="Total amount of pages / result sets", IsRequired=true) public var totalPages:Int /** * Total amount of results */ // @ApiMember(Description="Total amount of results", IsRequired=true) public var totalResults:Int /** * List of Users */ // @ApiMember(Description="List of Users", IsRequired=true) public var elements:[GetUserResponse] = [] required public init(){} } public protocol IPagedRequest { var page:Int { get set } var items:Int { get set } var noCount:Bool { get set } var sortBy:String { get set } } public class GetUserResponse : Codable { /** * Unique Identifier of a User */ // @ApiMember(Description="Unique Identifier of a User", IsRequired=true) public var userId:String /** * User's Email address */ // @ApiMember(Description="User's Email address", IsRequired=true) public var emailAddress:String /** * First Name */ // @ApiMember(Description="First Name", IsRequired=true) public var firstName:String /** * Last Name */ // @ApiMember(Description="Last Name", IsRequired=true) public var lastName:String /** * User's Password Expiration Date */ // @ApiMember(Description="User's Password Expiration Date") public var passwordExpirationDate:String /** * If the User must change the password */ // @ApiMember(Description="If the User must change the password", IsRequired=true) public var passwordMustBeChanged:Bool /** * User Type of the User */ // @ApiMember(Description="User Type of the User", IsRequired=true) public var userType:String /** * Culture ID of the User */ // @ApiMember(Description="Culture ID of the User", IsRequired=true) public var culture:String /** * If the User account is locked */ // @ApiMember(Description="If the User account is locked", IsRequired=true) public var accountLocked:Bool required public init(){} }