},
)]
/// Create new remote.
-pub fn create_remote(name: String, param: Value) -> Result<(), Error> {
+pub fn create_remote(param: Value) -> Result<(), Error> {
let _lock = crate::tools::open_file_locked(remote::REMOTE_CFG_LOCKFILE, std::time::Duration::new(10, 0))?;
let (mut config, _digest) = remote::config()?;
- if let Some(_) = config.sections.get(&name) {
- bail!("remote '{}' already exists.", name);
+ if let Some(_) = config.sections.get(&remote.name) {
+ bail!("remote '{}' already exists.", remote.name);
}
- config.set_data(&name, "remote", &remote)?;
+ config.set_data(&remote.name, "remote", &remote)?;
remote::save_config(&config)?;
#[api(
properties: {
+ name: {
+ schema: REMOTE_ID_SCHEMA,
+ },
comment: {
optional: true,
schema: SINGLE_LINE_COMMENT_SCHEMA,
#[derive(Serialize,Deserialize)]
/// Remote properties.
pub struct Remote {
+ pub name: String,
#[serde(skip_serializing_if="Option::is_none")]
pub comment: Option<String>,
pub host: String,
_ => unreachable!(),
};
- let plugin = SectionConfigPlugin::new("remote".to_string(), None, obj_schema);
+ let plugin = SectionConfigPlugin::new("remote".to_string(), Some("name".to_string()), obj_schema);
let mut config = SectionConfig::new(&REMOTE_ID_SCHEMA);
config.register_plugin(plugin);