travis-web/app/models/broadcast.coffee
2015-12-08 10:18:03 +01:00

30 lines
858 B
CoffeeScript

`import Ember from 'ember'`
`import Model from 'travis/models/model'`
Broadcast = Model.extend
message: DS.attr()
toObject: ->
{ type: 'broadcast', id: @get('id'), message: @get('message') }
isSeen: (->
@get('id') in Ember.get(Broadcast, 'seen')
).property()
setSeen: ->
Ember.get(Broadcast, 'seen').pushObject(@get('id'))
Travis.storage.setItem('travis.seen_broadcasts', JSON.stringify(Ember.get(Broadcast, 'seen')))
@notifyPropertyChange('isSeen')
Broadcast.reopenClass
seen: (->
seenBroadcasts = Travis.lookup('service:storage').getItem('travis.seen_broadcasts')
seenBroadcasts = JSON.parse(seenBroadcasts) if seenBroadcasts?
Ember.A(seenBroadcasts || [])
).property()
# TODO fix or monkey-patch the adapter's url and key lookup/generation crap
# url: 'users/broadcasts'
`export default Broadcast`