CartoDB/cartodb20

View on GitHub
lib/assets/javascripts/dashboard/data/asset-model.js

Summary

Maintainability
A
50 mins
Test Coverage
const Backbone = require('backbone');
const checkAndBuildOpts = require('builder/helpers/required-opts');

/**
 *  Model that let user upload files
 *  to our endpoints
 */

require('backbone-model-file-upload');

const REQUIRED_OPTS = [
  'configModel',
  'userId'
];

module.exports = Backbone.Model.extend({
  url: function (method) {
    var version = this._configModel.urlVersion('asset', method);
    return `/api/${version}/users/${this._userId}/assets`;
  },

  fileAttribute: 'filename',

  initialize: function (attributes, options) {
    checkAndBuildOpts(options, REQUIRED_OPTS, this);
  }
});