GET | /user/current |
---|
import Foundation
import ServiceStack
public class BrowseCurrentUser : IGet, Codable
{
required public init(){}
}
public class BrowseCurrentUserResponse : ResponseBase
{
public var user:CurrentUser
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case user
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
user = try container.decodeIfPresent(CurrentUser.self, forKey: .user)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if user != nil { try container.encode(user, forKey: .user) }
}
}
public class ResponseBase : Codable
{
public var responseStatus:ResponseStatus
required public init(){}
}
public class CurrentUser : Codable
{
public var id:Int
public var email:String
public var userName:String
public var phoneNumber:String
public var displayName:String
public var organizationUnit:String
public var position:String
public var status:Int
public var supplier:CurrentSupplier
public var roles:[String] = []
public var permissions:[String] = []
required public init(){}
}
public class CurrentSupplier : SupplierSimple
{
public var status:SupplierStatus
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case status
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
status = try container.decodeIfPresent(SupplierStatus.self, forKey: .status)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if status != nil { try container.encode(status, forKey: .status) }
}
}
public class SupplierSimple : Codable
{
public var id:Int
public var ownerId:Int
public var vatNumber:String
public var businessType:BusinessType
public var countryId:Int
public var name:String
public var shortName:String
public var registrationNumber:String
public var establishedDate:Date
public var registrationDate:Date
public var duns:String
public var operatingLicenseNumber:String
public var isAccounting:Bool
public var isSmallTaxPayer:Bool
public var email:String
public var phoneNumber:String
public var website:String
required public init(){}
}
public enum BusinessType : Int, Codable
{
case Company = 0
case PrivateEntrepreneur = 1
case NonProfit = 2
case LawOffice = 3
}
public enum SupplierStatus : Int, Codable
{
case Registered = 0
case AwaitingVeoliaConfirmation = 1
case Active = 2
case Rejected = 3
case Locked = 4
case Deleted = 5
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /user/current HTTP/1.1 Host: szallitoiportal-be.veolia.hu Accept: text/jsonl
HTTP/1.1 200 OK Content-Type: text/jsonl Content-Length: length {"User":{"Id":0,"Email":"String","UserName":"String","PhoneNumber":"String","DisplayName":"String","OrganizationUnit":"String","Position":"String","Status":0,"Supplier":{"Status":0,"Id":0,"OwnerId":0,"VatNumber":"String","BusinessType":0,"CountryId":0,"Name":"String","ShortName":"String","RegistrationNumber":"String","EstablishedDate":"0001-01-01T00:00:00.0000000","RegistrationDate":"0001-01-01T00:00:00.0000000","Duns":"String","OperatingLicenseNumber":"String","IsAccounting":false,"IsSmallTaxPayer":false,"Email":"String","PhoneNumber":"String","Website":"String"},"Roles":["String"],"Permissions":["String"]},"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}