Blazor Diffusion

<back to all web services

UpdateAlbumArtifact

Albums
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 Album
        : AuditBase
    {
        public virtual int Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string Description { get; set; }
        public virtual string Slug { get; set; }
        public virtual List<string> Tags { get; set; } = [];
        public virtual string RefId { get; set; }
        public virtual int OwnerId { get; set; }
        public virtual string OwnerRef { get; set; }
        public virtual int? PrimaryArtifactId { get; set; }
        public virtual bool Private { get; set; }
        public virtual int? Rating { get; set; }
        public virtual int LikesCount { get; set; }
        public virtual int DownloadsCount { get; set; }
        public virtual int SearchCount { get; set; }
        public virtual int Score { get; set; }
        public virtual int Rank { get; set; }
        public virtual int? PrefColumns { get; set; }
        public virtual List<AlbumArtifact> Artifacts { get; set; } = [];
    }

    public partial class AlbumArtifact
    {
        public virtual int Id { get; set; }
        [References(typeof(BlazorDiffusion.ServiceModel.Album))]
        public virtual int AlbumId { get; set; }

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

        public virtual string Description { get; set; }
        public virtual DateTime CreatedDate { get; set; }
        public virtual DateTime ModifiedDate { get; set; }
        public virtual Artifact Artifact { get; set; }
    }

    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();
    }

    [ValidateRequest("IsAuthenticated")]
    public partial class UpdateAlbumArtifact
        : IPatchDb<Album>
    {
        public virtual long Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string Description { get; set; }
        public virtual string Slug { get; set; }
        public virtual List<string> Tags { get; set; }
        public virtual int? PrimaryArtifactId { get; set; }
        public virtual List<int> AddArtifactIds { get; set; }
        public virtual List<int> RemoveArtifactIds { 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# UpdateAlbumArtifact DTOs

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

HTTP + OTHER

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

POST /jsonl/reply/UpdateAlbumArtifact HTTP/1.1 
Host: blazordiffusion.com 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"id":0,"name":"String","description":"String","slug":"String","tags":["String"],"primaryArtifactId":0,"addArtifactIds":[0],"removeArtifactIds":[0]}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"id":0,"name":"String","description":"String","slug":"String","tags":["String"],"refId":"String","ownerId":0,"ownerRef":"String","primaryArtifactId":0,"private":false,"rating":0,"likesCount":0,"downloadsCount":0,"searchCount":0,"score":0,"rank":0,"prefColumns":0,"artifacts":[{"id":0,"albumId":0,"artifactId":0,"description":"String","createdDate":"0001-01-01T00:00:00","modifiedDate":"0001-01-01T00:00:00","artifact":{"id":0,"creativeId":0,"fileName":"String","filePath":"String","contentType":"String","contentLength":0,"width":0,"height":0,"seed":0,"prompt":"String","nsfw":false,"averageHash":0,"perceptualHash":0,"differenceHash":0,"background":"String","lqip":"String","quality":0,"likesCount":0,"albumsCount":0,"downloadsCount":0,"searchCount":0,"temporalScore":0,"score":0,"rank":0,"refId":"String","versions":{"String":"String"},"createdDate":"0001-01-01T00:00:00","createdBy":"String","modifiedDate":"0001-01-01T00:00:00","modifiedBy":"String","deletedDate":"0001-01-01T00:00:00","deletedBy":"String"}}],"createdDate":"0001-01-01T00:00:00","createdBy":"String","modifiedDate":"0001-01-01T00:00:00","modifiedBy":"String","deletedDate":"0001-01-01T00:00:00","deletedBy":"String"}