2018-06-20 13:20:31 +09:30
|
|
|
import Model from '../Model';
|
|
|
|
import computed from '../utils/computed';
|
|
|
|
import { getPlainContent } from '../utils/string';
|
2015-04-25 22:28:39 +09:30
|
|
|
|
2015-10-13 16:57:18 +10:30
|
|
|
export default class Post extends Model {}
|
|
|
|
|
|
|
|
Object.assign(Post.prototype, {
|
2015-07-15 14:00:11 +09:30
|
|
|
number: Model.attribute('number'),
|
|
|
|
discussion: Model.hasOne('discussion'),
|
2015-04-25 22:28:39 +09:30
|
|
|
|
2018-08-24 21:25:45 +09:30
|
|
|
createdAt: Model.attribute('createdAt', Model.transformDate),
|
2015-07-15 14:00:11 +09:30
|
|
|
user: Model.hasOne('user'),
|
|
|
|
contentType: Model.attribute('contentType'),
|
|
|
|
content: Model.attribute('content'),
|
|
|
|
contentHtml: Model.attribute('contentHtml'),
|
|
|
|
contentPlain: computed('contentHtml', getPlainContent),
|
2015-04-25 22:28:39 +09:30
|
|
|
|
2018-08-24 21:27:05 +09:30
|
|
|
editedAt: Model.attribute('editedAt', Model.transformDate),
|
2018-08-24 21:29:17 +09:30
|
|
|
editedUser: Model.hasOne('editedUser'),
|
2020-04-17 11:57:55 +02:00
|
|
|
isEdited: computed('editedAt', (editedAt) => !!editedAt),
|
2015-04-25 22:28:39 +09:30
|
|
|
|
2018-08-24 21:27:50 +09:30
|
|
|
hiddenAt: Model.attribute('hiddenAt', Model.transformDate),
|
2018-08-24 21:30:06 +09:30
|
|
|
hiddenUser: Model.hasOne('hiddenUser'),
|
2020-04-17 11:57:55 +02:00
|
|
|
isHidden: computed('hiddenAt', (hiddenAt) => !!hiddenAt),
|
2015-04-25 22:28:39 +09:30
|
|
|
|
2015-07-15 14:00:11 +09:30
|
|
|
canEdit: Model.attribute('canEdit'),
|
2018-07-15 03:15:40 +07:00
|
|
|
canHide: Model.attribute('canHide'),
|
2020-04-17 11:57:55 +02:00
|
|
|
canDelete: Model.attribute('canDelete'),
|
2015-10-13 16:57:18 +10:30
|
|
|
});
|