My ServiceStack Backend

<back to all web services

UserSubRequest

The following routes are available for this service:
GET/subs/user

export class MSubBenefit
{
    public id: number;
    public name: string;
    public status: boolean;
    public order: number;
    public hasContent: boolean;
    public image: string;
    public rssHash: string;

    public constructor(init?: Partial<MSubBenefit>) { (Object as any).assign(this, init); }
}

export class MBenefit
{
    public id: number;
    public name: string;
    public status: boolean;
    public order: number;
    public image: string;
    public subBenefits: MSubBenefit[];

    public constructor(init?: Partial<MBenefit>) { (Object as any).assign(this, init); }
}

export class MSubscription
{
    public id: number;
    public name: string;
    public description: string;
    public status: boolean;
    public yearlyPrice: number;
    public price: number;
    public order: number;
    public icon: string;
    public paymentLink: string;
    public yearlyPaymentLink: string;
    public sid: string;
    public yearlySid: string;
    public discount: number;
    public benefits: MBenefit[];

    public constructor(init?: Partial<MSubscription>) { (Object as any).assign(this, init); }
}

export class UserSubResponse
{
    public subscription?: MSubscription;
    public responseCode: number;
    public responseMessage: string;

    public constructor(init?: Partial<UserSubResponse>) { (Object as any).assign(this, init); }
}

export class UserSubRequest
{

    public constructor(init?: Partial<UserSubRequest>) { (Object as any).assign(this, init); }
}

TypeScript UserSubRequest 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.

GET /subs/user HTTP/1.1 
Host: portal-api.migrantleap.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	subscription: 
	{
		id: 0,
		name: String,
		description: String,
		status: False,
		yearlyPrice: 0,
		price: 0,
		order: 0,
		icon: String,
		paymentLink: String,
		yearlyPaymentLink: String,
		sid: String,
		yearlySid: String,
		discount: 0,
		benefits: 
		[
			{
				id: 0,
				name: String,
				status: False,
				order: 0,
				image: String,
				subBenefits: 
				[
					{
						id: 0,
						name: String,
						status: False,
						order: 0,
						hasContent: False,
						image: String,
						rssHash: String
					}
				]
			}
		]
	},
	responseCode: 0,
	responseMessage: String
}