Blazor Diffusion

<back to all web services

UserData

User
Requires Authentication
namespace BlazorDiffusion.ServiceModel

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type Likes() = 
        member val ArtifactIds:ResizeArray<Int32> = null with get,set
        member val AlbumIds:ResizeArray<Int32> = null with get,set

    [<AllowNullLiteral>]
    type AlbumResult() = 
        member val Id:Int32 = new Int32() with get,set
        member val Name:String = null with get,set
        member val Slug:String = null with get,set
        member val AlbumRef:String = null with get,set
        member val OwnerRef:String = null with get,set
        member val PrimaryArtifactId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val Score:Int32 = new Int32() with get,set
        member val ArtifactIds:ResizeArray<Int32> = null with get,set

    [<AllowNullLiteral>]
    type UserResult() = 
        member val RefId:String = null with get,set
        member val Handle:String = null with get,set
        member val Avatar:String = null with get,set
        member val ProfileUrl:String = null with get,set
        member val Likes:Likes = null with get,set
        member val Albums:ResizeArray<AlbumResult> = null with get,set

    [<AllowNullLiteral>]
    type UserProfile() = 
        member val DisplayName:String = null with get,set
        member val Avatar:String = null with get,set
        member val Handle:String = null with get,set

    type SignupType =
        | Updates = 0
        | Beta = 1

    [<AllowNullLiteral>]
    type UserDataResponse() = 
        member val User:UserResult = null with get,set
        member val Profile:UserProfile = null with get,set
        member val Signups:ResizeArray<SignupType> = null with get,set
        member val Roles:String[] = null with get,set
        member val ResponseStatus:ResponseStatus = null with get,set

    [<ValidateRequest(Validator="IsAuthenticated")>]
    [<AllowNullLiteral>]
    type UserData() = 
        interface IPost

F# 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>