'use strict';
var logger, core,
user = require('./db/user.js'),
socket = require('../../../ws/mobile.js');
function sayHello(req, res) {
logger.info('Welcome to c2net!');
return res.json(200, {message: core.getMessage()});
}
module.exports = function(dependencies) {
var PubSub = dependencies('pubsub').local;
var PubSubG = dependencies('pubsub').global;
// User login ------------------------------------------------------------------------------
PubSub.topic('login:success').subscribe(function(data) {
logger.info("Login successfully!");
var notif = {
title:'Login successfully',
msg: 'Welcome to C2NET!',
status: 'unread',
type: 'login'
};
user.newNotification(data._id, notif);
socket.emit(data._id, notif);
});
PubSub.topic('login:failure').subscribe(function(data) {
logger.info("Login failure!");
var notif = {
title: 'Login failure',
msg: 'You or someone was attempting to login with wrong password!',
status: 'unread',
type: 'login'
};
user.newNotification(data._id, notif);
socket.emit(data._id,notif);
});
// Community -------------------------------------------------------------------------------------------
PubSub.topic('community:join').subscribe(function(data) {
// logger.info(data);
logger.info("Join community successfully!");
});
PubSub.topic('community:leave').subscribe(function(data) {
// logger.info(data);
logger.info("Leave community successfully!");
});
PubSub.topic('community:membership:invitation:cancel').subscribe(function(data) {
// logger.info(data);
logger.info("Cancel invitation of joining into the community!");
});
PubSub.topic('community:membership:invitation:decline').subscribe(function(data) {
// logger.info(data);
logger.info("Invitation of membership in the community is declined!");
});
PubSub.topic('community:membership:request:refuse').subscribe(function(data) {
// logger.info(data);
logger.info("The request of membership in the communicty is refused!");
});
PubSub.topic('community:membership:request:cancel').subscribe(function(data) {
// logger.info(data);
logger.info("The request of membership in the community is cannceled");
});
PubSub.topic('community:membership:invite').subscribe(function(data) {
// logger.info(data);
logger.info("There is an invitation of being a member in the community!");
});
PubSub.topic('community:membership:request').subscribe(function(data) {
// logger.info(data);
logger.info("There is a request of being a member in the community!");
});
// Notification -----------------------------------------------------------------------------
PubSub.topic('notification:external').subscribe(function(data) {
// logger.info(data);
logger.info("notification!");
});
// message -------------------------------------------------------------------------
PubSub.topic('message:activity').subscribe(function(data) {
// logger.info(data);
logger.info("Activity from message!");
});
PubSub.topic('message:stored').subscribe(function(data) {
// logger.info(data);
logger.info("Message stored!");
});
// invitation -------------------------------------------------------------------------
PubSub.topic('invitation:init:failure').subscribe(function(data) {
// logger.info(data);
logger.info("Failure from initation of invitation!");
});
PubSub.topic('invitation:init:success').subscribe(function(data) {
// logger.info(data);
logger.info("Success from initation of invitation!");
});
PubSub.topic('invitation:finalize:failure').subscribe(function(data) {
// logger.info(data);
logger.info("Failure from finalization of invitation!");
});
PubSub.topic('invitation:finalize:success').subscribe(function(data) {
// logger.info(data);
logger.info("Success from finalization of invitation!");
});
PubSub.topic('invitation:process:failure').subscribe(function(data) {
// logger.info(data);
logger.info("Failure from process of invitation!");
});
PubSub.topic('invitation:process:success').subscribe(function(data) {
//logger.info(data);
logger.info("Success from process of invitation!");
});
// -----------------------------------------------------------------------------------------
PubSubG.topic('usernotification:created').subscribe(function(data) {
//logger.info(data);
logger.info("usernotification:created");
});
// -----------------------------------------------------------------------------------------
PubSubG.topic('message:activity').subscribe(function(data) {
//logger.info(data);
logger.info(" message:activity");
});
// -----------------------------------------------------------------------------------------
PubSubG.topic('message:stored').subscribe(function(data) {
//logger.info(data);
logger.info("message:stored");
});
// -----------------------------------------------------------------------------------------
PubSub.topic('graceperiod:done').subscribe(function(data) {
logger.info('************************************************');
logger.info("graceperiod:done");
logger.info(data);
});
logger = dependencies('logger');
core = require('./core')(dependencies);
return {
sayHello: sayHello
}
};