Skip to content

Commit c4abd1e

Browse files
committed
cache as ES6
1 parent c0714b9 commit c4abd1e

11 files changed

+64
-82
lines changed

spec/helper.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
jasmine.DEFAULT_TIMEOUT_INTERVAL = 2000;
44

5-
var cache = require('../src/cache');
5+
var cache = require('../src/cache').default;
66
var DatabaseAdapter = require('../src/DatabaseAdapter');
77
var express = require('express');
88
var facebook = require('../src/oauth/facebook');

src/Auth.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ var deepcopy = require('deepcopy');
22
var Parse = require('parse/node').Parse;
33
var RestQuery = require('./RestQuery');
44

5-
var cache = require('./cache');
5+
import cache from './cache';
66

77
// An Auth object tells you who is requesting something and whether
88
// the master key was used.

src/Config.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22
// configured.
33
// mount is the URL for the root of the API; includes http, domain, etc.
44

5+
import cache from './cache';
6+
57
export class Config {
68

79
constructor(applicationId, mount) {
8-
var cache = require('./cache');
10+
911
var DatabaseAdapter = require('./DatabaseAdapter');
1012

1113
var cacheInfo = cache.apps[applicationId];

src/DatabaseAdapter.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313
// * This list is incomplete and the database process is not fully modularized.
1414
//
1515
// Default is ExportAdapter, which uses mongo.
16+
import cache from './cache';
1617

1718
var ExportAdapter = require('./ExportAdapter');
1819

1920
var adapter = ExportAdapter;
20-
var cache = require('./cache');
2121
var dbConnections = {};
2222
var databaseURI = 'mongodb://localhost:27017/parse';
2323
var appDatabaseURIs = {};

src/RestWrite.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
// that writes to the database.
33
// This could be either a "create" or an "update".
44

5+
import cache from './cache';
56
var deepcopy = require('deepcopy');
67

78
var Auth = require('./Auth');
8-
var cache = require('./cache');
99
var Config = require('./Config');
1010
var cryptoUtils = require('./cryptoUtils');
1111
var passwordCrypto = require('./password');
@@ -114,7 +114,7 @@ RestWrite.prototype.validateSchema = function() {
114114
// Any change leads to our data being mutated.
115115
RestWrite.prototype.runBeforeTrigger = function() {
116116
// Avoid doing any setup for triggers if there is no 'beforeSave' trigger for this class.
117-
if (!triggers.triggerExists(this.className, triggers.Types.beforeSave)) {
117+
if (!triggers.triggerExists(this.className, triggers.Types.beforeSave, this.config.applicationId)) {
118118
return Promise.resolve();
119119
}
120120

src/cache.js

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,45 @@
1-
var apps = {};
2-
var stats = {};
3-
var isLoaded = false;
4-
var users = {};
1+
export var apps = {};
2+
export var stats = {};
3+
export var isLoaded = false;
4+
export var users = {};
55

6-
function getApp(app, callback) {
6+
export function getApp(app, callback) {
77
if (apps[app]) return callback(true, apps[app]);
88
return callback(false);
99
}
1010

11-
function updateStat(key, value) {
11+
export function updateStat(key, value) {
1212
stats[key] = value;
1313
}
1414

15-
function getUser(sessionToken) {
15+
export function getUser(sessionToken) {
1616
if (users[sessionToken]) return users[sessionToken];
1717
return undefined;
1818
}
1919

20-
function setUser(sessionToken, userObject) {
20+
export function setUser(sessionToken, userObject) {
2121
users[sessionToken] = userObject;
2222
}
2323

24-
function clearUser(sessionToken) {
24+
export function clearUser(sessionToken) {
2525
delete users[sessionToken];
2626
}
2727

2828
//So far used only in tests
29-
function clearCache() {
29+
export function clearCache() {
3030
apps = {};
3131
stats = {};
3232
users = {};
3333
}
3434

35-
module.exports = {
36-
apps: apps,
37-
stats: stats,
38-
isLoaded: isLoaded,
39-
getApp: getApp,
40-
updateStat: updateStat,
41-
clearUser: clearUser,
42-
getUser: getUser,
43-
setUser: setUser,
44-
clearCache: clearCache,
35+
export default {
36+
apps,
37+
stats,
38+
isLoaded,
39+
getApp,
40+
updateStat,
41+
clearUser,
42+
getUser,
43+
setUser,
44+
clearCache,
4545
};

src/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ import 'babel-polyfill';
44

55
var batch = require('./batch'),
66
bodyParser = require('body-parser'),
7-
cache = require('./cache'),
87
DatabaseAdapter = require('./DatabaseAdapter'),
98
express = require('express'),
109
middlewares = require('./middlewares'),
1110
multer = require('multer'),
1211
Parse = require('parse/node').Parse;
1312

13+
import cache from './cache';
1414
import PromiseRouter from './PromiseRouter';
1515
import { GridStoreAdapter } from './Adapters/Files/GridStoreAdapter';
1616
import { S3Adapter } from './Adapters/Files/S3Adapter';

src/middlewares.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1+
import cache from './cache';
2+
13
var Parse = require('parse/node').Parse;
24

35
var auth = require('./Auth');
4-
var cache = require('./cache');
56
var Config = require('./Config');
67

78
// Checks that the request is authorized for this app and checks user

src/rest.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
// things.
99

1010
var Parse = require('parse/node').Parse;
11+
import cache from './cache';
1112

12-
var cache = require('./cache');
1313
var RestQuery = require('./RestQuery');
1414
var RestWrite = require('./RestWrite');
1515
var triggers = require('./triggers');

src/testing-routes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// testing-routes.js
2+
import cache from './cache';
23

34
var express = require('express'),
4-
cache = require('./cache'),
55
middlewares = require('./middlewares'),
66
cryptoUtils = require('./cryptoUtils');
77

src/triggers.js

Lines changed: 31 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,56 @@
11
// triggers.js
2-
var Parse = require('parse/node').Parse,
3-
cache = require('./cache');
2+
import Parse from 'parse/node';
3+
import cache from './cache';
44

5-
var Types = {
5+
export const Types = {
66
beforeSave: 'beforeSave',
77
afterSave: 'afterSave',
88
beforeDelete: 'beforeDelete',
99
afterDelete: 'afterDelete'
1010
};
1111

12-
var BaseStore = function() {
13-
this.Functions = {}
14-
this.Validators = {}
15-
this.Triggers = Object.keys(Types).reduce(function(base, key){
12+
const baseStore = function() {
13+
14+
let Validators = {};
15+
let Functions = {};
16+
let Triggers = Object.keys(Types).reduce(function(base, key){
1617
base[key] = {};
1718
return base;
1819
}, {});
20+
21+
return Object.freeze({
22+
Functions,
23+
Validators,
24+
Triggers
25+
});
1926
}
2027

21-
var _triggerStore = {};
28+
const _triggerStore = {};
2229

23-
function addFunction(functionName, handler, validationHandler, applicationId) {
30+
export function addFunction(functionName, handler, validationHandler, applicationId) {
2431
applicationId = applicationId || Parse.applicationId;
25-
_triggerStore[applicationId] = _triggerStore[applicationId] || new BaseStore();
32+
_triggerStore[applicationId] = _triggerStore[applicationId] || baseStore();
2633
_triggerStore[applicationId].Functions[functionName] = handler;
2734
_triggerStore[applicationId].Validators[functionName] = validationHandler;
2835
}
2936

30-
function addTrigger(type, className, handler, applicationId) {
37+
export function addTrigger(type, className, handler, applicationId) {
3138
applicationId = applicationId || Parse.applicationId;
32-
_triggerStore[applicationId] = _triggerStore[applicationId] || new BaseStore();
39+
_triggerStore[applicationId] = _triggerStore[applicationId] || baseStore();
3340
_triggerStore[applicationId].Triggers[type][className] = handler;
3441
}
3542

36-
function removeFunction(functionName, applicationId) {
43+
export function removeFunction(functionName, applicationId) {
3744
applicationId = applicationId || Parse.applicationId;
3845
delete _triggerStore[applicationId].Functions[functionName]
3946
}
4047

41-
function removeTrigger(type, className, applicationId) {
48+
export function removeTrigger(type, className, applicationId) {
4249
applicationId = applicationId || Parse.applicationId;
4350
delete _triggerStore[applicationId].Triggers[type][className]
4451
}
4552

46-
function _unregister(a,b,c,d) {
53+
export function _unregister(a,b,c,d) {
4754
if (d) {
4855
removeTrigger(c,d,a);
4956
delete _triggerStore[a][b][c][d];
@@ -53,7 +60,7 @@ function _unregister(a,b,c,d) {
5360
}
5461

5562

56-
var getTrigger = function(className, triggerType, applicationId) {
63+
export function getTrigger(className, triggerType, applicationId) {
5764
if (!applicationId) {
5865
throw "Missing ApplicationID";
5966
}
@@ -67,27 +74,27 @@ var getTrigger = function(className, triggerType, applicationId) {
6774
return undefined;
6875
};
6976

70-
function triggerExists(className: string, type: string): boolean {
71-
return (getTrigger(className, type) != undefined);
77+
export function triggerExists(className: string, type: string, applicationId: string): boolean {
78+
return (getTrigger(className, type, applicationId) != undefined);
7279
}
7380

74-
var getFunction = function(functionName, applicationId) {
81+
export function getFunction(functionName, applicationId) {
7582
var manager = _triggerStore[applicationId];
7683
if (manager && manager.Functions) {
7784
return manager.Functions[functionName];
7885
};
7986
return undefined;
8087
}
8188

82-
var getValidator = function(functionName, applicationId) {
89+
export function getValidator(functionName, applicationId) {
8390
var manager = _triggerStore[applicationId];
8491
if (manager && manager.Validators) {
8592
return manager.Validators[functionName];
8693
};
8794
return undefined;
8895
}
8996

90-
var getRequestObject = function(triggerType, auth, parseObject, originalParseObject) {
97+
export function getRequestObject(triggerType, auth, parseObject, originalParseObject) {
9198
var request = {
9299
triggerName: triggerType,
93100
object: parseObject,
@@ -116,7 +123,7 @@ var getRequestObject = function(triggerType, auth, parseObject, originalParseObj
116123
// The API will call this with REST API formatted objects, this will
117124
// transform them to Parse.Object instances expected by Cloud Code.
118125
// Any changes made to the object in a beforeSave will be included.
119-
var getResponseObject = function(request, resolve, reject) {
126+
export function getResponseObject(request, resolve, reject) {
120127
return {
121128
success: function(response) {
122129
// Use the JSON response
@@ -141,7 +148,7 @@ var getResponseObject = function(request, resolve, reject) {
141148
// Resolves to an object, empty or containing an object key. A beforeSave
142149
// trigger will set the object key to the rest format object to save.
143150
// originalParseObject is optional, we only need that for befote/afterSave functions
144-
var maybeRunTrigger = function(triggerType, auth, parseObject, originalParseObject, applicationId) {
151+
export function maybeRunTrigger(triggerType, auth, parseObject, originalParseObject, applicationId) {
145152
if (!parseObject) {
146153
return Promise.resolve({});
147154
}
@@ -160,38 +167,10 @@ var maybeRunTrigger = function(triggerType, auth, parseObject, originalParseObje
160167

161168
// Converts a REST-format object to a Parse.Object
162169
// data is either className or an object
163-
function inflate(data, restObject) {
170+
export function inflate(data, restObject) {
164171
var copy = typeof data == 'object' ? data : {className: data};
165172
for (var key in restObject) {
166173
copy[key] = restObject[key];
167174
}
168175
return Parse.Object.fromJSON(copy);
169176
}
170-
171-
<<<<<<< 5fae41183ed476976ff29a4c247aa78b00b83a9e
172-
module.exports = {
173-
getTrigger: getTrigger,
174-
getRequestObject: getRequestObject,
175-
inflate: inflate,
176-
maybeRunTrigger: maybeRunTrigger,
177-
triggerExists: triggerExists,
178-
Types: Types
179-
};
180-
=======
181-
var TriggerManager = {};
182-
183-
TriggerManager.getTrigger = getTrigger;
184-
TriggerManager.getRequestObject = getRequestObject;
185-
TriggerManager.inflate = inflate;
186-
TriggerManager.maybeRunTrigger = maybeRunTrigger;
187-
TriggerManager.Types = Types;
188-
TriggerManager.addFunction = addFunction;
189-
TriggerManager.getFunction = getFunction;
190-
TriggerManager.removeTrigger = removeTrigger;
191-
TriggerManager.removeFunction = removeFunction;
192-
TriggerManager.getValidator = getValidator;
193-
TriggerManager.addTrigger = addTrigger;
194-
TriggerManager._unregister = _unregister;
195-
196-
module.exports = TriggerManager;
197-
>>>>>>> Adds Hooks API

0 commit comments

Comments
 (0)