feat: initial work on discord template importer

This commit is contained in:
Zomatree
2026-02-16 22:28:51 +00:00
parent 74f0c537e6
commit 8976273410
9 changed files with 417 additions and 3 deletions

View File

@@ -84,6 +84,7 @@ revolt-presence = { path = "../core/presence" }
revolt-result = { path = "../core/result", features = ["rocket", "okapi"] }
revolt-permissions = { path = "../core/permissions", features = ["schemas"] }
revolt-ratelimits = { path = "../core/ratelimits", features = ["rocket"] }
revolt-discord = { path = "../core/discord" }
# voice
livekit-api = "0.4.4"

View File

@@ -29,7 +29,17 @@ pub async fn create_server(
user.can_acquire_server(db).await?;
let (server, channels) = Server::create(db, data, &user, true).await?;
let (server, channels) = if let Some(discord_template_id) = data.discord_template_id.clone() {
let (mut server, _) = Server::create(db, data, &user, false).await?;
let template = revolt_discord::template::fetch_template(&discord_template_id).await?;
let channels = revolt_discord::template::import_template(db, &mut server, template).await?;
(server, channels)
} else {
Server::create(db, data, &user, true).await?
};
let (_, channels) = Member::create(db, &server, &user, Some(channels)).await?;
Ok(Json(v0::CreateServerLegacyResponse {