import {JsonObject, JsonProperty} from "json2typescript";
import {TimestampDateConverter} from "./parser/converters/timestamp-date.converter";
import {MessageSerialized} from "./serialized/message.serialized";

@JsonObject('TicketDetails')
export class TicketDetails {

  @JsonProperty('id', Number)
  id: number = undefined;

  @JsonProperty('name', String)
  name: string = undefined;

  @JsonProperty('licenseeId', Number)
  licenseeId: number = undefined;

  @JsonProperty('createdOn', TimestampDateConverter)
  createdOn: Date = undefined;

  @JsonProperty('updatedOn', TimestampDateConverter)
  updatedOn: Date = undefined;

  @JsonProperty('description', String)
  description: string = undefined;

  @JsonProperty('messageCount', Number)
  messageCount: number = undefined;

  @JsonProperty('isUnread', Boolean)
  isUnread: boolean = undefined;

  @JsonProperty('messages', [MessageSerialized])
  messages: MessageSerialized[] = undefined;

}
