donejs
Version:
Your app is done
37 lines (30 loc) • 824 B
JavaScript
import { DefineMap, DefineList, superModel } from 'can';
import loader from '@loader';
import io from 'steal-socket.io';
const Message = DefineMap.extend('Message', {
seal: false
}, {
'id': {
type: 'any',
identity: true
},
name: 'string',
body: 'string'
});
Message.List = DefineList.extend('MessageList', {
'#': Message
});
Message.connection = superModel({
url: loader.serviceBaseURL + '/api/messages',
Map: Message,
List: Message.List,
name: 'message'
});
const socket = io(loader.serviceBaseURL);
socket.on('messages created',
message => Message.connection.createInstance(message));
socket.on('messages updated',
message => Message.connection.updateInstance(message));
socket.on('messages removed',
message => Message.connection.destroyInstance(message));
export default Message;