mirror of
https://gitlab.com/MrFry/mrfrys-node-server
synced 2025-04-01 20:24:18 +02:00
Password incrementing changes
This commit is contained in:
parent
06f2b5aa47
commit
967755969e
1 changed files with 37 additions and 25 deletions
|
@ -6,12 +6,11 @@ import { Request, SubmoduleData, User } from '../../../types/basicTypes'
|
||||||
import dbtools from '../../../utils/dbtools'
|
import dbtools from '../../../utils/dbtools'
|
||||||
|
|
||||||
const minimumAlowwedSessions = 2 // how many sessions are allowed for a user
|
const minimumAlowwedSessions = 2 // how many sessions are allowed for a user
|
||||||
const addPWPerDay = 3 // every x day a user can give a pw
|
|
||||||
const maxPWCount = 6 // maximum pw give opportunities a user can have at once
|
|
||||||
const addPWCount = 1 // how many pw gen opportunities to add each time
|
|
||||||
const daysAfterUserGetsPWs = 5 // days after user gets pw-s
|
|
||||||
const usersDbBackupPath = 'data/dbs/backup'
|
const usersDbBackupPath = 'data/dbs/backup'
|
||||||
|
|
||||||
|
const maxPWCount = 3
|
||||||
|
const daysAfterUserGetsPWs = 7 // days after user gets pw-s
|
||||||
|
|
||||||
function BackupDB(usersDbBackupPath, userDB) {
|
function BackupDB(usersDbBackupPath, userDB) {
|
||||||
logger.Log('Backing up auth DB ...')
|
logger.Log('Backing up auth DB ...')
|
||||||
utils.CreatePath(usersDbBackupPath, true)
|
utils.CreatePath(usersDbBackupPath, true)
|
||||||
|
@ -49,8 +48,6 @@ function setup(data: SubmoduleData): any {
|
||||||
requestedPWS: user.pwRequestCount,
|
requestedPWS: user.pwRequestCount,
|
||||||
maxPWCount: maxPWCount,
|
maxPWCount: maxPWCount,
|
||||||
daysAfterUserGetsPWs: daysAfterUserGetsPWs,
|
daysAfterUserGetsPWs: daysAfterUserGetsPWs,
|
||||||
addPWPerDay: addPWPerDay,
|
|
||||||
addPWCount: addPWCount,
|
|
||||||
dayDiff: getDayDiff(user.created),
|
dayDiff: getDayDiff(user.created),
|
||||||
userCount: dbtools.TableInfo(userDB, 'users').dataCount,
|
userCount: dbtools.TableInfo(userDB, 'users').dataCount,
|
||||||
})
|
})
|
||||||
|
@ -106,8 +103,6 @@ function setup(data: SubmoduleData): any {
|
||||||
requestedPWS: requestingUser.pwRequestCount,
|
requestedPWS: requestingUser.pwRequestCount,
|
||||||
maxPWCount: maxPWCount,
|
maxPWCount: maxPWCount,
|
||||||
daysAfterUserGetsPWs: daysAfterUserGetsPWs,
|
daysAfterUserGetsPWs: daysAfterUserGetsPWs,
|
||||||
addPWPerDay: addPWPerDay,
|
|
||||||
addPWCount: addPWCount,
|
|
||||||
dayDiff: getDayDiff(requestingUser.created),
|
dayDiff: getDayDiff(requestingUser.created),
|
||||||
userCount: dbtools.TableInfo(userDB, 'users').dataCount,
|
userCount: dbtools.TableInfo(userDB, 'users').dataCount,
|
||||||
})
|
})
|
||||||
|
@ -256,33 +251,50 @@ function setup(data: SubmoduleData): any {
|
||||||
// FIXME: check this if this is legit and works
|
// FIXME: check this if this is legit and works
|
||||||
logger.Log('Incrementing avaible PW-s ...')
|
logger.Log('Incrementing avaible PW-s ...')
|
||||||
const users: Array<User> = dbtools.SelectAll(userDB, 'users')
|
const users: Array<User> = dbtools.SelectAll(userDB, 'users')
|
||||||
|
const day = new Date().getDay()
|
||||||
|
|
||||||
users.forEach((user) => {
|
if (day === 1) {
|
||||||
if (user.avaiblePWRequests >= maxPWCount) {
|
users.forEach((user) => {
|
||||||
return
|
const dayDiff = getDayDiff(user.created)
|
||||||
}
|
if (dayDiff < daysAfterUserGetsPWs) {
|
||||||
|
logger.Log(
|
||||||
|
`User #${user.id} is not registered long enough to get password ( ${dayDiff} days, ${daysAfterUserGetsPWs} needed)`,
|
||||||
|
logger.GetColor('cyan')
|
||||||
|
)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
const dayDiff = getDayDiff(user.created)
|
|
||||||
if (dayDiff < daysAfterUserGetsPWs) {
|
|
||||||
logger.Log(
|
logger.Log(
|
||||||
`User #${user.id} is not registered long enough to get password ( ${dayDiff} days, ${daysAfterUserGetsPWs} needed)`,
|
`Setting avaible PW-s for user #${user.id}: ${user.avaiblePWRequests} -> ${maxPWCount}`,
|
||||||
logger.GetColor('cyan')
|
logger.GetColor('cyan')
|
||||||
)
|
)
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dayDiff % addPWPerDay === 0) {
|
|
||||||
logger.Log(
|
|
||||||
`Incrementing avaible PW-s for user #${user.id}: ${
|
|
||||||
user.avaiblePWRequests
|
|
||||||
} -> ${user.avaiblePWRequests + addPWCount}`,
|
|
||||||
logger.GetColor('cyan')
|
|
||||||
)
|
|
||||||
dbtools.Update(
|
dbtools.Update(
|
||||||
userDB,
|
userDB,
|
||||||
'users',
|
'users',
|
||||||
{
|
{
|
||||||
avaiblePWRequests: user.avaiblePWRequests + addPWCount,
|
avaiblePWRequests: maxPWCount,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: user.id,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
users.forEach((user) => {
|
||||||
|
const dayDiff = getDayDiff(user.created)
|
||||||
|
if (dayDiff === daysAfterUserGetsPWs) {
|
||||||
|
logger.Log(
|
||||||
|
`Setting avaible PW-s for user #${user.id}: ${user.avaiblePWRequests} -> ${maxPWCount}`,
|
||||||
|
logger.GetColor('cyan')
|
||||||
|
)
|
||||||
|
|
||||||
|
dbtools.Update(
|
||||||
|
userDB,
|
||||||
|
'users',
|
||||||
|
{
|
||||||
|
avaiblePWRequests: maxPWCount,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: user.id,
|
id: user.id,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue