createNewDatabase()

in app/addons/databases/actions.js [136:174]


  createNewDatabase(databaseName, partitioned) {
    if (_.isNull(databaseName) || databaseName.trim().length === 0) {
      FauxtonAPI.addNotification({
        msg: 'Please enter a valid database name',
        type: 'error',
        clear: true
      });
      return;
    }
    databaseName = databaseName.trim();
    // name accepted, make sure prompt can be removed
    FauxtonAPI.dispatch({
      type: ActionTypes.DATABASES_SET_PROMPT_VISIBLE,
      options: {
        visible: false
      }
    });

    const db = Stores.databasesStore.obtainNewDatabaseModel(databaseName, partitioned);
    FauxtonAPI.addNotification({ msg: 'Creating database.' });
    db.save().done(() => {
      FauxtonAPI.addNotification({
        msg: 'Database created successfully',
        type: 'success',
        clear: true
      });
      const route = FauxtonAPI.urls('allDocs', 'app', app.utils.safeURLName(databaseName));
      app.router.navigate(route, { trigger: true });
    }
    ).fail((xhr) => {
      const responseText = JSON.parse(xhr.responseText).reason;
      FauxtonAPI.addNotification({
        msg: 'Create database failed: ' + responseText,
        type: 'error',
        clear: true
      });
    }
    );
  },