Skip to content

Instantly share code, notes, and snippets.

@colwem
Last active March 28, 2016 17:36
Show Gist options
  • Select an option

  • Save colwem/1e798d3b542d61bfade8 to your computer and use it in GitHub Desktop.

Select an option

Save colwem/1e798d3b542d61bfade8 to your computer and use it in GitHub Desktop.
create: function(context, newUser) {
// Initialize all the fields.
const d = new Date().getTime();
const userToClient = _.assign({
createdTime: d
}, defaults, newUser);
// Verify that the current user is an admin
isAdminPromise = userService.currentUser(context).then((currentUser) => {
if (get(environment, 'config.clients.user.adminToCreate', true)) {
if (!userService.isAdmin(currentUser)) {
logger.debug('User create failed - Not Admin.');
throw new Error(userErrorCodes.FORBIDDEN);
}
}
}).then(() => {
// Next, verify that the new user ID does not already exist.
return userService.get(context, newUser.id).then(() => {
logger.debug('User create failed - Id Exists.');
throw new Error(userErrorCodes.ID_EXISTS);
}).catch((err) => {
logger.debug('Into method');
// Create the user
return userClient.create(context.siteId, userToClient)
}).then((user) => {
logger.debug('resolving user');
return user;
}).catch((err) => {
logger.debug(`User create failed2 - Error: ${err}`);
throw new Error(err);
});
}).catch((err) => {
logger.debug(`User create failed - Error: ${err}`);
throw new Error(userErrorCodes.FORBIDDEN);
});
},
create: function(context, newUser) {
// Initialize all the fields.
const d = new Date().getTime();
const userToClient = _.assign({
createdTime: d
}, defaults, newUser);
// Verify that the current user is an admin
return userService.currentUser(context).then((currentUser) => {
if (get(environment, 'config.clients.user.adminToCreate', true)) {
if (!userService.isAdmin(currentUser)) {
logger.debug('User create failed - Not Admin.');
throw new Error(userErrorCodes.FORBIDDEN);
}
}
// Next, verify that the new user ID does not already exist.
return userService.get(context, newUser.id).then(() => {
logger.debug('User create failed - Id Exists.');
throw new Error(userErrorCodes.ID_EXISTS);
}).catch((err) => {
logger.debug('Into method');
// Create the user
return userClient.create(context.siteId, userToClient).then((user) => {
logger.debug('resolving user');
return user;
}).catch((err) => {
logger.debug(`User create failed2 - Error: ${err}`);
throw new Error(err);
});
});
}).catch((err) => {
logger.debug(`User create failed - Error: ${err}`);
throw new Error(userErrorCodes.FORBIDDEN);
});
},
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment