blob: 84c838d2180c6400228d5ee54b16bfd63d5fa175 [file] [log] [blame]
'use strict'
var helpers = require('../helpers'),
ok = require('objectkit'),
_ = require('underscore')
var UsergridEntity = function(obj) {
var self = this
if (!obj) {
throw new Error('A UsergridEntity object was initialized using an empty argument')
}
_.extend(self, obj)
if (typeof self.type !== 'string') {
throw new Error('"type" (or "collection") parameter is required when initializing a UsergridEntity object')
}
Object.defineProperty(self, 'isUser', {
get: function() {
return (self.type.toLowerCase() === 'user')
}
})
Object.defineProperty(self, 'hasAsset', {
get: function() {
return ok(self).has(['file', 'file-metadata'])
}
})
helpers.setReadOnly(self, ['uuid', 'name', 'type', 'created', 'modified', 'file', 'file-metadata'])
return self
}
module.exports = UsergridEntity