| GET,OPTIONS | /v1/lobby/{LocationId}/play |
|---|
import 'package:servicestack/servicestack.dart';
class LobbyContentItem implements IConvertible
{
int? LobbyContentId;
String? Title;
String? Kind;
bool? HasMedia;
String? MediaUrl;
String? Headline;
String? Body;
String? Accent;
String? Url;
int? DwellSec;
DateTime? StartsAt;
DateTime? EndsAt;
int? DaysMask;
int? HourFrom;
int? HourTo;
bool? IsThirdParty;
String? Status;
bool? AllBranches;
List<String>? BranchIds = [];
int? Plays7d;
bool? OnNow;
int? SortOrder;
String? CreatedBy;
DateTime? UpdatedAt;
LobbyContentItem({this.LobbyContentId,this.Title,this.Kind,this.HasMedia,this.MediaUrl,this.Headline,this.Body,this.Accent,this.Url,this.DwellSec,this.StartsAt,this.EndsAt,this.DaysMask,this.HourFrom,this.HourTo,this.IsThirdParty,this.Status,this.AllBranches,this.BranchIds,this.Plays7d,this.OnNow,this.SortOrder,this.CreatedBy,this.UpdatedAt});
LobbyContentItem.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
LobbyContentId = json['LobbyContentId'];
Title = json['Title'];
Kind = json['Kind'];
HasMedia = json['HasMedia'];
MediaUrl = json['MediaUrl'];
Headline = json['Headline'];
Body = json['Body'];
Accent = json['Accent'];
Url = json['Url'];
DwellSec = json['DwellSec'];
StartsAt = JsonConverters.fromJson(json['StartsAt'],'DateTime',context!);
EndsAt = JsonConverters.fromJson(json['EndsAt'],'DateTime',context!);
DaysMask = json['DaysMask'];
HourFrom = json['HourFrom'];
HourTo = json['HourTo'];
IsThirdParty = json['IsThirdParty'];
Status = json['Status'];
AllBranches = json['AllBranches'];
BranchIds = JsonConverters.fromJson(json['BranchIds'],'List<String>',context!);
Plays7d = json['Plays7d'];
OnNow = json['OnNow'];
SortOrder = json['SortOrder'];
CreatedBy = json['CreatedBy'];
UpdatedAt = JsonConverters.fromJson(json['UpdatedAt'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'LobbyContentId': LobbyContentId,
'Title': Title,
'Kind': Kind,
'HasMedia': HasMedia,
'MediaUrl': MediaUrl,
'Headline': Headline,
'Body': Body,
'Accent': Accent,
'Url': Url,
'DwellSec': DwellSec,
'StartsAt': JsonConverters.toJson(StartsAt,'DateTime',context!),
'EndsAt': JsonConverters.toJson(EndsAt,'DateTime',context!),
'DaysMask': DaysMask,
'HourFrom': HourFrom,
'HourTo': HourTo,
'IsThirdParty': IsThirdParty,
'Status': Status,
'AllBranches': AllBranches,
'BranchIds': JsonConverters.toJson(BranchIds,'List<String>',context!),
'Plays7d': Plays7d,
'OnNow': OnNow,
'SortOrder': SortOrder,
'CreatedBy': CreatedBy,
'UpdatedAt': JsonConverters.toJson(UpdatedAt,'DateTime',context!)
};
getTypeName() => "LobbyContentItem";
TypeContext? context = _ctx;
}
class LobbyPlayResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
List<LobbyContentItem>? Items = [];
String? ZoneMode;
int? TakeoverEveryMin;
int? TakeoverSec;
bool? IdleScreen;
DateTime? BranchLocalNow;
LobbyPlayResponse({this.ResponseStatus,this.Items,this.ZoneMode,this.TakeoverEveryMin,this.TakeoverSec,this.IdleScreen,this.BranchLocalNow});
LobbyPlayResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
Items = JsonConverters.fromJson(json['Items'],'List<LobbyContentItem>',context!);
ZoneMode = json['ZoneMode'];
TakeoverEveryMin = json['TakeoverEveryMin'];
TakeoverSec = json['TakeoverSec'];
IdleScreen = json['IdleScreen'];
BranchLocalNow = JsonConverters.fromJson(json['BranchLocalNow'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'Items': JsonConverters.toJson(Items,'List<LobbyContentItem>',context!),
'ZoneMode': ZoneMode,
'TakeoverEveryMin': TakeoverEveryMin,
'TakeoverSec': TakeoverSec,
'IdleScreen': IdleScreen,
'BranchLocalNow': JsonConverters.toJson(BranchLocalNow,'DateTime',context!)
};
getTypeName() => "LobbyPlayResponse";
TypeContext? context = _ctx;
}
class LobbyPlayRequest implements IConvertible
{
String? LocationId;
LobbyPlayRequest({this.LocationId});
LobbyPlayRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
LocationId = json['LocationId'];
return this;
}
Map<String, dynamic> toJson() => {
'LocationId': LocationId
};
getTypeName() => "LobbyPlayRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'LobbyContentItem': TypeInfo(TypeOf.Class, create:() => LobbyContentItem()),
'LobbyPlayResponse': TypeInfo(TypeOf.Class, create:() => LobbyPlayResponse()),
'List<LobbyContentItem>': TypeInfo(TypeOf.Class, create:() => <LobbyContentItem>[]),
'LobbyPlayRequest': TypeInfo(TypeOf.Class, create:() => LobbyPlayRequest()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/lobby/{LocationId}/play HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
Items:
[
{
LobbyContentId: 0,
Title: String,
Kind: String,
HasMedia: False,
MediaUrl: String,
Headline: String,
Body: String,
Accent: String,
Url: String,
DwellSec: 0,
StartsAt: 0001-01-01,
EndsAt: 0001-01-01,
DaysMask: 0,
HourFrom: 0,
HourTo: 0,
IsThirdParty: False,
Status: String,
AllBranches: False,
BranchIds:
[
00000000000000000000000000000000
],
Plays7d: 0,
OnNow: False,
SortOrder: 0,
CreatedBy: String,
UpdatedAt: 0001-01-01
}
],
ZoneMode: String,
TakeoverEveryMin: 0,
TakeoverSec: 0,
IdleScreen: False,
BranchLocalNow: 0001-01-01
}