| All Verbs | /session |
|---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
import 'dart:collection';
abstract class IAuthTokens
{
String? provider;
String? userId;
String? accessToken;
String? accessTokenSecret;
String? refreshToken;
DateTime? refreshTokenExpiry;
String? requestToken;
String? requestTokenSecret;
Map<String,String?>? items;
}
// @DataContract
class AuthUserSession implements IMeta, IConvertible
{
// @DataMember(Order=1)
String? referrerUrl;
// @DataMember(Order=2)
String? id;
// @DataMember(Order=3)
String? userAuthId;
// @DataMember(Order=4)
String? userAuthName;
// @DataMember(Order=5)
String? userName;
// @DataMember(Order=6)
String? twitterUserId;
// @DataMember(Order=7)
String? twitterScreenName;
// @DataMember(Order=8)
String? facebookUserId;
// @DataMember(Order=9)
String? facebookUserName;
// @DataMember(Order=10)
String? firstName;
// @DataMember(Order=11)
String? lastName;
// @DataMember(Order=12)
String? displayName;
// @DataMember(Order=13)
String? company;
// @DataMember(Order=14)
String? email;
// @DataMember(Order=15)
String? primaryEmail;
// @DataMember(Order=16)
String? phoneNumber;
// @DataMember(Order=17)
DateTime? birthDate;
// @DataMember(Order=18)
String? birthDateRaw;
// @DataMember(Order=19)
String? address;
// @DataMember(Order=20)
String? address2;
// @DataMember(Order=21)
String? city;
// @DataMember(Order=22)
String? state;
// @DataMember(Order=23)
String? country;
// @DataMember(Order=24)
String? culture;
// @DataMember(Order=25)
String? fullName;
// @DataMember(Order=26)
String? gender;
// @DataMember(Order=27)
String? language;
// @DataMember(Order=28)
String? mailAddress;
// @DataMember(Order=29)
String? nickname;
// @DataMember(Order=30)
String? postalCode;
// @DataMember(Order=31)
String? timeZone;
// @DataMember(Order=32)
String? requestTokenSecret;
// @DataMember(Order=33)
DateTime? createdAt;
// @DataMember(Order=34)
DateTime? lastModified;
// @DataMember(Order=35)
List<String>? roles;
// @DataMember(Order=36)
List<String>? permissions;
// @DataMember(Order=37)
bool? isAuthenticated;
// @DataMember(Order=38)
bool? fromToken;
// @DataMember(Order=39)
String? profileUrl;
// @DataMember(Order=40)
String? sequence;
// @DataMember(Order=41)
int? tag;
// @DataMember(Order=42)
String? authProvider;
// @DataMember(Order=43)
List<IAuthTokens>? providerOAuthAccess;
// @DataMember(Order=44)
Map<String,String?>? meta;
// @DataMember(Order=45)
List<String>? audiences;
// @DataMember(Order=46)
List<String>? scopes;
// @DataMember(Order=47)
String? dns;
// @DataMember(Order=48)
String? rsa;
// @DataMember(Order=49)
String? sid;
// @DataMember(Order=50)
String? hash;
// @DataMember(Order=51)
String? homePhone;
// @DataMember(Order=52)
String? mobilePhone;
// @DataMember(Order=53)
String? webpage;
// @DataMember(Order=54)
bool? emailConfirmed;
// @DataMember(Order=55)
bool? phoneNumberConfirmed;
// @DataMember(Order=56)
bool? twoFactorEnabled;
// @DataMember(Order=57)
String? securityStamp;
// @DataMember(Order=58)
String? type;
// @DataMember(Order=59)
String? recoveryToken;
// @DataMember(Order=60)
int? refId;
// @DataMember(Order=61)
String? refIdStr;
// @DataMember(Order=62)
ClaimsPrincipal? user;
AuthUserSession({this.referrerUrl,this.id,this.userAuthId,this.userAuthName,this.userName,this.twitterUserId,this.twitterScreenName,this.facebookUserId,this.facebookUserName,this.firstName,this.lastName,this.displayName,this.company,this.email,this.primaryEmail,this.phoneNumber,this.birthDate,this.birthDateRaw,this.address,this.address2,this.city,this.state,this.country,this.culture,this.fullName,this.gender,this.language,this.mailAddress,this.nickname,this.postalCode,this.timeZone,this.requestTokenSecret,this.createdAt,this.lastModified,this.roles,this.permissions,this.isAuthenticated,this.fromToken,this.profileUrl,this.sequence,this.tag,this.authProvider,this.providerOAuthAccess,this.meta,this.audiences,this.scopes,this.dns,this.rsa,this.sid,this.hash,this.homePhone,this.mobilePhone,this.webpage,this.emailConfirmed,this.phoneNumberConfirmed,this.twoFactorEnabled,this.securityStamp,this.type,this.recoveryToken,this.refId,this.refIdStr,this.user});
AuthUserSession.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
referrerUrl = json['referrerUrl'];
id = json['id'];
userAuthId = json['userAuthId'];
userAuthName = json['userAuthName'];
userName = json['userName'];
twitterUserId = json['twitterUserId'];
twitterScreenName = json['twitterScreenName'];
facebookUserId = json['facebookUserId'];
facebookUserName = json['facebookUserName'];
firstName = json['firstName'];
lastName = json['lastName'];
displayName = json['displayName'];
company = json['company'];
email = json['email'];
primaryEmail = json['primaryEmail'];
phoneNumber = json['phoneNumber'];
birthDate = JsonConverters.fromJson(json['birthDate'],'DateTime',context!);
birthDateRaw = json['birthDateRaw'];
address = json['address'];
address2 = json['address2'];
city = json['city'];
state = json['state'];
country = json['country'];
culture = json['culture'];
fullName = json['fullName'];
gender = json['gender'];
language = json['language'];
mailAddress = json['mailAddress'];
nickname = json['nickname'];
postalCode = json['postalCode'];
timeZone = json['timeZone'];
requestTokenSecret = json['requestTokenSecret'];
createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!);
lastModified = JsonConverters.fromJson(json['lastModified'],'DateTime',context!);
roles = JsonConverters.fromJson(json['roles'],'List<String>',context!);
permissions = JsonConverters.fromJson(json['permissions'],'List<String>',context!);
isAuthenticated = json['isAuthenticated'];
fromToken = json['fromToken'];
profileUrl = json['profileUrl'];
sequence = json['sequence'];
tag = json['tag'];
authProvider = json['authProvider'];
providerOAuthAccess = JsonConverters.fromJson(json['providerOAuthAccess'],'List<IAuthTokens>',context!);
meta = JsonConverters.toStringMap(json['meta']);
audiences = JsonConverters.fromJson(json['audiences'],'List<String>',context!);
scopes = JsonConverters.fromJson(json['scopes'],'List<String>',context!);
dns = json['dns'];
rsa = json['rsa'];
sid = json['sid'];
hash = json['hash'];
homePhone = json['homePhone'];
mobilePhone = json['mobilePhone'];
webpage = json['webpage'];
emailConfirmed = json['emailConfirmed'];
phoneNumberConfirmed = json['phoneNumberConfirmed'];
twoFactorEnabled = json['twoFactorEnabled'];
securityStamp = json['securityStamp'];
type = json['type'];
recoveryToken = json['recoveryToken'];
refId = json['refId'];
refIdStr = json['refIdStr'];
user = JsonConverters.fromJson(json['user'],'ClaimsPrincipal',context!);
return this;
}
Map<String, dynamic> toJson() => {
'referrerUrl': referrerUrl,
'id': id,
'userAuthId': userAuthId,
'userAuthName': userAuthName,
'userName': userName,
'twitterUserId': twitterUserId,
'twitterScreenName': twitterScreenName,
'facebookUserId': facebookUserId,
'facebookUserName': facebookUserName,
'firstName': firstName,
'lastName': lastName,
'displayName': displayName,
'company': company,
'email': email,
'primaryEmail': primaryEmail,
'phoneNumber': phoneNumber,
'birthDate': JsonConverters.toJson(birthDate,'DateTime',context!),
'birthDateRaw': birthDateRaw,
'address': address,
'address2': address2,
'city': city,
'state': state,
'country': country,
'culture': culture,
'fullName': fullName,
'gender': gender,
'language': language,
'mailAddress': mailAddress,
'nickname': nickname,
'postalCode': postalCode,
'timeZone': timeZone,
'requestTokenSecret': requestTokenSecret,
'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!),
'lastModified': JsonConverters.toJson(lastModified,'DateTime',context!),
'roles': JsonConverters.toJson(roles,'List<String>',context!),
'permissions': JsonConverters.toJson(permissions,'List<String>',context!),
'isAuthenticated': isAuthenticated,
'fromToken': fromToken,
'profileUrl': profileUrl,
'sequence': sequence,
'tag': tag,
'authProvider': authProvider,
'providerOAuthAccess': JsonConverters.toJson(providerOAuthAccess,'List<IAuthTokens>',context!),
'meta': meta,
'audiences': JsonConverters.toJson(audiences,'List<String>',context!),
'scopes': JsonConverters.toJson(scopes,'List<String>',context!),
'dns': dns,
'rsa': rsa,
'sid': sid,
'hash': hash,
'homePhone': homePhone,
'mobilePhone': mobilePhone,
'webpage': webpage,
'emailConfirmed': emailConfirmed,
'phoneNumberConfirmed': phoneNumberConfirmed,
'twoFactorEnabled': twoFactorEnabled,
'securityStamp': securityStamp,
'type': type,
'recoveryToken': recoveryToken,
'refId': refId,
'refIdStr': refIdStr,
'user': JsonConverters.toJson(user,'ClaimsPrincipal',context!)
};
getTypeName() => "AuthUserSession";
TypeContext? context = _ctx;
}
class CustomUserSession extends AuthUserSession implements IConvertible
{
// @DataMember
String? customName;
// @DataMember
String? customInfo;
CustomUserSession({this.customName,this.customInfo});
CustomUserSession.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
customName = json['customName'];
customInfo = json['customInfo'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'customName': customName,
'customInfo': customInfo
});
getTypeName() => "CustomUserSession";
TypeContext? context = _ctx;
}
class UnAuthInfo implements IConvertible
{
String? customInfo;
UnAuthInfo({this.customInfo});
UnAuthInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
customInfo = json['customInfo'];
return this;
}
Map<String, dynamic> toJson() => {
'customInfo': customInfo
};
getTypeName() => "UnAuthInfo";
TypeContext? context = _ctx;
}
class GetSessionResponse implements IConvertible
{
CustomUserSession? result;
UnAuthInfo? unAuthInfo;
ResponseStatus? responseStatus;
GetSessionResponse({this.result,this.unAuthInfo,this.responseStatus});
GetSessionResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
result = JsonConverters.fromJson(json['result'],'CustomUserSession',context!);
unAuthInfo = JsonConverters.fromJson(json['unAuthInfo'],'UnAuthInfo',context!);
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'result': JsonConverters.toJson(result,'CustomUserSession',context!),
'unAuthInfo': JsonConverters.toJson(unAuthInfo,'UnAuthInfo',context!),
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
};
getTypeName() => "GetSessionResponse";
TypeContext? context = _ctx;
}
class GetSession implements IConvertible
{
GetSession();
GetSession.fromJson(Map<String, dynamic> json) : super();
fromMap(Map<String, dynamic> json) {
return this;
}
Map<String, dynamic> toJson() => {};
getTypeName() => "GetSession";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'test.servicestack.net', types: <String, TypeInfo> {
'IAuthTokens': TypeInfo(TypeOf.Interface),
'AuthUserSession': TypeInfo(TypeOf.Class, create:() => AuthUserSession()),
'List<IAuthTokens>': TypeInfo(TypeOf.Class, create:() => <IAuthTokens>[]),
'ClaimsPrincipal': TypeInfo(TypeOf.Class, create:() => ClaimsPrincipal()),
'CustomUserSession': TypeInfo(TypeOf.Class, create:() => CustomUserSession()),
'UnAuthInfo': TypeInfo(TypeOf.Class, create:() => UnAuthInfo()),
'GetSessionResponse': TypeInfo(TypeOf.Class, create:() => GetSessionResponse()),
'GetSession': TypeInfo(TypeOf.Class, create:() => GetSession()),
});
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 HTTP/1.1
Host: test.servicestack.net
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<GetSession xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Test.ServiceInterface" />
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>
<User xmlns:d3p1="http://schemas.datacontract.org/2004/07/System.Security.Claims" xmlns="http://schemas.servicestack.net/types">
<d3p1:Claims />
<d3p1:Identities />
</User>
<CustomInfo>String</CustomInfo>
<CustomName>String</CustomName>
</Result>
<UnAuthInfo>
<CustomInfo>String</CustomInfo>
</UnAuthInfo>
</GetSessionResponse>