File: addon/models/contributor.js
- import Ember from 'ember';
- import DS from 'ember-data';
-
- import OsfModel from './osf-model';
-
- /**
- * @module ember-osf
- * @submodule models
- */
-
- /**
- * Model for OSF APIv2 contributors. Primarily accessed via relationship fields.
- * For field and usage information, see:
- * * https://api.osf.io/v2/docs/#!/v2/Node_Contributors_List_GET
- * @class Contributor
- */
- export default OsfModel.extend({
- bibliographic: DS.attr('boolean'),
- permission: DS.attr('fixstring'),
-
- _userId: null,
- userId: Ember.computed('_userId', {
- get: function() {
- if (this.get('isNew')) {
- return this.get('_userId');
- } else {
- return this.get('id').split('-').pop();
- }
- },
- set: function(_, userId) {
- this.set('_userId', userId);
- }
- }).volatile(),
- _nodeId: null,
- nodeId: Ember.computed('_nodeId', {
- get: function() {
- if (this.get('isNew')) {
- return this.get('_nodeId');
- } else {
- return this.get('id').split('-').shift();
- }
- },
- set: function(_, nodeId) {
- this.set('_nodeId', nodeId);
- }
- }).volatile(),
-
- users: DS.belongsTo('user'),
- unregisteredContributor: DS.attr('fixstring'),
- index: DS.attr('number'),
- fullName: DS.attr('fixstring'),
- email: DS.attr('fixstring'),
- sendEmail: DS.attr('boolean'),
-
- node: DS.belongsTo('node', {
- inverse: 'contributors'
- }),
- preprint: DS.belongsTo('preprint', {
- inverse: 'contributors'
- })
- });
-
-