mirror of
https://github.com/flarum/core.git
synced 2025-08-10 18:35:56 +02:00
Implement notifications
This commit is contained in:
@@ -2,8 +2,9 @@ import Ember from 'ember';
|
||||
import DS from 'ember-data';
|
||||
|
||||
import HasItemLists from 'flarum/mixins/has-item-lists';
|
||||
import Subject from './subject';
|
||||
|
||||
export default DS.Model.extend(HasItemLists, {
|
||||
export default Subject.extend(HasItemLists, {
|
||||
/**
|
||||
Define a "badges" item list. Example usage:
|
||||
```
|
||||
|
21
ember/app/models/notification.js
Normal file
21
ember/app/models/notification.js
Normal file
@@ -0,0 +1,21 @@
|
||||
import DS from 'ember-data';
|
||||
|
||||
export default DS.Model.extend({
|
||||
contentType: DS.attr('string'),
|
||||
subjectId: DS.attr('number'),
|
||||
content: DS.attr(),
|
||||
time: DS.attr('date'),
|
||||
isRead: DS.attr('boolean'),
|
||||
unreadCount: DS.attr('number'),
|
||||
additionalUnreadCount: Ember.computed('unreadCount', function() {
|
||||
return Math.max(0, this.get('unreadCount') - 1);
|
||||
}),
|
||||
|
||||
decodedContent: Ember.computed('content', function() {
|
||||
return JSON.parse(this.get('content'));
|
||||
}),
|
||||
|
||||
user: DS.belongsTo('user'),
|
||||
sender: DS.belongsTo('user'),
|
||||
subject: DS.belongsTo('subject', {polymorphic: true})
|
||||
});
|
@@ -1,7 +1,8 @@
|
||||
import Ember from 'ember';
|
||||
import DS from 'ember-data';
|
||||
import Subject from './subject';
|
||||
|
||||
export default DS.Model.extend({
|
||||
export default Subject.extend({
|
||||
discussion: DS.belongsTo('discussion', {inverse: 'loadedPosts'}),
|
||||
number: DS.attr('number'),
|
||||
|
||||
|
5
ember/app/models/subject.js
Normal file
5
ember/app/models/subject.js
Normal file
@@ -0,0 +1,5 @@
|
||||
import DS from 'ember-data';
|
||||
|
||||
export default DS.Model.extend({
|
||||
notification: DS.belongsTo('notification')
|
||||
});
|
@@ -18,6 +18,7 @@ export default DS.Model.extend(HasItemLists, {
|
||||
joinTime: DS.attr('date'),
|
||||
lastSeenTime: DS.attr('date'),
|
||||
readTime: DS.attr('date'),
|
||||
unreadNotificationsCount: DS.attr('number'),
|
||||
|
||||
discussionsCount: DS.attr('number'),
|
||||
commentsCount: DS.attr('number'),
|
||||
|
Reference in New Issue
Block a user