Test

<back to all web services

DummyTypes

using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Test.ServiceInterface;
using Test.ServiceModel;

namespace ServiceStack
{
    [DataContract]
    public partial class AuditBase
    {
        [DataMember(Order=1)]
        public virtual DateTime CreatedDate { get; set; }

        [DataMember(Order=2)]
        [Required]
        public virtual string CreatedBy { get; set; }

        [DataMember(Order=3)]
        public virtual DateTime ModifiedDate { get; set; }

        [DataMember(Order=4)]
        [Required]
        public virtual string ModifiedBy { get; set; }

        [DataMember(Order=5)]
        public virtual DateTime? DeletedDate { get; set; }

        [DataMember(Order=6)]
        public virtual string DeletedBy { get; set; }
    }

    [DataContract]
    public partial class CancelRequest
        : IPost, IMeta
    {
        public CancelRequest()
        {
            Meta = new Dictionary<string, string>{};
        }

        [DataMember(Order=1)]
        public virtual string Tag { get; set; }

        [DataMember(Order=2)]
        public virtual Dictionary<string, string> Meta { get; set; }
    }

    [DataContract]
    public partial class CancelRequestResponse
        : IMeta
    {
        public CancelRequestResponse()
        {
            Meta = new Dictionary<string, string>{};
        }

        [DataMember(Order=1)]
        public virtual string Tag { get; set; }

        [DataMember(Order=2)]
        public virtual TimeSpan Elapsed { get; set; }

        [DataMember(Order=3)]
        public virtual Dictionary<string, string> Meta { get; set; }

        [DataMember(Order=4)]
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

    [DataContract]
    public partial class ConvertSessionToToken
        : IPost, IMeta
    {
        public ConvertSessionToToken()
        {
            Meta = new Dictionary<string, string>{};
        }

        [DataMember(Order=1)]
        public virtual bool PreserveSession { get; set; }

        [DataMember(Order=2)]
        public virtual Dictionary<string, string> Meta { get; set; }
    }

    [DataContract]
    public partial class ConvertSessionToTokenResponse
        : IMeta
    {
        public ConvertSessionToTokenResponse()
        {
            Meta = new Dictionary<string, string>{};
        }

        [DataMember(Order=1)]
        public virtual Dictionary<string, string> Meta { get; set; }

        [DataMember(Order=2)]
        public virtual string AccessToken { get; set; }

        [DataMember(Order=3)]
        public virtual string RefreshToken { get; set; }

        [DataMember(Order=4)]
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

    [DataContract]
    public partial class EmptyResponse
    {
        [DataMember(Order=1)]
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

    [DataContract]
    public partial class GetAccessToken
        : IPost, IMeta
    {
        public GetAccessToken()
        {
            Meta = new Dictionary<string, string>{};
        }

        [DataMember(Order=1)]
        public virtual string RefreshToken { get; set; }

        [DataMember(Order=2)]
        public virtual Dictionary<string, string> Meta { get; set; }
    }

    [DataContract]
    public partial class GetAccessTokenResponse
        : IMeta
    {
        public GetAccessTokenResponse()
        {
            Meta = new Dictionary<string, string>{};
        }

        [DataMember(Order=1)]
        public virtual string AccessToken { get; set; }

        [DataMember(Order=2)]
        public virtual Dictionary<string, string> Meta { get; set; }

        [DataMember(Order=3)]
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

    [DataContract]
    public partial class GetApiKeys
        : IGet, IMeta
    {
        public GetApiKeys()
        {
            Meta = new Dictionary<string, string>{};
        }

        [DataMember(Order=1)]
        public virtual string Environment { get; set; }

        [DataMember(Order=2)]
        public virtual Dictionary<string, string> Meta { get; set; }
    }

    [DataContract]
    public partial class GetApiKeysResponse
        : IMeta
    {
        public GetApiKeysResponse()
        {
            Results = new List<UserApiKey>{};
            Meta = new Dictionary<string, string>{};
        }

        [DataMember(Order=1)]
        public virtual List<UserApiKey> Results { get; set; }

        [DataMember(Order=2)]
        public virtual Dictionary<string, string> Meta { get; set; }

        [DataMember(Order=3)]
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

    [DataContract]
    public partial class GetNavItems
    {
        [DataMember(Order=1)]
        public virtual string Name { get; set; }
    }

    [DataContract]
    public partial class GetNavItemsResponse
        : IMeta
    {
        public GetNavItemsResponse()
        {
            Results = new List<NavItem>{};
            NavItemsMap = new Dictionary<string, List<NavItem>>{};
            Meta = new Dictionary<string, string>{};
        }

        [DataMember(Order=1)]
        public virtual string BaseUrl { get; set; }

        [DataMember(Order=2)]
        public virtual List<NavItem> Results { get; set; }

        [DataMember(Order=3)]
        public virtual Dictionary<string, List<NavItem>> NavItemsMap { get; set; }

        [DataMember(Order=4)]
        public virtual Dictionary<string, string> Meta { get; set; }

        [DataMember(Order=5)]
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

    [DataContract]
    public partial class IdResponse
    {
        [DataMember(Order=1)]
        public virtual string Id { get; set; }

        [DataMember(Order=2)]
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

    public partial class NavItem
        : IMeta
    {
        public NavItem()
        {
            Children = new List<NavItem>{};
            Meta = new Dictionary<string, string>{};
        }

        public virtual string Label { get; set; }
        public virtual string Href { get; set; }
        public virtual bool? Exact { get; set; }
        public virtual string Id { get; set; }
        public virtual string ClassName { get; set; }
        public virtual string IconClass { get; set; }
        public virtual string IconSrc { get; set; }
        public virtual string Show { get; set; }
        public virtual string Hide { get; set; }
        public virtual List<NavItem> Children { get; set; }
        public virtual Dictionary<string, string> Meta { get; set; }
    }

    [DataContract]
    public partial class RegenerateApiKeys
        : IPost, IMeta
    {
        public RegenerateApiKeys()
        {
            Meta = new Dictionary<string, string>{};
        }

        [DataMember(Order=1)]
        public virtual string Environment { get; set; }

        [DataMember(Order=2)]
        public virtual Dictionary<string, string> Meta { get; set; }
    }

    [DataContract]
    public partial class RegenerateApiKeysResponse
        : IMeta
    {
        public RegenerateApiKeysResponse()
        {
            Results = new List<UserApiKey>{};
            Meta = new Dictionary<string, string>{};
        }

        [DataMember(Order=1)]
        public virtual List<UserApiKey> Results { get; set; }

        [DataMember(Order=2)]
        public virtual Dictionary<string, string> Meta { get; set; }

        [DataMember(Order=3)]
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

    [DataContract]
    public partial class StringResponse
        : IMeta
    {
        public StringResponse()
        {
            Meta = new Dictionary<string, string>{};
        }

        [DataMember(Order=1)]
        public virtual string Result { get; set; }

        [DataMember(Order=2)]
        public virtual Dictionary<string, string> Meta { get; set; }

        [DataMember(Order=3)]
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

    [DataContract]
    public partial class StringsResponse
        : IMeta
    {
        public StringsResponse()
        {
            Results = new List<string>{};
            Meta = new Dictionary<string, string>{};
        }

        [DataMember(Order=1)]
        public virtual List<string> Results { get; set; }

        [DataMember(Order=2)]
        public virtual Dictionary<string, string> Meta { get; set; }

        [DataMember(Order=3)]
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

    [DataContract]
    public partial class UpdateEventSubscriber
        : IPost
    {
        public UpdateEventSubscriber()
        {
            SubscribeChannels = new string[]{};
            UnsubscribeChannels = new string[]{};
        }

        [DataMember(Order=1)]
        public virtual string Id { get; set; }

        [DataMember(Order=2)]
        public virtual string[] SubscribeChannels { get; set; }

        [DataMember(Order=3)]
        public virtual string[] UnsubscribeChannels { get; set; }
    }

    [DataContract]
    public partial class UpdateEventSubscriberResponse
    {
        [DataMember(Order=1)]
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

    [DataContract]
    public partial class UserApiKey
        : IMeta
    {
        public UserApiKey()
        {
            Meta = new Dictionary<string, string>{};
        }

        [DataMember(Order=1)]
        public virtual string Key { get; set; }

        [DataMember(Order=2)]
        public virtual string KeyType { get; set; }

        [DataMember(Order=3)]
        public virtual DateTime? ExpiryDate { get; set; }

        [DataMember(Order=4)]
        public virtual Dictionary<string, string> Meta { get; set; }
    }

}

namespace Test.ServiceInterface
{
    public partial class DummyTypes
    {
        public DummyTypes()
        {
            HelloResponses = new List<HelloResponse>{};
            ListResult = new List<ListResult>{};
            ArrayResult = new ArrayResult[]{};
        }

        public virtual List<HelloResponse> HelloResponses { get; set; }
        public virtual List<ListResult> ListResult { get; set; }
        public virtual ArrayResult[] ArrayResult { get; set; }
        public virtual CancelRequest CancelRequest { get; set; }
        public virtual CancelRequestResponse CancelRequestResponse { get; set; }
        public virtual UpdateEventSubscriber UpdateEventSubscriber { get; set; }
        public virtual UpdateEventSubscriberResponse UpdateEventSubscriberResponse { get; set; }
        public virtual GetApiKeys GetApiKeys { get; set; }
        public virtual GetApiKeysResponse GetApiKeysResponse { get; set; }
        public virtual RegenerateApiKeys RegenerateApiKeys { get; set; }
        public virtual RegenerateApiKeysResponse RegenerateApiKeysResponse { get; set; }
        public virtual UserApiKey UserApiKey { get; set; }
        public virtual ConvertSessionToToken ConvertSessionToToken { get; set; }
        public virtual ConvertSessionToTokenResponse ConvertSessionToTokenResponse { get; set; }
        public virtual GetAccessToken GetAccessToken { get; set; }
        public virtual GetAccessTokenResponse GetAccessTokenResponse { get; set; }
        public virtual NavItem NavItem { get; set; }
        public virtual GetNavItems GetNavItems { get; set; }
        public virtual GetNavItemsResponse GetNavItemsResponse { get; set; }
        public virtual EmptyResponse EmptyResponse { get; set; }
        public virtual IdResponse IdResponse { get; set; }
        public virtual StringResponse StringResponse { get; set; }
        public virtual StringsResponse StringsResponse { get; set; }
        public virtual AuditBase AuditBase { get; set; }
    }

}

namespace Test.ServiceModel
{
    public partial class ArrayResult
    {
        public virtual string Result { get; set; }
    }

    public partial class HelloResponse
    {
        public virtual string Result { get; set; }
    }

    public partial class ListResult
    {
        public virtual string Result { get; set; }
    }

}

C# DummyTypes DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /jsv/oneway/DummyTypes HTTP/1.1 
Host: test.servicestack.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	helloResponses: 
	[
		{
			result: String
		}
	],
	listResult: 
	[
		{
			result: String
		}
	],
	arrayResult: 
	[
		{
			result: String
		}
	],
	cancelRequest: 
	{
		tag: String,
		meta: 
		{
			String: String
		}
	},
	cancelRequestResponse: 
	{
		tag: String,
		elapsed: PT0S,
		meta: 
		{
			String: String
		},
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	updateEventSubscriber: 
	{
		id: String,
		subscribeChannels: 
		[
			String
		],
		unsubscribeChannels: 
		[
			String
		]
	},
	updateEventSubscriberResponse: 
	{
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	getApiKeys: 
	{
		environment: String,
		meta: 
		{
			String: String
		}
	},
	getApiKeysResponse: 
	{
		results: 
		[
			{
				key: String,
				keyType: String,
				expiryDate: 0001-01-01,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		},
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	regenerateApiKeys: 
	{
		environment: String,
		meta: 
		{
			String: String
		}
	},
	regenerateApiKeysResponse: 
	{
		results: 
		[
			{
				key: String,
				keyType: String,
				expiryDate: 0001-01-01,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		},
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	userApiKey: 
	{
		key: String,
		keyType: String,
		expiryDate: 0001-01-01,
		meta: 
		{
			String: String
		}
	},
	convertSessionToToken: 
	{
		preserveSession: False,
		meta: 
		{
			String: String
		}
	},
	convertSessionToTokenResponse: 
	{
		meta: 
		{
			String: String
		},
		accessToken: String,
		refreshToken: String,
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	getAccessToken: 
	{
		refreshToken: String,
		meta: 
		{
			String: String
		}
	},
	getAccessTokenResponse: 
	{
		accessToken: String,
		meta: 
		{
			String: String
		},
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	navItem: 
	{
		label: String,
		href: String,
		exact: False,
		id: String,
		className: String,
		iconClass: String,
		iconSrc: String,
		show: String,
		hide: String,
		children: 
		[
			{
				label: String,
				href: String,
				exact: False,
				id: String,
				className: String,
				iconClass: String,
				iconSrc: String,
				show: String,
				hide: String,
				children: 
				[
					{
						label: String,
						href: String,
						exact: False,
						id: String,
						className: String,
						iconClass: String,
						iconSrc: String,
						show: String,
						hide: String,
						children: 
						[
							{
								
							}
						],
						meta: 
						{
							String: String
						}
					}
				],
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	},
	getNavItems: 
	{
		name: String
	},
	getNavItemsResponse: 
	{
		baseUrl: String,
		results: 
		[
			{
				label: String,
				href: String,
				exact: False,
				id: String,
				className: String,
				iconClass: String,
				iconSrc: String,
				show: String,
				hide: String,
				children: 
				[
					{
						label: String,
						href: String,
						exact: False,
						id: String,
						className: String,
						iconClass: String,
						iconSrc: String,
						show: String,
						hide: String,
						children: 
						[
							{
								label: String,
								href: String,
								exact: False,
								id: String,
								className: String,
								iconClass: String,
								iconSrc: String,
								show: String,
								hide: String,
								meta: 
								{
									String: String
								}
							}
						],
						meta: 
						{
							String: String
						}
					}
				],
				meta: 
				{
					String: String
				}
			}
		],
		navItemsMap: 
		{
			String: 
			[
				{
					label: String,
					href: String,
					exact: False,
					id: String,
					className: String,
					iconClass: String,
					iconSrc: String,
					show: String,
					hide: String,
					children: 
					[
						{
							label: String,
							href: String,
							exact: False,
							id: String,
							className: String,
							iconClass: String,
							iconSrc: String,
							show: String,
							hide: String,
							children: 
							[
								{
									label: String,
									href: String,
									exact: False,
									id: String,
									className: String,
									iconClass: String,
									iconSrc: String,
									show: String,
									hide: String,
									meta: 
									{
										String: String
									}
								}
							],
							meta: 
							{
								String: String
							}
						}
					],
					meta: 
					{
						String: String
					}
				}
			]
		},
		meta: 
		{
			String: String
		},
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	emptyResponse: 
	{
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	idResponse: 
	{
		id: String,
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	stringResponse: 
	{
		result: String,
		meta: 
		{
			String: String
		},
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	},
	stringsResponse: 
	{
		results: 
		[
			String
		],
		meta: 
		{
			String: String
		},
		responseStatus: 
		{
			errorCode: String,
			message: String,
			stackTrace: String,
			errors: 
			[
				{
					errorCode: String,
					fieldName: String,
					message: String,
					meta: 
					{
						String: String
					}
				}
			],
			meta: 
			{
				String: String
			}
		}
	}
}