42 lines
760 B
TypeScript
42 lines
760 B
TypeScript
import AbstractModel from './abstractModel'
|
|
import UserModel, { type IUser } from './user'
|
|
import type { ITask } from './task'
|
|
|
|
export interface ITaskComment {
|
|
id: number
|
|
taskId: ITask['id']
|
|
comment: string
|
|
author: IUser
|
|
|
|
created: Date
|
|
updated: Date
|
|
}
|
|
|
|
export default class TaskCommentModel extends AbstractModel implements ITaskComment {
|
|
declare id: number
|
|
declare taskId: ITask['id']
|
|
declare comment: string
|
|
author: IUser
|
|
|
|
created: Date
|
|
updated: Date
|
|
|
|
constructor(data) {
|
|
super(data)
|
|
this.author = new UserModel(this.author)
|
|
this.created = new Date(this.created)
|
|
this.updated = new Date(this.updated)
|
|
}
|
|
|
|
defaults() {
|
|
return {
|
|
id: 0,
|
|
taskId: 0,
|
|
comment: '',
|
|
author: UserModel,
|
|
created: null,
|
|
updated: null,
|
|
}
|
|
}
|
|
}
|