Blazor Diffusion

<back to all web services

QueryArtifactReports

Artifacts
Requires Authentication
Required role:Admin
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*


@ValidateRequest(Validator="IsAuthenticated")
// @ValidateRequest(Validator="IsAdmin")
open class QueryArtifactReports : QueryDb<ArtifactReport>()
{
    open var artifactId:Int? = null
}

open class QueryDb<T> : QueryBase()
{
}

@DataContract
open class QueryBase
{
    @DataMember(Order=1)
    open var skip:Int? = null

    @DataMember(Order=2)
    open var take:Int? = null

    @DataMember(Order=3)
    open var orderBy:String? = null

    @DataMember(Order=4)
    open var orderByDesc:String? = null

    @DataMember(Order=5)
    open var include:String? = null

    @DataMember(Order=6)
    open var fields:String? = null

    @DataMember(Order=7)
    open var meta:HashMap<String,String>? = null
}

open class ArtifactReport
{
    open var id:Long? = null
    @References(Type=Artifact::class)
    open var artifactId:Int? = null

    open var appUserId:Int? = null
    open var artifact:Artifact? = null
    @SerializedName("type") open var Type:ReportType? = null
    open var description:String? = null
    open var createdDate:Date? = null
    open var notes:String? = null
    open var actionedDate:Date? = null
    open var actionedBy:String? = null
}

open class Artifact : AuditBase()
{
    open var id:Int? = null
    @References(Type=Creative::class)
    open var creativeId:Int? = null

    open var fileName:String? = null
    open var filePath:String? = null
    open var contentType:String? = null
    open var contentLength:Long? = null
    open var width:Int? = null
    open var height:Int? = null
    open var seed:BigInteger? = null
    open var prompt:String? = null
    open var nsfw:Boolean? = null
    open var averageHash:Long? = null
    open var perceptualHash:Long? = null
    open var differenceHash:Long? = null
    open var background:String? = null
    open var lqip:String? = null
    open var quality:Int? = null
    open var likesCount:Int? = null
    open var albumsCount:Int? = null
    open var downloadsCount:Int? = null
    open var searchCount:Int? = null
    open var temporalScore:Int? = null
    open var score:Int? = null
    open var rank:Int? = null
    open var refId:String? = null
    open var versions:HashMap<String,String> = HashMap<String,String>()
}

@DataContract
open class AuditBase
{
    @DataMember(Order=1)
    open var createdDate:Date? = null

    @DataMember(Order=2)
    @Required()
    open var createdBy:String? = null

    @DataMember(Order=3)
    open var modifiedDate:Date? = null

    @DataMember(Order=4)
    @Required()
    open var modifiedBy:String? = null

    @DataMember(Order=5)
    open var deletedDate:Date? = null

    @DataMember(Order=6)
    open var deletedBy:String? = null
}

enum class ReportType
{
    Nsfw,
    Malformed,
    Blurred,
    LowQuality,
    Other,
}

@DataContract
open class QueryResponse<T>
{
    @DataMember(Order=1)
    open var offset:Int? = null

    @DataMember(Order=2)
    open var total:Int? = null

    @DataMember(Order=3)
    open var results:ArrayList<ArtifactResult>? = null

    @DataMember(Order=4)
    open var meta:HashMap<String,String>? = null

    @DataMember(Order=5)
    open var responseStatus:ResponseStatus? = null
}

open class ArtifactResult : Artifact()
{
    open var userPrompt:String? = null
    open var artistNames:ArrayList<String> = ArrayList<String>()
    open var modifierNames:ArrayList<String> = ArrayList<String>()
    open var primaryArtifactId:Int? = null
    open var ownerRef:String? = null
    open var similarity:Double? = null
}

Kotlin QueryArtifactReports DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

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

{"artifactId":0,"skip":0,"take":0,"orderBy":"String","orderByDesc":"String","include":"String","fields":"String","meta":{"String":"String"}}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"offset":0,"total":0,"results":[{"id":0,"artifactId":0,"appUserId":0,"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"},"type":"Nsfw","description":"String","createdDate":"0001-01-01T00:00:00","notes":"String","actionedDate":"0001-01-01T00:00:00","actionedBy":"String"}],"meta":{"String":"String"},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}