Blazor Diffusion

<back to all web services

UpdateCreative

Creatives
Requires Authentication
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using BlazorDiffusion.ServiceModel;

namespace BlazorDiffusion.ServiceModel
{
    public partial class Artifact
        : AuditBase
    {
        public virtual int Id { get; set; }
        [References(typeof(BlazorDiffusion.ServiceModel.Creative))]
        public virtual int CreativeId { get; set; }

        public virtual string FileName { get; set; }
        public virtual string FilePath { get; set; }
        public virtual string ContentType { get; set; }
        public virtual long ContentLength { get; set; }
        public virtual int Width { get; set; }
        public virtual int Height { get; set; }
        public virtual ulong Seed { get; set; }
        public virtual string Prompt { get; set; }
        public virtual bool? Nsfw { get; set; }
        public virtual long? AverageHash { get; set; }
        public virtual long? PerceptualHash { get; set; }
        public virtual long? DifferenceHash { get; set; }
        public virtual string Background { get; set; }
        public virtual string Lqip { get; set; }
        public virtual int Quality { get; set; }
        public virtual int LikesCount { get; set; }
        public virtual int AlbumsCount { get; set; }
        public virtual int DownloadsCount { get; set; }
        public virtual int SearchCount { get; set; }
        public virtual int TemporalScore { get; set; }
        public virtual int Score { get; set; }
        public virtual int Rank { get; set; }
        public virtual string RefId { get; set; }
        public virtual Dictionary<string, string> Versions { get; set; } = new();
    }

    public partial class Artist
        : AuditBase
    {
        public virtual int Id { get; set; }
        public virtual string FirstName { get; set; }
        public virtual string LastName { get; set; }
        public virtual int? YearDied { get; set; }
        public virtual List<string> Type { get; set; }
        public virtual int Score { get; set; }
        public virtual int Rank { get; set; }
    }

    public partial class Creative
        : AuditBase
    {
        public virtual int Id { get; set; }
        public virtual string UserPrompt { get; set; }
        public virtual string Prompt { get; set; }
        public virtual int Images { get; set; }
        public virtual int Width { get; set; }
        public virtual int Height { get; set; }
        public virtual int Steps { get; set; }
        public virtual int? CuratedArtifactId { get; set; }
        public virtual int? PrimaryArtifactId { get; set; }
        public virtual List<string> ArtistNames { get; set; } = [];
        public virtual List<string> ModifierNames { get; set; } = [];
        public virtual List<CreativeArtist> Artists { get; set; } = [];
        public virtual List<CreativeModifier> Modifiers { get; set; } = [];
        public virtual List<Artifact> Artifacts { get; set; } = [];
        public virtual string Error { get; set; }
        public virtual int? OwnerId { get; set; }
        public virtual string OwnerRef { get; set; }
        public virtual string Key { get; set; }
        public virtual bool Curated { get; set; }
        public virtual int? Rating { get; set; }
        public virtual bool Private { get; set; }
        public virtual int Score { get; set; }
        public virtual int Rank { get; set; }
        public virtual string RefId { get; set; }
        public virtual string RequestId { get; set; }
        public virtual string EngineId { get; set; }
    }

    [ValidateRequest("HasRole(`Moderator`)")]
    public partial class CreativeArtist
    {
        public virtual int Id { get; set; }
        [References(typeof(BlazorDiffusion.ServiceModel.Creative))]
        public virtual int CreativeId { get; set; }

        [References(typeof(BlazorDiffusion.ServiceModel.Artist))]
        public virtual int ArtistId { get; set; }

        public virtual Artist Artist { get; set; }
    }

    public partial class CreativeModifier
    {
        public virtual int Id { get; set; }
        [References(typeof(BlazorDiffusion.ServiceModel.Creative))]
        public virtual int CreativeId { get; set; }

        [References(typeof(BlazorDiffusion.ServiceModel.Modifier))]
        public virtual int ModifierId { get; set; }

        public virtual Modifier Modifier { get; set; }
    }

    public partial class Modifier
        : AuditBase
    {
        public virtual int Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string Category { get; set; }
        public virtual string Description { get; set; }
        public virtual int Score { get; set; }
        public virtual int Rank { get; set; }
    }

    [ValidateRequest("IsAuthenticated")]
    public partial class UpdateCreative
        : IPatchDb<Creative>
    {
        public virtual int Id { get; set; }
        public virtual int? PrimaryArtifactId { get; set; }
        public virtual bool? UnpinPrimaryArtifact { get; set; }
    }

}

namespace ServiceStack
{
    [DataContract]
    public partial class AuditBase
    {
        [DataMember(Order=1)]
        public virtual DateTime CreatedDate { get; set; }

        [DataMember(Order=2)]
        [Required]
        public virtual string CreatedBy { get; set; }

        [DataMember(Order=3)]
        public virtual DateTime ModifiedDate { get; set; }

        [DataMember(Order=4)]
        [Required]
        public virtual string ModifiedBy { get; set; }

        [DataMember(Order=5)]
        public virtual DateTime? DeletedDate { get; set; }

        [DataMember(Order=6)]
        public virtual string DeletedBy { get; set; }
    }

}

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

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

<Creative 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>
    <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:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringstring>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>String</d4p1:Value>
        </d4p1:KeyValueOfstringstring>
      </Versions>
      <Width>0</Width>
    </Artifact>
  </Artifacts>
  <ArtistNames xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </ArtistNames>
  <Artists>
    <CreativeArtist>
      <Artist>
        <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>
        <FirstName>String</FirstName>
        <Id>0</Id>
        <LastName>String</LastName>
        <Rank>0</Rank>
        <Score>0</Score>
        <Type xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:string>String</d5p1:string>
        </Type>
        <YearDied>0</YearDied>
      </Artist>
      <ArtistId>0</ArtistId>
      <CreativeId>0</CreativeId>
      <Id>0</Id>
    </CreativeArtist>
  </Artists>
  <Curated>false</Curated>
  <CuratedArtifactId>0</CuratedArtifactId>
  <EngineId>String</EngineId>
  <Error>String</Error>
  <Height>0</Height>
  <Id>0</Id>
  <Images>0</Images>
  <Key>String</Key>
  <ModifierNames xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </ModifierNames>
  <Modifiers>
    <CreativeModifier>
      <CreativeId>0</CreativeId>
      <Id>0</Id>
      <Modifier>
        <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>
        <Category>String</Category>
        <Description>String</Description>
        <Id>0</Id>
        <Name>String</Name>
        <Rank>0</Rank>
        <Score>0</Score>
      </Modifier>
      <ModifierId>0</ModifierId>
    </CreativeModifier>
  </Modifiers>
  <OwnerId>0</OwnerId>
  <OwnerRef>String</OwnerRef>
  <PrimaryArtifactId>0</PrimaryArtifactId>
  <Private>false</Private>
  <Prompt>String</Prompt>
  <Rank>0</Rank>
  <Rating>0</Rating>
  <RefId>String</RefId>
  <RequestId>String</RequestId>
  <Score>0</Score>
  <Steps>0</Steps>
  <UserPrompt>String</UserPrompt>
  <Width>0</Width>
</Creative>