/* Options:
Date: 2025-04-17 17:36:21
SwiftVersion: 5.0
Version: 8.23
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://testapi.bokamera.se

//BaseClass: 
//AddModelExtensions: True
//AddServiceStackTypes: True
IncludeTypes: DeleteNewsItem.*
//ExcludeTypes: 
//ExcludeGenericBaseTypes: False
//AddResponseStatus: False
//AddImplicitVersion: 
//AddDescriptionAsComments: True
//InitializeCollections: True
//TreatTypesAsStrings: 
//DefaultImports: Foundation,ServiceStack
*/

import Foundation
import ServiceStack

// @Route("/news/{Id}", "DELETE")
// @ValidateRequest(Validator="IsAuthenticated")
public class DeleteNewsItem : IReturn, ICompany, Codable
{
    public typealias Return = NewsItemQueryResponse

    /**
    * The company id, if empty will use the company id for the user you are logged in with.
    */
    // @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
    public var companyId:String?

    /**
    * Id of the newsitem to delete
    */
    // @ApiMember(Description="Id of the newsitem to delete", IsRequired=true)
    public var id:Int

    required public init(){}
}

public class NewsItemQueryResponse : Codable
{
    /**
    * The news item id
    */
    // @ApiMember(Description="The news item id")
    public var id:Int

    /**
    * Heading of the news item
    */
    // @ApiMember(Description="Heading of the news item")
    public var heading:String

    /**
    * Body of the news item
    */
    // @ApiMember(Description="Body of the news item")
    public var body:String

    /**
    * Url to a image associated with the news
    */
    // @ApiMember(Description="Url to a image associated with the news")
    public var imageUrl:Uri

    /**
    * The timestamp from which the newsitem should be visible from
    */
    // @ApiMember(Description="The timestamp from which the newsitem should be visible from", IsRequired=true)
    public var from:Date

    /**
    * The timestamp to which the newsitem should be visible to
    */
    // @ApiMember(Description="The timestamp to which the newsitem should be visible to", IsRequired=true)
    public var to:Date

    /**
    * The timestamp when news was created
    */
    // @ApiMember(Description="The timestamp when news was created", IsRequired=true)
    public var created:Date

    public var responseStatus:ResponseStatus

    required public init(){}
}

public protocol ICompany
{
    var companyId:String? { get set }

}