Skip to content

Commit a54e2c6

Browse files
committed
feat: Made the suggested changes
1 parent c3e9106 commit a54e2c6

File tree

4 files changed

+18
-35
lines changed

4 files changed

+18
-35
lines changed

spec/ParseUser.spec.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4431,30 +4431,30 @@ describe('allowClientClassCreation option', () => {
44314431
});
44324432

44334433
it('should respect custom log level for username already exists error', async () => {
4434-
const loggerController = {
4435-
error: jasmine.createSpy('error'),
4436-
warn: jasmine.createSpy('warn'),
4437-
info: jasmine.createSpy('info')
4438-
};
4434+
const logger = require('../lib/logger').logger;
4435+
const logSpy = spyOn(logger, 'warn').and.callThrough();
4436+
44394437
await reconfigureServer({
44404438
logEvents: {
4441-
usernameAlreadyExists: 'warn'
4439+
usernameAlreadyExists: 'warn',
44424440
},
4443-
loggerController
44444441
});
4442+
44454443
const user = new Parse.User();
44464444
user.setUsername('existingUser');
44474445
user.setPassword('password');
44484446
await user.signUp();
4447+
44494448
const duplicateUser = new Parse.User();
44504449
duplicateUser.setUsername('existingUser');
44514450
duplicateUser.setPassword('password');
4451+
44524452
try {
44534453
await duplicateUser.signUp();
44544454
} catch (error) {
44554455
expect(error.code).toBe(Parse.Error.USERNAME_TAKEN);
4456-
expect(loggerController.warn).toHaveBeenCalled();
4457-
expect(loggerController.error).not.toHaveBeenCalled();
4456+
expect(logSpy).toHaveBeenCalled();
4457+
expect(logger.error).not.toHaveBeenCalled();
44584458
}
44594459
});
44604460
});

src/Options/docs.js

Lines changed: 1 addition & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Options/index.js

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,6 @@ export interface ParseServerOptions {
8989
logLevel: ?string;
9090
/* Options for customizing log levels for specific events
9191
:DEFAULT: {} */
92-
logEvents: ?LogEventsOptions;
93-
/* (Optional) Overrides the log levels used internally by Parse Server to log events.
94-
:DEFAULT: {} */
9592
logLevels: ?LogLevels;
9693
/* Maximum number of logs to keep. If not set, no logs will be removed. This can be a number of files or number of days. If using days, add 'd' as the suffix. (default: null) */
9794
maxLogFiles: ?NumberOrString;
@@ -638,12 +635,10 @@ export interface LogLevels {
638635
:DEFAULT: error
639636
*/
640637
cloudFunctionError: ?string;
641-
}
642-
643-
export interface LogEventsOptions {
644638
/* Log level for the "username already exists" error when trying to sign up.
645-
Possible values: 'info', 'error', 'verbose', or false to disable logging.
646-
If not specified, the default behavior (logging as an error) will be used.
647-
:DEFAULT: undefined */
648-
usernameAlreadyExists: ?string | boolean;
639+
Possible values: 'info', 'error', 'verbose', or false to disable logging.
640+
If not specified, the default behavior (logging as an error) will be used.
641+
:DEFAULT: undefined
642+
*/
643+
usernameAlreadyExists: 'silent' | 'error' | 'info' | 'verbose';
649644
}

src/RestWrite.js

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1563,16 +1563,9 @@ RestWrite.prototype.runDatabaseOperation = function () {
15631563
'Account already exists for this username.'
15641564
);
15651565

1566-
// Check for custom log level
1567-
const logLevel = this.config.logEvents && this.config.logEvents.usernameAlreadyExists;
1568-
if (logLevel) {
1569-
// Use custom log level
1570-
this.config.loggerController[logLevel](JSON.stringify(usernameError));
1571-
} else if (logLevel !== false) {
1572-
// Use default error logging if not explicitly disabled
1573-
this.config.loggerController.error(JSON.stringify(usernameError));
1574-
}
1575-
throw usernameError;
1566+
return this.config.loggerController[this.config.logLevels.usernameAlreadyExists](
1567+
JSON.stringify(usernameError)
1568+
);
15761569
}
15771570

15781571
if (error && error.userInfo && error.userInfo.duplicated_field === 'email') {

0 commit comments

Comments
 (0)