mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-05-03 17:33:31 -04:00
Clan analytics
Hook up server-side operations.
This commit is contained in:
parent
7cd71b6146
commit
9d6e5fe20b
1 changed files with 5 additions and 0 deletions
|
@ -1,6 +1,7 @@
|
||||||
async = require 'async'
|
async = require 'async'
|
||||||
mongoose = require 'mongoose'
|
mongoose = require 'mongoose'
|
||||||
Handler = require '../commons/Handler'
|
Handler = require '../commons/Handler'
|
||||||
|
AnalyticsLogEvent = require '../analytics/AnalyticsLogEvent'
|
||||||
Clan = require './Clan'
|
Clan = require './Clan'
|
||||||
EarnedAchievement = require '../achievements/EarnedAchievement'
|
EarnedAchievement = require '../achievements/EarnedAchievement'
|
||||||
EarnedAchievementHandler = require '../achievements/earned_achievement_handler'
|
EarnedAchievementHandler = require '../achievements/earned_achievement_handler'
|
||||||
|
@ -45,6 +46,7 @@ ClanHandler = class ClanHandler extends Handler
|
||||||
User.update {_id: {$in: memberIDs}}, {$pull: {clans: clan.get('_id')}}, {multi: true}, (err) =>
|
User.update {_id: {$in: memberIDs}}, {$pull: {clans: clan.get('_id')}}, {multi: true}, (err) =>
|
||||||
return @sendDatabaseError(res, err) if err
|
return @sendDatabaseError(res, err) if err
|
||||||
@sendNoContent(res)
|
@sendNoContent(res)
|
||||||
|
AnalyticsLogEvent.logEvent req.user, 'Clan deleted', clanID: clanID, type: clan.get('type')
|
||||||
|
|
||||||
getByRelationship: (req, res, args...) ->
|
getByRelationship: (req, res, args...) ->
|
||||||
return @joinClan(req, res, args[0]) if args[1] is 'join'
|
return @joinClan(req, res, args[0]) if args[1] is 'join'
|
||||||
|
@ -67,6 +69,7 @@ ClanHandler = class ClanHandler extends Handler
|
||||||
User.update {_id: req.user._id}, {$addToSet: {clans: clanID}}, (err) =>
|
User.update {_id: req.user._id}, {$addToSet: {clans: clanID}}, (err) =>
|
||||||
return @sendDatabaseError(res, err) if err
|
return @sendDatabaseError(res, err) if err
|
||||||
@sendSuccess(res)
|
@sendSuccess(res)
|
||||||
|
AnalyticsLogEvent.logEvent req.user, 'Clan joined', clanID: clanID, type: 'public'
|
||||||
|
|
||||||
leaveClan: (req, res, clanID) ->
|
leaveClan: (req, res, clanID) ->
|
||||||
return @sendForbiddenError(res) unless req.user? and not req.user.isAnonymous()
|
return @sendForbiddenError(res) unless req.user? and not req.user.isAnonymous()
|
||||||
|
@ -83,6 +86,7 @@ ClanHandler = class ClanHandler extends Handler
|
||||||
User.update {_id: req.user._id}, {$pull: {clans: clanID}}, (err) =>
|
User.update {_id: req.user._id}, {$pull: {clans: clanID}}, (err) =>
|
||||||
return @sendDatabaseError(res, err) if err
|
return @sendDatabaseError(res, err) if err
|
||||||
@sendSuccess(res)
|
@sendSuccess(res)
|
||||||
|
AnalyticsLogEvent.logEvent req.user, 'Clan left', clanID: clanID, type: clan.get('type')
|
||||||
|
|
||||||
getMemberAchievements: (req, res, clanID) ->
|
getMemberAchievements: (req, res, clanID) ->
|
||||||
# TODO: add tests
|
# TODO: add tests
|
||||||
|
@ -144,5 +148,6 @@ ClanHandler = class ClanHandler extends Handler
|
||||||
User.update {_id: memberID}, {$pull: {clans: clanID}}, (err) =>
|
User.update {_id: memberID}, {$pull: {clans: clanID}}, (err) =>
|
||||||
return @sendDatabaseError(res, err) if err
|
return @sendDatabaseError(res, err) if err
|
||||||
@sendSuccess(res)
|
@sendSuccess(res)
|
||||||
|
AnalyticsLogEvent.logEvent req.user, 'Clan member removed', clanID: clanID, type: clan.get('type'), memberID: memberID
|
||||||
|
|
||||||
module.exports = new ClanHandler()
|
module.exports = new ClanHandler()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue