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),
|
2015-07-15 14:00:11 +09:30
|
|
|
editUser: Model.hasOne('editUser'),
|
2018-08-24 21:27:05 +09:30
|
|
|
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),
|
2015-07-15 14:00:11 +09:30
|
|
|
hideUser: Model.hasOne('hideUser'),
|
2018-08-24 21:27:50 +09:30
|
|
|
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'),
|
2015-07-15 14:00:11 +09:30
|
|
|
canDelete: Model.attribute('canDelete')
|
2015-10-13 16:57:18 +10:30
|
|
|
});
|