mirror of
https://github.com/sudoxnym/habitica-self-host.git
synced 2026-08-01 11:40:25 +00:00
convert viewHelpers to helpers, for other util functions in there.
some template code for next schema update
This commit is contained in:
parent
035a705805
commit
b2c9035ca9
6 changed files with 49 additions and 21 deletions
|
|
@ -1,6 +1,14 @@
|
|||
// Generated by CoffeeScript 1.3.3
|
||||
|
||||
module.exports = function(view) {
|
||||
module.exports.daysBetween = function(a, b) {
|
||||
var DAY;
|
||||
DAY = 1000 * 60 * 60 * 24;
|
||||
a = new Date((new Date(a)).toDateString());
|
||||
b = new Date((new Date(b)).toDateString());
|
||||
return Math.floor((a.getTime() - b.getTime()) / DAY);
|
||||
};
|
||||
|
||||
module.exports.viewHelpers = function(view) {
|
||||
view.fn('taskClasses', function(type, completed, value) {
|
||||
var classes;
|
||||
classes = type;
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
// Generated by CoffeeScript 1.3.3
|
||||
var content, derby, get, getHabits, ready, schema, scoring, view, _ref;
|
||||
var content, derby, get, getHabits, helpers, ready, schema, scoring, view, _ref;
|
||||
|
||||
derby = require('derby');
|
||||
|
||||
|
|
@ -15,7 +15,9 @@ scoring = require('./scoring');
|
|||
|
||||
schema = require('./schema');
|
||||
|
||||
require('./viewHelpers')(view);
|
||||
helpers = require('./helpers');
|
||||
|
||||
helpers.viewHelpers(view);
|
||||
|
||||
get('/:uidParam?', function(page, model, _arg) {
|
||||
var uidParam;
|
||||
|
|
|
|||
|
|
@ -21,4 +21,17 @@ module.exports.userSchema = userSchema = {
|
|||
rewardIds: []
|
||||
};
|
||||
|
||||
module.exports.updateSchema = function(model) {};
|
||||
module.exports.updateSchema = function(model) {
|
||||
var daysOld, uid, userObj, users, _results;
|
||||
users = model.get('users');
|
||||
console.log(_.size(users), 'users.size before');
|
||||
_results = [];
|
||||
for (uid in users) {
|
||||
userObj = users[uid];
|
||||
if (userObj.lastCron == null) {
|
||||
model.del("users." + uid);
|
||||
}
|
||||
_results.push(daysOld = require('./helpers').daysBetween(userObj.lastCron, new Date()));
|
||||
}
|
||||
return _results;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,4 +1,12 @@
|
|||
module.exports = (view) ->
|
||||
|
||||
module.exports.daysBetween = (a, b) ->
|
||||
DAY = 1000 * 60 * 60 * 24
|
||||
# calculate as midnight
|
||||
a = new Date( (new Date(a)).toDateString() )
|
||||
b = new Date( (new Date(b)).toDateString() )
|
||||
return Math.floor((a.getTime() - b.getTime()) / DAY)
|
||||
|
||||
module.exports.viewHelpers = (view) ->
|
||||
view.fn 'taskClasses', (type, completed, value) ->
|
||||
#TODO figure out how to just pass in the task model, so i can access all these properties from one object
|
||||
classes = type
|
||||
|
|
@ -7,7 +7,8 @@ derby.use(require('../../ui'))
|
|||
content = require('./content')
|
||||
scoring = require('./scoring')
|
||||
schema = require('./schema')
|
||||
require('./viewHelpers')(view)
|
||||
helpers = require('./helpers')
|
||||
helpers.viewHelpers(view)
|
||||
|
||||
# ========== ROUTES ==========
|
||||
|
||||
|
|
|
|||
|
|
@ -11,19 +11,15 @@ module.exports.userSchema = userSchema = {
|
|||
}
|
||||
|
||||
module.exports.updateSchema = (model) ->
|
||||
# users = model.get('users')
|
||||
# console.log _.size(users), 'users.size before'
|
||||
# for uid,userObj of users
|
||||
# # remove if they don't have a lastCron (older accounts didn't)
|
||||
# unless userObj.lastCron?
|
||||
# model.del "users.#{uid}"
|
||||
#
|
||||
# # remove if they haven't logged in in 30 days
|
||||
# lastCron = new Date( (new Date(userObj.lastCron)).toDateString() ) # calculate as midnight
|
||||
# today = new Date((new Date).toDateString()) # calculate as midnight
|
||||
# DAY = 1000 * 60 * 60 * 24
|
||||
# daysPassed = Math.floor((today.getTime() - lastCron.getTime()) / DAY)
|
||||
# if daysPassed > 30
|
||||
# model.del "users.#{uid}"
|
||||
users = model.get('users')
|
||||
console.log _.size(users), 'users.size before'
|
||||
for uid,userObj of users
|
||||
# remove if they don't have a lastCron (older accounts didn't)
|
||||
unless userObj.lastCron?
|
||||
model.del "users.#{uid}"
|
||||
|
||||
# TODO remove all users who's tasks compare directly to require('./content).defaultTasks
|
||||
# and haven't logged in for a week
|
||||
daysOld = require('./helpers').daysBetween(userObj.lastCron, new Date())
|
||||
|
||||
|
||||
# TODO instead of the above, remove all users who's tasks compare directly to require('./content).defaultTasks
|
||||
|
|
|
|||
Loading…
Reference in a new issue