New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

klark-js-plugins

Package Overview
Dependencies
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

klark-js-plugins - npm Package Compare versions

Comparing version 1.0.6 to 1.0.7

0

.vscode/launch.json

@@ -0,0 +0,0 @@ {

2

package.json
{
"name": "klark-js-plugins",
"version": "1.0.6",
"version": "1.0.7",
"description": "Plugin modules for KlarkJS",

@@ -5,0 +5,0 @@ "main": "index.js",

'use strict';
KlarkModule(module, 'krkDbMongooseBinders', function(_, $mongoose, krkLogger, krkModelsApp) {
KlarkModule(module, 'krkDbMongooseBinders', function(_, $mongoose, krkLogger) {

@@ -11,18 +11,6 @@ return {

count: count,
remove: remove,
getAppInfo: getAppInfo,
updateAppInfo: updateAppInfo
remove: remove
};
function getAppInfo() {
return find(krkModelsApp).then(_.first);
}
function updateAppInfo(data) {
return getAppInfo()
.then(function(appInfo) {
return findByIdAndUpdate(krkModelsApp, appInfo._id, data);
});
}

@@ -29,0 +17,0 @@ function create(model, record) {

@@ -14,6 +14,6 @@ 'use strict';

return {
add,
commit,
isEmpty,
isUnauthorized
add: add,
commit: commit,
isEmpty: isEmpty,
isUnauthorized: isUnauthorized
};

@@ -20,0 +20,0 @@

@@ -6,6 +6,15 @@ 'use strict';

return {
admin: admin
admin: admin,
simple: simple
};
function admin(userCred) {
function simple(userOpts) {
return createUser('USER', userOpts);
}
function admin(userOpts) {
return createUser('ADMIN', userOpts);
}
function createUser(role, userCred) {
if (!(userCred.name && userCred.email && userCred.password)) {

@@ -18,3 +27,3 @@ throw new Error('Invalid arguments');

password: userCred.password,
role: 'ADMIN',
role,
preferences: {},

@@ -21,0 +30,0 @@ validationToken: 'mockValidationToken',

@@ -14,3 +14,3 @@ 'use strict';

res.locals.errors = krkErrors.build();
res.locals.errors = krkErrors.build(config.errors);
res.locals.data = undefined;

@@ -17,0 +17,0 @@ res.locals.params = {};

@@ -8,3 +8,4 @@ 'use strict';

krkLogger,
krkMiddlewarePermissionsRoles
krkMiddlewarePermissionsRoles,
krkParameterValidator
) {

@@ -21,3 +22,6 @@

function check(permission) {
function check(permission, _permOpts) {
const permOpts = _.defaultsDeep(_permOpts, {
onlyOwner: false
});
if (_.indexOf(krkMiddlewarePermissionsRoles, permission) === -1) {

@@ -34,7 +38,7 @@ krkLogger.error(`unsupported permission (${permission})`);

return function(req, res, next) {
var options = {
var authOptions = {
session: false,
failWithError: true
};
$passport.authenticate('jwt', options)(req, res, onPassportAuthenticationFinished);
$passport.authenticate('jwt', authOptions)(req, res, onPassportAuthenticationFinished);

@@ -57,8 +61,14 @@ function onPassportAuthenticationFinished(error) {

if (!(user
&& ((permission === 'USER' && (user.role === 'USER' || user.role === 'ADMIN'))
|| permission === 'ADMIN' && (user.role === 'ADMIN')))) {
if (!((permission === 'USER' && (user.role === 'USER' || user.role === 'ADMIN'))
|| permission === 'ADMIN' && (user.role === 'ADMIN'))) {
return unauthorized();
}
if (permOpts.onlyOwner) {
const tarketUserIs = krkParameterValidator.validations.paramId(req);
if(user.role === 'USER' && user._id !== tarketUserIs) {
return unauthorized();
}
}
res.locals.user = decodedToken.user;

@@ -65,0 +75,0 @@ res.locals.session = decodedToken.session

@@ -17,3 +17,3 @@ 'use strict';

name: {type: String, maxlength: [64], unique: true, required: true},
email: {type: $mongoose.SchemaTypes.Email, required: true, unique: true},
email: {type: $mongoose.SchemaTypes.Email, unique: true, required: true},
password: {type: String, required: true},

@@ -26,3 +26,4 @@ phone: {type: String, maxlength: [32]},

role: {type: String, enum: krkMiddlewarePermissionsRoles, required: true},
validatedByAdmin: {type: Boolean, required: true}
validatedByAdmin: {type: Boolean, required: true},
preferences: {type: $mongoose.Schema.Types.Mixed}
});

@@ -75,2 +76,2 @@

});
});

@@ -8,3 +8,2 @@ 'use strict';

krkLogger,
krkDbMongooseBinders,
krkRoutersAuthorizeVerifyAccountEmailTmpl,

@@ -23,8 +22,16 @@ krkNotificationsEmail,

function register(app, config) {
if (!(app && config && config.apiUrlPrefix && config.appUrl
&& config.EMAIL_SMTP && config.EMAIL_NAME && config.EMAIL_ADDRESS
&& config.name && config.apiUrl)) {
if (!(app
&& config
&& config.apiUrlPrefix
&& config.appUrl
&& config.apiUrl
&& config.EMAIL_SMTP
&& config.EMAIL_NAME
&& config.EMAIL_ADDRESS
&& config.name)) {
throw new Error('Invalid arguments');
}
config.adminValidationOnSignup = config.adminValidationOnSignup || true;
app.post('/' + config.apiUrlPrefix + '/authorize/signup', [

@@ -44,8 +51,10 @@ krkMiddlewarePermissions.check('FREE'),

app.post('/' + config.apiUrlPrefix + '/authorize/verifyByAdmin/:id', [
krkMiddlewarePermissions.check('ADMIN'),
middlewareVerifyByAdminParameterValidator,
middlewareVerifyByAdminController,
krkMiddlewareResponse.success
]);
if (config.adminValidationOnSignup) {
app.post('/' + config.apiUrlPrefix + '/authorize/verifyByAdmin/:id', [
krkMiddlewarePermissions.check('ADMIN'),
middlewareVerifyByAdminParameterValidator,
middlewareVerifyByAdminController,
krkMiddlewareResponse.success
]);
}

@@ -125,3 +134,3 @@ var verifyAccountRoute = '/' + config.apiUrlPrefix + '/authorize/verifyAccount';

phone: res.locals.params.phone,
validatedByAdmin: false,
validatedByAdmin: config.adminValidationOnSignup,
role: 'USER',

@@ -154,3 +163,3 @@ preferences: {}

.then(function(newUser) {
return krkDbMongooseBinders.create(krkModelsUser, newUser);
return newUser.save();
})

@@ -182,2 +191,3 @@ .catch(function(reason) {

res.locals.data = krkMiddlewarePermissions.createJWT(user);
next();

@@ -184,0 +194,0 @@ })

@@ -17,12 +17,12 @@ 'use strict';

]);
}
function serverInfoRouter(req, res, next) {
var info = {
'currentVersion': config.apiVersion
};
res.locals.data = info;
function serverInfoRouter(req, res, next) {
var info = {
'currentVersion': config.apiVersion
};
res.locals.data = info;
next();
next();
}
}
});

@@ -10,2 +10,3 @@ 'use strict';

krkParameterValidator,
krkCrudGenerator,
krkNotificationsEmail,

@@ -26,19 +27,11 @@ krkMiddlewareParameterValidator,

}
app.get('/' + config.apiUrlPrefix + '/user', [
krkMiddlewarePermissions.check('ADMIN'),
krkMiddlewareParameterValidator.crud.retrieveAll(krkModelsUser),
krkMiddlewareCrudController.retrieveAll(krkModelsUser),
middlewareRetrieveAllSafetyController,
krkMiddlewareResponse.success
]);
app.delete('/' + config.apiUrlPrefix + '/user/:id', [
krkMiddlewarePermissions.check('ADMIN'),
krkMiddlewareParameterValidator.crud.delete(),
krkMiddlewareCrudController.delete(),
krkMiddlewareResponse.success
]);
const crudOpts = {
model: krkModelsUser,
apiUrlPrefix: config.apiUrlPrefix
};
krkCrudGenerator.create(app, crudOpts);
app.patch('/' + config.apiUrlPrefix + '/user/:id', [
krkMiddlewarePermissions.check('USER'),
krkMiddlewarePermissions.check('USER', {onlyOwner: true}),
middlewareUpdateParameterValidator,

@@ -45,0 +38,0 @@ middlewareUpdateController,

@@ -0,0 +0,0 @@ # klark plugins

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc