@@ -909,9 +909,12 @@ DatabaseController.prototype.addPointerPermissions = function(schema, className,
909
909
// have a Parse app without it having a _User collection.
910
910
DatabaseController . prototype . performInitialization = function ( ) {
911
911
const requiredUserFields = { fields : { ...SchemaController . defaultColumns . _Default , ...SchemaController . defaultColumns . _User } } ;
912
+ const requiredRoleFields = { fields : { ...SchemaController . defaultColumns . _Default , ...SchemaController . defaultColumns . _Role } } ;
912
913
913
914
const userClassPromise = this . loadSchema ( )
914
915
. then ( schema => schema . enforceClassExists ( '_User' ) )
916
+ const roleClassPromise = this . loadSchema ( )
917
+ . then ( schema => schema . enforceClassExists ( '_Role' ) )
915
918
916
919
const usernameUniqueness = userClassPromise
917
920
. then ( ( ) => this . adapter . ensureUniqueness ( '_User' , requiredUserFields , [ 'username' ] ) )
@@ -927,9 +930,16 @@ DatabaseController.prototype.performInitialization = function() {
927
930
return Promise . reject ( error ) ;
928
931
} ) ;
929
932
933
+ const roleUniqueness = roleClassPromise
934
+ . then ( ( ) => this . adapter . ensureUniqueness ( '_Role' , requiredRoleFields , [ 'name' ] ) )
935
+ . catch ( error => {
936
+ logger . warn ( 'Unable to ensure uniqueness for role name: ' , error ) ;
937
+ return Promise . reject ( error ) ;
938
+ } ) ;
939
+
930
940
// Create tables for volatile classes
931
941
const adapterInit = this . adapter . performInitialization ( { VolatileClassesSchemas : SchemaController . VolatileClassesSchemas } ) ;
932
- return Promise . all ( [ usernameUniqueness , emailUniqueness , adapterInit ] ) ;
942
+ return Promise . all ( [ usernameUniqueness , emailUniqueness , roleUniqueness , adapterInit ] ) ;
933
943
}
934
944
935
945
function joinTableName ( className , key ) {
0 commit comments