/* Options:
Date: 2025-04-14 12:44:28
Version: 8.23
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://testapi.bokamera.se

//GlobalNamespace: 
//MakePropertiesOptional: False
//AddServiceStackTypes: True
//AddResponseStatus: False
//AddImplicitVersion: 
//AddDescriptionAsComments: True
IncludeTypes: AddSupportCaseComment.*
//ExcludeTypes: 
//DefaultImports: 
*/


export interface IReturn<T>
{
    createResponse(): T;
}

export interface ICompany
{
    CompanyId?: string;
}

export interface ISupportCase extends ICompany
{
    Id: number;
}

export class SupportCaseCommentsResponse
{
    /** @description The case id */
    // @ApiMember(Description="The case id")
    public SupportCaseId: number;

    /** @description The comments id */
    // @ApiMember(Description="The comments id")
    public Id: number;

    /** @description The case comment */
    // @ApiMember(Description="The case comment")
    public Comment: string;

    /** @description The case comment created by */
    // @ApiMember(Description="The case comment created by")
    public CreatedBy: string;

    /** @description The case comment created date */
    // @ApiMember(Description="The case comment created date")
    public Created: string;

    public constructor(init?: Partial<SupportCaseCommentsResponse>) { (Object as any).assign(this, init); }
}

// @Route("/support/cases/{Id}/comments", "POST")
// @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")
export class AddSupportCaseComment implements IReturn<SupportCaseCommentsResponse>, ISupportCase
{
    /** @description 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.")
    public CompanyId?: string;

    /** @description The support case id */
    // @ApiMember(Description="The support case id", IsRequired=true, ParameterType="path")
    public Id: number;

    /** @description The case comment. */
    // @ApiMember(Description="The case comment.")
    public Comment: string;

    public constructor(init?: Partial<AddSupportCaseComment>) { (Object as any).assign(this, init); }
    public getTypeName() { return 'AddSupportCaseComment'; }
    public getMethod() { return 'POST'; }
    public createResponse() { return new SupportCaseCommentsResponse(); }
}