mirror of
https://gitlab.computer.surgery/matrix/grapevine.git
synced 2025-12-17 15:51:23 +01:00
factor server_name change check into a reusable fn
This commit is contained in:
parent
c2c6083277
commit
1fd20cdeba
3 changed files with 42 additions and 9 deletions
|
|
@ -84,15 +84,7 @@ pub(crate) async fn run(args: ServeArgs) -> Result<(), error::ServeCommand> {
|
|||
.map_err(Error::InitializeServices)?,
|
||||
)));
|
||||
|
||||
// Matrix resource ownership is based on the server name; changing it
|
||||
// requires recreating the database from scratch. This check needs to be
|
||||
// done before background tasks are started to avoid data races.
|
||||
if services().users.count().map(|x| x > 0).map_err(Error::NonZeroUsers)? {
|
||||
let admin_bot = services().globals.admin_bot_user_id.as_ref();
|
||||
if !services().users.exists(admin_bot).map_err(Error::AdminBotExists)? {
|
||||
return Err(Error::Renamed);
|
||||
}
|
||||
}
|
||||
services().globals.err_if_server_name_changed()?;
|
||||
|
||||
db.apply_migrations().await.map_err(Error::DatabaseError)?;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue