added encryption to player list

This commit is contained in:
didier amyot committed 2016-04-23 23:02:19 -04:00
1 parent 9f113a8588
commit 2a689dd20b
9 files changed
+53 -30

No files matched your search

+2 -1
View File
@@ -1,7 +1,8 @@
requirejs.config({
paths: {
'_': '../lib/lodash/dist/lodash.min',
'm': '../lib/mithril/mithril.min'
'm': '../lib/mithril/mithril.min',
'spritz': '../lib/spritzjs/dist/spritz'
}
});
+1 -1
View File
@@ -4,7 +4,7 @@ define(['m', '_', 'teams', 'views/loginPage', 'views/playersPage', 'views/topNav
confidentialPage.view = function(){
var body;
if(!window.secret){
if(_.isEmpty(window.secret)){
body = loginPage;
}else{
body = playersPage;
+1 -1
View File
@@ -1,7 +1,7 @@
define(['m', '_'], function (m, _) {
var loginPage = {};
loginPage.salt = "9'D)E@E{DSq[|l2bq!v";
loginPage.salt = window.salt;
loginPage.controller = function(){
return {email: m.prop(''), password: m.prop('')};
+10 -2
View File
@@ -1,4 +1,4 @@
define(['m', '_', 'teams'], function (m, _ , teams) {
define(['m', '_', 'spritz', 'teams'], function (m, _ , spritz, teams) {
var playersSelectionBar = {};
@@ -83,12 +83,20 @@ define(['m', '_', 'teams'], function (m, _ , teams) {
return _.orderBy(playerList, sortingKeys, sortingDirections);
};
playersTable.decryptPlayerList = function(encryptedPlayerList){
var keyLengthInBytes = 128;
var key = spritz.hash(window.secret, keyLengthInBytes);
var decryptedMessage = spritz.decrypt(key, encryptedPlayerList);
return JSON.parse(spritz.utf8ByteArrayToString(decryptedMessage));
};
playersTable.controller = function(model){
var players = m.prop([]);
var ctrl = {};
ctrl.model = model;
ctrl.players = m.request({method: "GET", url: "api/players.json"})
ctrl.players = m.request({method: "GET", url: window.playerListLocation})
.then(playersTable.decryptPlayerList)
.then(players);
ctrl.sortPlayers = function(){
ctrl.players(playersTable._sortPlayers(ctrl.model.sorting, ctrl.players()));