17
17
var Parse = require ( 'parse/node' ) . Parse ;
18
18
var transform = require ( './transform' ) ;
19
19
20
- var defaultColumns = {
20
+ const defaultColumns = Object . freeze ( {
21
21
// Contain the default columns for every parse object type (except _Join collection)
22
22
_Default : {
23
23
"objectId" : { type :'String' } ,
@@ -84,14 +84,14 @@ var defaultColumns = {
84
84
"sentPerType" : { type :'Object' } ,
85
85
"failedPerType" :{ type :'Object' } ,
86
86
}
87
- } ;
87
+ } ) ;
88
88
89
- var requiredColumns = {
89
+ const requiredColumns = Object . freeze ( {
90
90
_Product : [ "productIdentifier" , "icon" , "order" , "title" , "subtitle" ] ,
91
91
_Role : [ "name" , "ACL" ]
92
- }
92
+ } ) ;
93
93
94
- const systemClasses = [ '_User' , '_Installation' , '_Role' , '_Session' , '_Product' ] ;
94
+ const systemClasses = Object . freeze ( [ '_User' , '_Installation' , '_Role' , '_Session' , '_Product' ] ) ;
95
95
96
96
// 10 alpha numberic chars + uppercase
97
97
const userIdRegex = / ^ [ a - z A - Z 0 - 9 ] { 10 } $ / ;
@@ -100,7 +100,7 @@ const roleRegex = /^role:.*/;
100
100
// * permission
101
101
const publicRegex = / ^ \* $ /
102
102
103
- const permissionKeyRegex = [ userIdRegex , roleRegex , publicRegex ] ;
103
+ const permissionKeyRegex = Object . freeze ( [ userIdRegex , roleRegex , publicRegex ] ) ;
104
104
105
105
function verifyPermissionKey ( key ) {
106
106
let result = permissionKeyRegex . reduce ( ( isGood , regEx ) => {
@@ -112,13 +112,15 @@ function verifyPermissionKey(key) {
112
112
}
113
113
}
114
114
115
- let CLPValidKeys = [ 'find' , 'get' , 'create' , 'update' , 'delete' , 'addField' ] ;
116
- let DefaultClassLevelPermissions = CLPValidKeys . reduce ( ( perms , key ) => {
115
+ const CLPValidKeys = Object . freeze ( [ 'find' , 'get' , 'create' , 'update' , 'delete' , 'addField' ] ) ;
116
+ let DefaultClassLevelPermissions = ( ) => {
117
+ return CLPValidKeys . reduce ( ( perms , key ) => {
117
118
perms [ key ] = {
118
119
'*' : true
119
120
} ;
120
121
return perms ;
121
122
} , { } ) ;
123
+ }
122
124
123
125
function validateCLP ( perms ) {
124
126
if ( ! perms ) {
@@ -899,21 +901,21 @@ function mongoSchemaToSchemaAPIResponse(schema) {
899
901
fields : mongoSchemaAPIResponseFields ( schema ) ,
900
902
} ;
901
903
902
- let classLevelPermissions = DefaultClassLevelPermissions ;
904
+ let classLevelPermissions = DefaultClassLevelPermissions ( ) ;
903
905
if ( schema . _metadata && schema . _metadata . class_permissions ) {
904
- classLevelPermissions = Object . assign ( classLevelPermissions , schema . _metadata . class_permissions ) ;
906
+ classLevelPermissions = Object . assign ( { } , classLevelPermissions , schema . _metadata . class_permissions ) ;
905
907
}
906
908
result . classLevelPermissions = classLevelPermissions ;
907
909
return result ;
908
910
}
909
911
910
- module . exports = {
911
- load : load ,
912
- classNameIsValid : classNameIsValid ,
913
- invalidClassNameMessage : invalidClassNameMessage ,
914
- schemaAPITypeToMongoFieldType : schemaAPITypeToMongoFieldType ,
915
- buildMergedSchemaObject : buildMergedSchemaObject ,
916
- mongoFieldTypeToSchemaAPIType : mongoFieldTypeToSchemaAPIType ,
912
+ export {
913
+ load ,
914
+ classNameIsValid ,
915
+ invalidClassNameMessage ,
916
+ schemaAPITypeToMongoFieldType ,
917
+ buildMergedSchemaObject ,
918
+ mongoFieldTypeToSchemaAPIType ,
917
919
mongoSchemaToSchemaAPIResponse ,
918
920
systemClasses ,
919
921
} ;
0 commit comments