Blazor Diffusion

<back to all web services

UserData

User
Requires Authentication

export class Likes
{
    public artifactIds: number[] = [];
    public albumIds: number[] = [];

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

export class AlbumResult
{
    public id: number;
    public name: string;
    public slug: string;
    public albumRef: string;
    public ownerRef: string;
    public primaryArtifactId?: number;
    public score: number;
    public artifactIds: number[] = [];

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

export class UserResult
{
    public refId: string;
    public handle?: string;
    public avatar?: string;
    public profileUrl?: string;
    public likes: Likes;
    public albums: AlbumResult[] = [];

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

export class UserProfile
{
    public displayName: string;
    public avatar?: string;
    public handle?: string;

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

export enum SignupType
{
    Updates = 'Updates',
    Beta = 'Beta',
}

export class UserDataResponse
{
    public user: UserResult;
    public profile: UserProfile;
    public signups: SignupType[] = [];
    public roles: string[] = [];
    public responseStatus: ResponseStatus;

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

// @ValidateRequest(Validator="IsAuthenticated")
export class UserData implements IPost
{

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

TypeScript UserData DTOs

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

HTTP + XML

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

POST /xml/reply/UserData HTTP/1.1 
Host: blazordiffusion.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<UserData xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BlazorDiffusion.ServiceModel" />
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<UserDataResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BlazorDiffusion.ServiceModel">
  <Profile>
    <Avatar>String</Avatar>
    <DisplayName>String</DisplayName>
    <Handle>String</Handle>
  </Profile>
  <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>
  <Roles xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </Roles>
  <Signups>
    <SignupType>Updates</SignupType>
  </Signups>
  <User>
    <Albums>
      <AlbumResult>
        <AlbumRef>String</AlbumRef>
        <ArtifactIds xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:int>0</d5p1:int>
        </ArtifactIds>
        <Id>0</Id>
        <Name>String</Name>
        <OwnerRef>String</OwnerRef>
        <PrimaryArtifactId>0</PrimaryArtifactId>
        <Score>0</Score>
        <Slug>String</Slug>
      </AlbumResult>
    </Albums>
    <Avatar>String</Avatar>
    <Handle>String</Handle>
    <Likes>
      <AlbumIds xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:int>0</d4p1:int>
      </AlbumIds>
      <ArtifactIds xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:int>0</d4p1:int>
      </ArtifactIds>
    </Likes>
    <ProfileUrl>String</ProfileUrl>
    <RefId>String</RefId>
  </User>
</UserDataResponse>