/* Options: Date: 2025-04-15 13:20:49 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: SuperAdminSupportCaseAttachmentQuery.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/superadmin/support/cases/{SupportCaseId}/attachments", Verbs="GET") @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ApiResponse(Description="You have too low privilegies to call this service", StatusCode=403) @ValidateRequest(Validator="IsAuthenticated") open class SuperAdminSupportCaseAttachmentQuery : QueryDb<CaseAttachment, SupportCaseAttachmentResponse>(), IReturn<QueryResponse<SupportCaseAttachmentResponse>>, ICompany { /** * Enter the company id, if blank company id and you are an admin, your company id will be used. */ @ApiMember(Description="Enter the company id, if blank company id and you are an admin, your company id will be used.", IsRequired=true) var CompanyId:UUID? = null /** * The support case id */ @ApiMember(Description="The support case id", IsRequired=true, ParameterType="path") var SupportCaseId:Int? = null companion object { private val responseType = object : TypeToken<QueryResponse<SupportCaseAttachmentResponse>>(){}.type } override fun getResponseType(): Any? = SuperAdminSupportCaseAttachmentQuery.responseType } @DataContract open class QueryResponse<SupportCaseAttachmentResponse> { @DataMember(Order=1) var Offset:Int? = null @DataMember(Order=2) var Total:Int? = null @DataMember(Order=3) var Results:ArrayList<SupportCaseAttachmentResponse> = ArrayList<SupportCaseAttachmentResponse>() @DataMember(Order=4) var Meta:HashMap<String,String> = HashMap<String,String>() @DataMember(Order=5) var ResponseStatus:ResponseStatus? = null } open class QueryDb<From, Into> : QueryBase() { } open interface ICompany { var CompanyId:UUID? } open class CaseAttachment : BaseModel() { @Required() var CompanyId:UUID? = null var Id:Int? = null @Required() var FileUrl:String? = null var ModifiedDate:Date? = null } @DataContract open class QueryBase { /** * Skip over a given number of elements in a sequence and then return the remainder. Use this when you need paging.<br/><br/><strong>Example:</strong><br/><code>?skip=10&orderBy=Id</code> */ @DataMember(Order=1) var Skip:Int? = null /** * Return a given number of elements in a sequence and then skip over the remainder. Use this when you need paging.<br/><br/><strong>Example:</strong><br/><code>?take=20</code> */ @DataMember(Order=2) var Take:Int? = null /** * Comma separated list of fields to order by. Prefix the field name with a minus if you wan't to invert the sort for that field.<br/><br/><strong>Example:</strong><br/><code>?orderBy=Id,-Age,FirstName</code> */ @DataMember(Order=3) var OrderBy:String? = null /** * Comma separated list of fields to order by in descending order. Prefix the field name with a minus if you wan't to invert the sort for that field.<br/><br/><strong>Example:</strong><br/><code>?orderByDesc=Id,-Age,FirstName</code> */ @DataMember(Order=4) var OrderByDesc:String? = null /** * Include any of the aggregates <code>AVG, COUNT, FIRST, LAST, MAX, MIN, SUM</code> in your result set. The results will be returned in the meta field.<br/><br/><strong>Example:</strong><br/><code>?include=COUNT(*) as Total</code><br/><br/>or multiple fields with<br/><code>?include=Count(*) Total, Min(Age), AVG(Age) AverageAge</code><br/></br>or unique with<br/><code>?include=COUNT(DISTINCT LivingStatus) as UniqueStatus</code> */ @DataMember(Order=5) var Include:String? = null @DataMember(Order=6) var Fields:String? = null @DataMember(Order=7) var Meta:HashMap<String,String> = HashMap<String,String>() } open class BaseModel { } open class SupportCaseAttachmentResponse { /** * The attachment id */ @ApiMember(Description="The attachment id") var Id:Int? = null /** * The attachment file url */ @ApiMember(Description="The attachment file url") var FileUrl:String? = null }