All Verbs | /session/edit/{CustomName} |
---|
import Foundation
import ServiceStack
public class UpdateSession : Codable
{
public var customName:String
required public init(){}
}
public class GetSessionResponse : Codable
{
public var result:CustomUserSession
public var unAuthInfo:UnAuthInfo
public var responseStatus:ResponseStatus
required public init(){}
}
public class CustomUserSession : AuthUserSession
{
// @DataMember
public var customName:String
// @DataMember
public var customInfo:String
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case customName
case customInfo
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
customName = try container.decodeIfPresent(String.self, forKey: .customName)
customInfo = try container.decodeIfPresent(String.self, forKey: .customInfo)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if customName != nil { try container.encode(customName, forKey: .customName) }
if customInfo != nil { try container.encode(customInfo, forKey: .customInfo) }
}
}
// @DataContract
public class AuthUserSession : IMeta, Codable
{
// @DataMember(Order=1)
public var referrerUrl:String
// @DataMember(Order=2)
public var id:String
// @DataMember(Order=3)
public var userAuthId:String
// @DataMember(Order=4)
public var userAuthName:String
// @DataMember(Order=5)
public var userName:String
// @DataMember(Order=6)
public var twitterUserId:String
// @DataMember(Order=7)
public var twitterScreenName:String
// @DataMember(Order=8)
public var facebookUserId:String
// @DataMember(Order=9)
public var facebookUserName:String
// @DataMember(Order=10)
public var firstName:String
// @DataMember(Order=11)
public var lastName:String
// @DataMember(Order=12)
public var displayName:String
// @DataMember(Order=13)
public var company:String
// @DataMember(Order=14)
public var email:String
// @DataMember(Order=15)
public var primaryEmail:String
// @DataMember(Order=16)
public var phoneNumber:String
// @DataMember(Order=17)
public var birthDate:Date?
// @DataMember(Order=18)
public var birthDateRaw:String
// @DataMember(Order=19)
public var address:String
// @DataMember(Order=20)
public var address2:String
// @DataMember(Order=21)
public var city:String
// @DataMember(Order=22)
public var state:String
// @DataMember(Order=23)
public var country:String
// @DataMember(Order=24)
public var culture:String
// @DataMember(Order=25)
public var fullName:String
// @DataMember(Order=26)
public var gender:String
// @DataMember(Order=27)
public var language:String
// @DataMember(Order=28)
public var mailAddress:String
// @DataMember(Order=29)
public var nickname:String
// @DataMember(Order=30)
public var postalCode:String
// @DataMember(Order=31)
public var timeZone:String
// @DataMember(Order=32)
public var requestTokenSecret:String
// @DataMember(Order=33)
public var createdAt:Date
// @DataMember(Order=34)
public var lastModified:Date
// @DataMember(Order=35)
public var roles:[String]
// @DataMember(Order=36)
public var permissions:[String]
// @DataMember(Order=37)
public var isAuthenticated:Bool
// @DataMember(Order=38)
public var fromToken:Bool
// @DataMember(Order=39)
public var profileUrl:String
// @DataMember(Order=40)
public var sequence:String
// @DataMember(Order=41)
public var tag:Int
// @DataMember(Order=42)
public var authProvider:String
//providerOAuthAccess:[IAuthTokens] ignored. Swift doesn't support interface properties
// @DataMember(Order=44)
public var meta:[String:String]
// @DataMember(Order=45)
public var audiences:[String]
// @DataMember(Order=46)
public var scopes:[String]
// @DataMember(Order=47)
public var dns:String
// @DataMember(Order=48)
public var rsa:String
// @DataMember(Order=49)
public var sid:String
// @DataMember(Order=50)
public var hash:String
// @DataMember(Order=51)
public var homePhone:String
// @DataMember(Order=52)
public var mobilePhone:String
// @DataMember(Order=53)
public var webpage:String
// @DataMember(Order=54)
public var emailConfirmed:Bool?
// @DataMember(Order=55)
public var phoneNumberConfirmed:Bool?
// @DataMember(Order=56)
public var twoFactorEnabled:Bool?
// @DataMember(Order=57)
public var securityStamp:String
// @DataMember(Order=58)
public var type:String
// @DataMember(Order=59)
public var recoveryToken:String
// @DataMember(Order=60)
public var refId:Int?
// @DataMember(Order=61)
public var refIdStr:String
required public init(){}
}
public protocol IAuthTokens
{
var provider:String { get set }
var userId:String { get set }
var accessToken:String { get set }
var accessTokenSecret:String { get set }
var refreshToken:String { get set }
var refreshTokenExpiry:Date? { get set }
var requestToken:String { get set }
var requestTokenSecret:String { get set }
var items:[String:String] { get set }
}
public class UnAuthInfo : Codable
{
public var customInfo:String
required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /session/edit/{CustomName} HTTP/1.1
Host: test.servicestack.net
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<UpdateSession xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Test.ServiceInterface">
<CustomName>String</CustomName>
</UpdateSession>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <GetSessionResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Test.ServiceInterface"> <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types"> <d2p1:ErrorCode>String</d2p1:ErrorCode> <d2p1:Message>String</d2p1:Message> <d2p1:StackTrace>String</d2p1:StackTrace> <d2p1:Errors> <d2p1:ResponseError> <d2p1:ErrorCode>String</d2p1:ErrorCode> <d2p1:FieldName>String</d2p1:FieldName> <d2p1:Message>String</d2p1:Message> <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d5p1:KeyValueOfstringstring> <d5p1:Key>String</d5p1:Key> <d5p1:Value>String</d5p1:Value> </d5p1:KeyValueOfstringstring> </d2p1:Meta> </d2p1:ResponseError> </d2p1:Errors> <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfstringstring> <d3p1:Key>String</d3p1:Key> <d3p1:Value>String</d3p1:Value> </d3p1:KeyValueOfstringstring> </d2p1:Meta> </ResponseStatus> <Result> <ReferrerUrl xmlns="http://schemas.servicestack.net/types">String</ReferrerUrl> <Id xmlns="http://schemas.servicestack.net/types">String</Id> <UserAuthId xmlns="http://schemas.servicestack.net/types">String</UserAuthId> <UserAuthName xmlns="http://schemas.servicestack.net/types">String</UserAuthName> <UserName xmlns="http://schemas.servicestack.net/types">String</UserName> <TwitterUserId xmlns="http://schemas.servicestack.net/types">String</TwitterUserId> <TwitterScreenName xmlns="http://schemas.servicestack.net/types">String</TwitterScreenName> <FacebookUserId xmlns="http://schemas.servicestack.net/types">String</FacebookUserId> <FacebookUserName xmlns="http://schemas.servicestack.net/types">String</FacebookUserName> <FirstName xmlns="http://schemas.servicestack.net/types">String</FirstName> <LastName xmlns="http://schemas.servicestack.net/types">String</LastName> <DisplayName xmlns="http://schemas.servicestack.net/types">String</DisplayName> <Company xmlns="http://schemas.servicestack.net/types">String</Company> <Email xmlns="http://schemas.servicestack.net/types">String</Email> <PrimaryEmail xmlns="http://schemas.servicestack.net/types">String</PrimaryEmail> <PhoneNumber xmlns="http://schemas.servicestack.net/types">String</PhoneNumber> <BirthDate xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</BirthDate> <BirthDateRaw xmlns="http://schemas.servicestack.net/types">String</BirthDateRaw> <Address xmlns="http://schemas.servicestack.net/types">String</Address> <Address2 xmlns="http://schemas.servicestack.net/types">String</Address2> <City xmlns="http://schemas.servicestack.net/types">String</City> <State xmlns="http://schemas.servicestack.net/types">String</State> <Country xmlns="http://schemas.servicestack.net/types">String</Country> <Culture xmlns="http://schemas.servicestack.net/types">String</Culture> <FullName xmlns="http://schemas.servicestack.net/types">String</FullName> <Gender xmlns="http://schemas.servicestack.net/types">String</Gender> <Language xmlns="http://schemas.servicestack.net/types">String</Language> <MailAddress xmlns="http://schemas.servicestack.net/types">String</MailAddress> <Nickname xmlns="http://schemas.servicestack.net/types">String</Nickname> <PostalCode xmlns="http://schemas.servicestack.net/types">String</PostalCode> <TimeZone xmlns="http://schemas.servicestack.net/types">String</TimeZone> <RequestTokenSecret xmlns="http://schemas.servicestack.net/types">String</RequestTokenSecret> <CreatedAt xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</CreatedAt> <LastModified xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</LastModified> <Roles xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types"> <d3p1:string>String</d3p1:string> </Roles> <Permissions xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types"> <d3p1:string>String</d3p1:string> </Permissions> <IsAuthenticated xmlns="http://schemas.servicestack.net/types">false</IsAuthenticated> <FromToken xmlns="http://schemas.servicestack.net/types">false</FromToken> <ProfileUrl xmlns="http://schemas.servicestack.net/types">String</ProfileUrl> <Sequence xmlns="http://schemas.servicestack.net/types">String</Sequence> <Tag xmlns="http://schemas.servicestack.net/types">0</Tag> <AuthProvider xmlns="http://schemas.servicestack.net/types">String</AuthProvider> <ProviderOAuthAccess xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types"> <d3p1:anyType i:nil="true" /> </ProviderOAuthAccess> <Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types"> <d3p1:KeyValueOfstringstring> <d3p1:Key>String</d3p1:Key> <d3p1:Value>String</d3p1:Value> </d3p1:KeyValueOfstringstring> </Meta> <Audiences xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types"> <d3p1:string>String</d3p1:string> </Audiences> <Scopes xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types"> <d3p1:string>String</d3p1:string> </Scopes> <Dns xmlns="http://schemas.servicestack.net/types">String</Dns> <Rsa xmlns="http://schemas.servicestack.net/types">String</Rsa> <Sid xmlns="http://schemas.servicestack.net/types">String</Sid> <Hash xmlns="http://schemas.servicestack.net/types">String</Hash> <HomePhone xmlns="http://schemas.servicestack.net/types">String</HomePhone> <MobilePhone xmlns="http://schemas.servicestack.net/types">String</MobilePhone> <Webpage xmlns="http://schemas.servicestack.net/types">String</Webpage> <EmailConfirmed xmlns="http://schemas.servicestack.net/types">false</EmailConfirmed> <PhoneNumberConfirmed xmlns="http://schemas.servicestack.net/types">false</PhoneNumberConfirmed> <TwoFactorEnabled xmlns="http://schemas.servicestack.net/types">false</TwoFactorEnabled> <SecurityStamp xmlns="http://schemas.servicestack.net/types">String</SecurityStamp> <Type xmlns="http://schemas.servicestack.net/types">String</Type> <RecoveryToken xmlns="http://schemas.servicestack.net/types">String</RecoveryToken> <RefId xmlns="http://schemas.servicestack.net/types">0</RefId> <RefIdStr xmlns="http://schemas.servicestack.net/types">String</RefIdStr> <CustomInfo>String</CustomInfo> <CustomName>String</CustomName> </Result> <UnAuthInfo> <CustomInfo>String</CustomInfo> </UnAuthInfo> </GetSessionResponse>