Edit collection (#173)

* Collection edit modal

* Add icon

* 💚

* Oh look, some specs

* Delete collection

* Remove from collection

* Handle error responses
Protect against deleting last collection

* Fix key

* 💚

* Keyboard navigate documents list

* Add missing database constraints
This commit is contained in:
Tom Moor
2017-08-29 08:37:17 -07:00
committed by GitHub
parent e0b1c259e8
commit 8558b92cae
22 changed files with 515 additions and 53 deletions

View File

@@ -0,0 +1,56 @@
module.exports = {
up: async function(queryInterface, Sequelize) {
await queryInterface.changeColumn('documents', 'atlasId', {
type: Sequelize.UUID,
allowNull: true,
onDelete: 'cascade',
references: {
model: 'collections',
},
});
await queryInterface.changeColumn('documents', 'userId', {
type: Sequelize.UUID,
allowNull: true,
references: {
model: 'users',
},
});
await queryInterface.changeColumn('documents', 'parentDocumentId', {
type: Sequelize.UUID,
allowNull: true,
references: {
model: 'documents',
},
});
await queryInterface.changeColumn('documents', 'teamId', {
type: Sequelize.UUID,
allowNull: true,
onDelete: 'cascade',
references: {
model: 'teams',
},
});
},
down: async function(queryInterface, Sequelize) {
await queryInterface.sequelize.query(
'ALTER TABLE documents DROP CONSTRAINT "atlasId_foreign_idx";'
);
await queryInterface.removeIndex('documents', 'atlasId_foreign_idx');
await queryInterface.sequelize.query(
'ALTER TABLE documents DROP CONSTRAINT "userId_foreign_idx";'
);
await queryInterface.removeIndex('documents', 'userId_foreign_idx');
await queryInterface.sequelize.query(
'ALTER TABLE documents DROP CONSTRAINT "parentDocumentId_foreign_idx";'
);
await queryInterface.removeIndex(
'documents',
'parentDocumentId_foreign_idx'
);
await queryInterface.sequelize.query(
'ALTER TABLE documents DROP CONSTRAINT "teamId_foreign_idx";'
);
await queryInterface.removeIndex('documents', 'teamId_foreign_idx');
},
};