client: add error type field for --json outputs
Some checks failed
Build and test / test (push) Has been cancelled
Build and test / check (push) Has been cancelled
Build and test / docs (push) Has been cancelled
Build and test / build (push) Has been cancelled
Build and test / check-license (push) Has been cancelled

This commit is contained in:
2025-12-03 15:44:18 +09:00
parent 32b70c44c6
commit afbba78e39
12 changed files with 136 additions and 0 deletions

View File

@@ -79,6 +79,31 @@ impl ModifyDatabasePrivilegesError {
}
}
}
#[allow(dead_code)]
pub fn error_type(&self) -> &'static str {
match self {
ModifyDatabasePrivilegesError::DatabaseSanitizationError(_) => {
"database-sanitization-error"
}
ModifyDatabasePrivilegesError::DatabaseOwnershipError(_) => "database-ownership-error",
ModifyDatabasePrivilegesError::UserSanitizationError(_) => "user-sanitization-error",
ModifyDatabasePrivilegesError::UserOwnershipError(_) => "user-ownership-error",
ModifyDatabasePrivilegesError::DatabaseDoesNotExist => "database-does-not-exist",
ModifyDatabasePrivilegesError::DiffDoesNotApply(err) => match err {
DiffDoesNotApplyError::RowAlreadyExists(_, _) => {
"diff-does-not-apply/row-already-exists"
}
DiffDoesNotApplyError::RowDoesNotExist(_, _) => {
"diff-does-not-apply/row-does-not-exist"
}
DiffDoesNotApplyError::RowPrivilegeChangeDoesNotApply(_, _) => {
"diff-does-not-apply/row-privilege-change-does-not-apply"
}
},
ModifyDatabasePrivilegesError::MySqlError(_) => "mysql-error",
}
}
}
impl DiffDoesNotApplyError {