Blazor Diffusion

<back to all web services

GetUserInfo

User
"use strict";
export class Likes {
    /** @param {{artifactIds?:number[],albumIds?:number[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number[]} */
    artifactIds = [];
    /** @type {number[]} */
    albumIds = [];
}
export class AlbumResult {
    /** @param {{id?:number,name?:string,slug?:string,albumRef?:string,ownerRef?:string,primaryArtifactId?:number,score?:number,artifactIds?:number[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    id;
    /** @type {string} */
    name;
    /** @type {string} */
    slug;
    /** @type {string} */
    albumRef;
    /** @type {string} */
    ownerRef;
    /** @type {?number} */
    primaryArtifactId;
    /** @type {number} */
    score;
    /** @type {number[]} */
    artifactIds = [];
}
export class UserResult {
    /** @param {{refId?:string,handle?:string,avatar?:string,profileUrl?:string,likes?:Likes,albums?:AlbumResult[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    refId;
    /** @type {?string} */
    handle;
    /** @type {?string} */
    avatar;
    /** @type {?string} */
    profileUrl;
    /** @type {Likes} */
    likes;
    /** @type {AlbumResult[]} */
    albums = [];
}
export class GetUserInfoResponse {
    /** @param {{result?:UserResult,responseStatus?:ResponseStatus}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {UserResult} */
    result;
    /** @type {ResponseStatus} */
    responseStatus;
}
export class GetUserInfo {
    /** @param {{refId?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    refId;
}

JavaScript GetUserInfo 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/reply/GetUserInfo HTTP/1.1 
Host: blazordiffusion.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	refId: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	result: 
	{
		refId: String,
		handle: String,
		avatar: String,
		profileUrl: String,
		likes: 
		{
			artifactIds: 
			[
				0
			],
			albumIds: 
			[
				0
			]
		},
		albums: 
		[
			{
				id: 0,
				name: String,
				slug: String,
				albumRef: String,
				ownerRef: String,
				primaryArtifactId: 0,
				score: 0,
				artifactIds: 
				[
					0
				]
			}
		]
	},
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}