MCPcopy Create free account
hub / github.com/Botloader/botloader / update_script

Method update_script

components/stores/src/config.rs:295–335  ·  view source on GitHub ↗
(
        &self,
        guild_id: Id<GuildMarker>,
        script: UpdateScript,
    )

Source from the content-addressed store, hash-verified

293 }
294
295 pub async fn update_script(
296 &self,
297 guild_id: Id<GuildMarker>,
298 script: UpdateScript,
299 ) -> ConfigStoreResult<Script> {
300 let settings_values = script
301 .settings_values
302 .map(|v| serde_json::to_value(v).unwrap());
303
304 let res = sqlx::query_as!(
305 DbScript,
306 "
307 UPDATE guild_scripts SET
308 original_source = COALESCE($3, guild_scripts.original_source),
309 enabled = COALESCE($4, guild_scripts.enabled),
310 plugin_version_number = COALESCE($5, guild_scripts.plugin_version_number),
311 settings_values = COALESCE($6, guild_scripts.settings_values)
312 WHERE guild_id = $1 AND id=$2
313 RETURNING id, name, original_source, guild_id, enabled, plugin_id, \
314 plugin_auto_update, plugin_version_number, settings_values;
315 ",
316 guild_id.get() as i64,
317 script.id as i64,
318 script.original_source,
319 script.enabled,
320 script.plugin_version_number.map(|v| v as i32),
321 settings_values,
322 )
323 .fetch_one(&self.pool)
324 .await?;
325
326 let mut converted: Script = res.into();
327 Self::attach_script_derived(
328 &mut *self.pool.acquire().await?,
329 guild_id,
330 std::slice::from_mut(&mut converted),
331 )
332 .await?;
333
334 Ok(converted)
335 }
336
337 /// Upserts the derived state observed for a script during a vm boot.
338 pub async fn upsert_script_derived(

Callers 3

update_guild_scriptFunction · 0.80
update_script_pluginFunction · 0.80
mainFunction · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected