module.exports = function(data, options) { var type = pluralize(options.resource || options.model.collection.name); var keys = options.attributes || Object.keys(options.model.schema.paths); var attributes = _.reject(keys, function(key) { return key.indexOf('_') === 0; }); if (options.translateId) { attributes.push('originalId'); } var schema = { attributes: attributes, typeForAttribute: function (attribute) { var attributeOptions = _.get(options.model.schema.paths, attribute + '.options'); var referenceType = _.get(attributeOptions, 'ref') || _.get(attributeOptions, 'type.0.ref'); if (referenceType) { return _.lowerCase(pluralize(referenceType)); } if (options.selfReferences && options.selfReferences[attribute]) { return options.selfReferences[attribute]; } return attribute; }, }; attributes.forEach(function(attribute) { var attributeOptions = _.get(options.model.schema.paths, attribute + '.options'); if (_.get(attributeOptions, 'ref') || _.get(attributeOptions, 'type.0.ref')) { schema[attribute] = { ref: true, }; } }); // add self-reference relationships i.e. the relationship's id is the same as the object id if (options.selfReferences) { Object.keys(options.selfReferences).forEach(function(key) { schema.attributes.push(key); if (Array.isArray(data)) { data.forEach(item => _.assign(item, { [key]: '****' })); } else { _.assign(data, { [key]: '****' }); } schema[key] = { ref: function(object) { return object._id; }, }; }); } var serializer = new JSONAPISerializer(type, schema); return serializer.serialize(data); };
function format(data) { var JSONAPISerializer = require('jsonapi-serializer').Serializer; var UserSerializer = new JSONAPISerializer('users', { attributes: ['id', 'email', 'password', 'usergrade', 'status', 'userprofile'] }); return UserSerializer.serialize(data); }
function format(data) { var JSONAPISerializer = require('jsonapi-serializer').Serializer; var TodoItemSerializer = new JSONAPISerializer('todoItems', { attributes: ['id', 'userid', 'title', 'checked', 'star', 'timestamp', 'recordstatus', 'enddate', 'startdate', 'ispublish', 'ischildorparent', 'childtodos', 'parenttodo', 'remark', 'user', 'category'] }); return TodoItemSerializer.serialize(data); }
static serialize(data, options = {}) { let serializer = new Serializer( JSON_API_TYPE, _.mergeWith( SERIALIZER_DEFAULT_OPTIONS, options, (objValue, srcValue) => { if (_.isArray(objValue)) { return srcValue; } } ) ); return serializer.serialize(data); }
static serialize(data, attributes) { if (attributes) { storySerializer.opts.attributes = attributes.split(','); } else { storySerializer.opts.attributes = ALL_ATTRIBUTES; } return storySerializer.serialize(data); }
static serializeLatest(data) { return prodesLatestSerializer.serialize(data); }
static serialize(data) { return prodesLossSerializer.serialize(data); }
static serializeLatest(data) { return gladLatestSerializer.serialize(data); }
static serialize(data) { return gladAlertsSerializer.serialize(data); }
static serialize(data) { return elasticSerializer.serialize(data); }
static serialize(data) { return coverageSerializer.serialize(data); }
static serialize(data) { return umdIflSerializer.serialize(data); }
static serialize(data) { return geoJSONSerializer.serialize(data); }
serialize (payload, includeModelNames) { const serializer = new JSONAPISerializer(this._type, this.optsGenerator(includeModelNames, 'serialize')) return serializer.serialize(payload) }
static serialize(data) { return geoStoreSerializer.serialize(data); }
.then(audio => { res.json(JSONAPI.serialize(audio)); })
static serialize(data) { return urthecastSerializer.serialize(data); }