mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-30 01:05:18 -05:00
Merge pull request #6278 from overleaf/ab-login-registration-cleanup
[web] Login/registration cleanup GitOrigin-RevId: 02bb2fa04a504f42b7594def3cec03ab883c64f5
This commit is contained in:
parent
5e9af2c15c
commit
d0c4c8b24f
1 changed files with 51 additions and 39 deletions
|
@ -1,51 +1,63 @@
|
||||||
const OError = require('@overleaf/o-error')
|
const OError = require('@overleaf/o-error')
|
||||||
const { User } = require('../../models/User')
|
const { User } = require('../../models/User')
|
||||||
const FeaturesUpdater = require('../Subscription/FeaturesUpdater')
|
const FeaturesUpdater = require('../Subscription/FeaturesUpdater')
|
||||||
|
const { promisify } = require('../../util/promises')
|
||||||
|
|
||||||
module.exports = {
|
function allocate(
|
||||||
allocate(referalId, newUserId, referalSource, referalMedium, callback) {
|
referalId,
|
||||||
if (callback == null) {
|
newUserId,
|
||||||
callback = function () {}
|
referalSource,
|
||||||
|
referalMedium,
|
||||||
|
callback
|
||||||
|
) {
|
||||||
|
if (callback == null) {
|
||||||
|
callback = function () {}
|
||||||
|
}
|
||||||
|
if (referalId == null) {
|
||||||
|
return callback(null)
|
||||||
|
}
|
||||||
|
|
||||||
|
const query = { referal_id: referalId }
|
||||||
|
return User.findOne(query, { _id: 1 }, function (error, user) {
|
||||||
|
if (error != null) {
|
||||||
|
return callback(error)
|
||||||
}
|
}
|
||||||
if (referalId == null) {
|
if (user == null || user._id == null) {
|
||||||
return callback(null)
|
return callback(null)
|
||||||
}
|
}
|
||||||
|
|
||||||
const query = { referal_id: referalId }
|
if (referalSource === 'bonus') {
|
||||||
return User.findOne(query, { _id: 1 }, function (error, user) {
|
User.updateOne(
|
||||||
if (error != null) {
|
query,
|
||||||
return callback(error)
|
{
|
||||||
}
|
$push: {
|
||||||
if (user == null || user._id == null) {
|
refered_users: newUserId,
|
||||||
return callback(null)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (referalSource === 'bonus') {
|
|
||||||
User.updateOne(
|
|
||||||
query,
|
|
||||||
{
|
|
||||||
$push: {
|
|
||||||
refered_users: newUserId,
|
|
||||||
},
|
|
||||||
$inc: {
|
|
||||||
refered_user_count: 1,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{},
|
$inc: {
|
||||||
function (err) {
|
refered_user_count: 1,
|
||||||
if (err != null) {
|
},
|
||||||
OError.tag(err, 'something went wrong allocating referal', {
|
},
|
||||||
referalId,
|
{},
|
||||||
newUserId,
|
function (err) {
|
||||||
})
|
if (err != null) {
|
||||||
return callback(err)
|
OError.tag(err, 'something went wrong allocating referal', {
|
||||||
}
|
referalId,
|
||||||
FeaturesUpdater.refreshFeatures(user._id, 'referral', callback)
|
newUserId,
|
||||||
|
})
|
||||||
|
return callback(err)
|
||||||
}
|
}
|
||||||
)
|
FeaturesUpdater.refreshFeatures(user._id, 'referral', callback)
|
||||||
} else {
|
}
|
||||||
callback()
|
)
|
||||||
}
|
} else {
|
||||||
})
|
callback()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
allocate,
|
||||||
|
promises: {
|
||||||
|
allocate: promisify(allocate),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue