From 859333b311413752cfa5fa2eac49db67d751f984 Mon Sep 17 00:00:00 2001 From: Fosco Marotto Date: Sat, 30 Jan 2016 15:42:11 -0800 Subject: [PATCH 1/2] Added map to schema object types --- Schema.js | 1 + 1 file changed, 1 insertion(+) diff --git a/Schema.js b/Schema.js index bf093fb342..db5f510e06 100644 --- a/Schema.js +++ b/Schema.js @@ -282,6 +282,7 @@ function getType(obj) { case 'string': case 'number': return type; + case 'map': case 'object': if (!obj) { return undefined; From 78b20d3b43900938be5a93e22298e30358e9f68c Mon Sep 17 00:00:00 2001 From: Fosco Marotto Date: Sat, 30 Jan 2016 15:50:54 -0800 Subject: [PATCH 2/2] Updates for session usage --- RestWrite.js | 3 +-- transform.js | 9 +++++++++ users.js | 5 ++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/RestWrite.js b/RestWrite.js index 6e63a324a3..e7ff9c785e 100644 --- a/RestWrite.js +++ b/RestWrite.js @@ -283,8 +283,7 @@ RestWrite.prototype.transformUser = function() { 'action': 'login', 'authProvider': 'password' }, - restricted: false, - expiresAt: 0 + restricted: false }; var create = new RestWrite(this.config, Auth.master(this.config), '_Session', null, sessionData); diff --git a/transform.js b/transform.js index 5ddce222a4..7e19ba7035 100644 --- a/transform.js +++ b/transform.js @@ -46,6 +46,11 @@ function transformKeyValue(schema, className, restKey, restValue, options) { case '_session_token': key = '_session_token'; break; + case 'expiresAt': + case '_expiresAt': + key = '_expiresAt'; + timeField = true; + break; case '_rperm': case '_wperm': return {key: key, value: restValue}; @@ -642,6 +647,10 @@ function untransformObject(schema, className, mongoObject) { case '_created_at': restObject['createdAt'] = Parse._encode(new Date(mongoObject[key])).iso; break; + case 'expiresAt': + case '_expiresAt': + restObject['expiresAt'] = Parse._encode(new Date(mongoObject[key])).iso; + break; case '_auth_data_anonymous': restObject['authData'] = restObject['authData'] || {}; restObject['authData']['anonymous'] = mongoObject[key]; diff --git a/users.js b/users.js index 3820931fa7..642474b867 100644 --- a/users.js +++ b/users.js @@ -55,6 +55,9 @@ function handleLogIn(req) { user.sessionToken = token; delete user.password; + var expiresAt = new Date(); + expiresAt.setFullYear(expiresAt.getFullYear() + 1); + var sessionData = { sessionToken: token, user: { @@ -67,7 +70,7 @@ function handleLogIn(req) { 'authProvider': 'password' }, restricted: false, - expiresAt: 0, + expiresAt: Parse._encode(expiresAt).iso, installationId: req.info.installationId }; var create = new RestWrite(req.config, Auth.master(req.config),