Blazor Diffusion

<back to all web services

UpdateAlbum

Albums
Requires Authentication

// @DataContract
export class AuditBase
{
    // @DataMember(Order=1)
    public createdDate: string;

    // @DataMember(Order=2)
    // @Required()
    public createdBy: string;

    // @DataMember(Order=3)
    public modifiedDate: string;

    // @DataMember(Order=4)
    // @Required()
    public modifiedBy: string;

    // @DataMember(Order=5)
    public deletedDate?: string;

    // @DataMember(Order=6)
    public deletedBy: string;

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

export class Artifact extends AuditBase
{
    public id: number;
    // @References("typeof(BlazorDiffusion.ServiceModel.Creative)")
    public creativeId: number;

    public fileName: string;
    public filePath: string;
    public contentType: string;
    public contentLength: number;
    public width: number;
    public height: number;
    public seed: number;
    public prompt: string;
    public nsfw?: boolean;
    public averageHash?: number;
    public perceptualHash?: number;
    public differenceHash?: number;
    public background?: string;
    public lqip?: string;
    public quality: number;
    public likesCount: number;
    public albumsCount: number;
    public downloadsCount: number;
    public searchCount: number;
    public temporalScore: number;
    public score: number;
    public rank: number;
    public refId: string;
    public versions: { [index:string]: string; } = {};

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

export class AlbumArtifact
{
    public id: number;
    // @References("typeof(BlazorDiffusion.ServiceModel.Album)")
    public albumId: number;

    // @References("typeof(BlazorDiffusion.ServiceModel.Artifact)")
    public artifactId: number;

    public description?: string;
    public createdDate: string;
    public modifiedDate: string;
    public artifact?: Artifact;

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

export class Album extends AuditBase
{
    public id: number;
    public name?: string;
    public description: string;
    public slug: string;
    public tags: string[] = [];
    public refId: string;
    public ownerId: number;
    public ownerRef: string;
    public primaryArtifactId?: number;
    public private: boolean;
    public rating?: number;
    public likesCount: number;
    public downloadsCount: number;
    public searchCount: number;
    public score: number;
    public rank: number;
    public prefColumns?: number;
    public artifacts: AlbumArtifact[] = [];

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

// @ValidateRequest(Validator="IsAuthenticated")
export class UpdateAlbum implements IPatchDb<Album>
{
    public id: number;
    public name?: string;
    public description?: string;
    public slug?: string;
    public tags?: string[];
    public primaryArtifactId?: number;
    public unpinPrimaryArtifact?: boolean;
    public addArtifactIds?: number[];
    public removeArtifactIds?: number[];

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

TypeScript UpdateAlbum 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/UpdateAlbum HTTP/1.1 
Host: blazordiffusion.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<UpdateAlbum xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BlazorDiffusion.ServiceModel">
  <AddArtifactIds xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:int>0</d2p1:int>
  </AddArtifactIds>
  <Description>String</Description>
  <Id>0</Id>
  <Name>String</Name>
  <PrimaryArtifactId>0</PrimaryArtifactId>
  <RemoveArtifactIds xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:int>0</d2p1:int>
  </RemoveArtifactIds>
  <Slug>String</Slug>
  <Tags xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </Tags>
  <UnpinPrimaryArtifact>false</UnpinPrimaryArtifact>
</UpdateAlbum>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<Album xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BlazorDiffusion.ServiceModel">
  <CreatedDate xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</CreatedDate>
  <CreatedBy xmlns="http://schemas.servicestack.net/types">String</CreatedBy>
  <ModifiedDate xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</ModifiedDate>
  <ModifiedBy xmlns="http://schemas.servicestack.net/types">String</ModifiedBy>
  <DeletedDate xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</DeletedDate>
  <DeletedBy xmlns="http://schemas.servicestack.net/types">String</DeletedBy>
  <Artifacts>
    <AlbumArtifact>
      <AlbumId>0</AlbumId>
      <Artifact>
        <CreatedDate xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</CreatedDate>
        <CreatedBy xmlns="http://schemas.servicestack.net/types">String</CreatedBy>
        <ModifiedDate xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</ModifiedDate>
        <ModifiedBy xmlns="http://schemas.servicestack.net/types">String</ModifiedBy>
        <DeletedDate xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</DeletedDate>
        <DeletedBy xmlns="http://schemas.servicestack.net/types">String</DeletedBy>
        <AlbumsCount>0</AlbumsCount>
        <AverageHash>0</AverageHash>
        <Background>String</Background>
        <ContentLength>0</ContentLength>
        <ContentType>String</ContentType>
        <CreativeId>0</CreativeId>
        <DifferenceHash>0</DifferenceHash>
        <DownloadsCount>0</DownloadsCount>
        <FileName>String</FileName>
        <FilePath>String</FilePath>
        <Height>0</Height>
        <Id>0</Id>
        <LikesCount>0</LikesCount>
        <Lqip>String</Lqip>
        <Nsfw>false</Nsfw>
        <PerceptualHash>0</PerceptualHash>
        <Prompt>String</Prompt>
        <Quality>0</Quality>
        <Rank>0</Rank>
        <RefId>String</RefId>
        <Score>0</Score>
        <SearchCount>0</SearchCount>
        <Seed>0</Seed>
        <TemporalScore>0</TemporalScore>
        <Versions xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </Versions>
        <Width>0</Width>
      </Artifact>
      <ArtifactId>0</ArtifactId>
      <CreatedDate>0001-01-01T00:00:00</CreatedDate>
      <Description>String</Description>
      <Id>0</Id>
      <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
    </AlbumArtifact>
  </Artifacts>
  <Description>String</Description>
  <DownloadsCount>0</DownloadsCount>
  <Id>0</Id>
  <LikesCount>0</LikesCount>
  <Name>String</Name>
  <OwnerId>0</OwnerId>
  <OwnerRef>String</OwnerRef>
  <PrefColumns>0</PrefColumns>
  <PrimaryArtifactId>0</PrimaryArtifactId>
  <Private>false</Private>
  <Rank>0</Rank>
  <Rating>0</Rating>
  <RefId>String</RefId>
  <Score>0</Score>
  <SearchCount>0</SearchCount>
  <Slug>String</Slug>
  <Tags xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </Tags>
</Album>