| 154 | |
| 155 | #[update] |
| 156 | async fn trigger_upgrade(params: upgrader_api::UpgradeParams) -> Result<(), TriggerUpgradeError> { |
| 157 | let input: UpgradeParams = UpgradeParams { |
| 158 | module: params.module, |
| 159 | module_extra_chunks: params.module_extra_chunks, |
| 160 | arg: params.arg, |
| 161 | install_mode: CanisterInstallMode::Upgrade(None), |
| 162 | take_backup_snapshot: params.take_backup_snapshot.unwrap_or_default(), |
| 163 | }; |
| 164 | UPGRADER |
| 165 | .upgrade(ChangeParams::Upgrade(input)) |
| 166 | .await |
| 167 | .map_err(|err| match err { |
| 168 | UpgradeError::NotController => TriggerUpgradeError::NotController, |
| 169 | UpgradeError::Unauthorized => TriggerUpgradeError::Unauthorized, |
| 170 | UpgradeError::UnexpectedError(err) => { |
| 171 | TriggerUpgradeError::UnexpectedError(err.to_string()) |
| 172 | } |
| 173 | }) |
| 174 | } |
| 175 | |
| 176 | #[update] |
| 177 | async fn trigger_restore(params: upgrader_api::RestoreParams) -> Result<(), TriggerRestoreError> { |