Upgrade lodash to v4 and lint more files (#8495)

* common: import lodash modules separately

* remove test/content from .eslintignore, fix with eslint --fix content/index

* lint test/content

* lint content/index except for lodash methods

* upgrade server/models

* upgrade server/middlewares and server/libs

* port server/controllers/top-level

* port server/controllers/api-v3

* port views and tests

* client old port lodash and _(, missing _.

* upgrade client-old

* port common/script (root level files only)

* port common/script/fns

* port common/libs

* port common/script/ops

* port common/script/content and common/script/libs/shops.js

* misc fixes

* misc fixes

* misc fixes

* more tests fixes

* fix payments test stubbing, down to 2 failing tests

* remove more instances of lodash wrapping

* fix bug where toObject does not clone object

* fix tests

* upgrade migration or add lodash 4 note

* update shrinkwrap

* fix linting

* upgrade eslint-config-habitrpg

* update shrinkwrap

* recompile shrinkwrap
This commit is contained in:
Matteo Pagliazzi
2017-03-01 17:10:48 +01:00
committed by GitHub
parent ef02e59590
commit 98c019a0b6
150 changed files with 4996 additions and 1533 deletions

View File

@@ -1,6 +1,5 @@
import { v4 as uuid } from 'uuid';
import validator from 'validator';
import objectPath from 'object-path'; // TODO use lodash's unset once v4 is out
import _ from 'lodash';
module.exports = function baseModel (schema, options = {}) {
@@ -45,7 +44,7 @@ module.exports = function baseModel (schema, options = {}) {
// This method accepts an additional array of fields to be sanitized that can be passed at runtime
schema.statics.sanitize = function sanitize (objToSanitize = {}, additionalFields = []) {
noSetFields.concat(additionalFields).forEach((fieldPath) => {
objectPath.del(objToSanitize, fieldPath);
_.unset(objToSanitize, fieldPath);
});
// Allow a sanitize transform function to be used
@@ -57,7 +56,7 @@ module.exports = function baseModel (schema, options = {}) {
if (!schema.options.toJSON) schema.options.toJSON = {};
schema.options.toJSON.transform = function transformToObject (doc, plainObj) {
privateFields.forEach((fieldPath) => {
objectPath.del(plainObj, fieldPath);
_.unset(plainObj, fieldPath);
});
// Always return `id`