framework/js/lib/models/post.js
Toby Zerner a74b40fe47 Massive refactor
- Use contextual namespaces within Flarum\Core
- Clean up and docblock everything
- Refactor Activity/Notification blueprint stuff
- Refactor Formatter stuff
- Refactor Search stuff
- Upgrade to JSON-API 1.0
- Removed “addedPosts” and “removedPosts” relationships from discussion
API. This was used for adding/removing event posts after renaming a
discussion etc. Instead we should make an additional request to get all
new posts

Todo:
- Fix Extenders and extensions
- Get rid of repository interfaces
- Fix other bugs I’ve inevitably introduced
2015-07-04 12:24:48 +09:30

28 lines
1.2 KiB
JavaScript

import Model from 'flarum/model';
import computed from 'flarum/utils/computed';
class Post extends Model {}
Post.prototype.number = Model.attribute('number');
Post.prototype.discussion = Model.hasOne('discussion');
Post.prototype.time = Model.attribute('time', Model.transformDate);
Post.prototype.user = Model.hasOne('user');
Post.prototype.contentType = Model.attribute('contentType');
Post.prototype.content = Model.attribute('content');
Post.prototype.contentHtml = Model.attribute('contentHtml');
Post.prototype.contentPlain = computed('contentHtml', contentHtml => $('<div/>').html(contentHtml.replace(/(<\/p>|<br>)/g, '$1 ')).text());
Post.prototype.editTime = Model.attribute('editTime', Model.transformDate);
Post.prototype.editUser = Model.hasOne('editUser');
Post.prototype.isEdited = computed('editTime', editTime => !!editTime);
Post.prototype.hideTime = Model.attribute('hideTime', Model.transformDate);
Post.prototype.hideUser = Model.hasOne('hideUser');
Post.prototype.isHidden = computed('hideTime', hideTime => !!hideTime);
Post.prototype.canEdit = Model.attribute('canEdit');
Post.prototype.canDelete = Model.attribute('canDelete');
export default Post;