Track database versioning & include in Node version data
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2020-11-02 15:53:39 -06:00
parent 3bef5f3423
commit 9398c827ed
3 changed files with 30 additions and 8 deletions

View File

@@ -37,7 +37,7 @@ class FormDatabase extends Controller {
}
}
await db.save()
await db.version_save(`Added to page "${page.Name}"`, req.user.id)
req.user.allow(`database:${db.UUID}`);
await req.user.save()
@@ -124,8 +124,13 @@ class FormDatabase extends Controller {
if ( !db ) return res.status(404).message('Database not found with that ID.').api({})
// if ( !db.accessible_by(req.user, 'update') ) return req.security.deny()
db.Name = req.body.Name
await db.save()
if ( req.body.Name !== db.Name ) {
db.Name = req.body.Name
await db.version_save(`Changed database name to "${req.body.Name}"`, req.user.id)
} else {
await db.save()
}
return res.api(db)
}
@@ -187,8 +192,14 @@ class FormDatabase extends Controller {
}
}
db.ColumnIds = update_columns.map(x => x.UUID)
await db.save()
const new_cols = update_columns.map(x => x.UUID)
const no_updates = (new_cols.length === db.ColumnIds.length) && (new_cols.every(val => db.ColumnIds.includes(val)));
if ( !no_updates ) {
db.ColumnIds = new_cols
await db.version_save('Updated columns', req.user.id)
} else {
await db.save()
}
return res.api(update_columns)
}
@@ -248,6 +259,7 @@ class FormDatabase extends Controller {
new_recs.push(dbe)
}
await db.version_save('Updated data', req.user.id)
return res.api(await this._set_indices(db, new_recs))
}
@@ -269,6 +281,7 @@ class FormDatabase extends Controller {
// if ( !db.accessible_by(req.user) ) return req.security.deny()
await DBEntry.deleteMany({DatabaseId: db.UUID})
await db.version_save('Deleted', req.user.id)
await db.delete()
return res.api({})
}