Track database versioning & include in Node version data
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -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({})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user