Home Reference Source Repository

js/Models/Project.js

import BaseModel from './BaseModel';

/**
 * Project model.
 */
export default class Project extends BaseModel
{
///////////////////////////////////////////////////////////////////////////////////////
// PUBLIC METHODS
///////////////////////////////////////////////////////////////////////////////////////
    /**
     * Override of Backbone.Model.parse. This sets the 'workflow_count' if not provided by the server.
     *
     * @param {object} response JSON response from server
     * @return {object} response object
     * @todo why is it not being provided by the server?
     */
    parse(response)
    {
        response = super.parse(response);
        if (!response.hasOwnProperty('workflow_count'))
        {
            response.workflow_count = response.workflows.length;
        }
        return response;
    }

    /**
     * Return defaults.
     *
     * @return {object} default properties
     */
    defaults()
    {
        return {creator: {username: null},
                created: null,
                updated: null,
                workflow_count: null,
                resource_count: null,
                name: 'untitled'};
    }
}
Project.prototype.routeName = 'projects';