api-types: relax NODENAME_SCHEMA
there isn't really a concept of 'nodes' in PBS (yet) anyway - and if there ever is, it needs to be handled by the rest-server / specific API endpoints (like in PVE), and not by the schema. this allows dropping proxmox-sys from pbs-api-types (and thus nix and some other transitive deps as well). Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
This commit is contained in:
		
				
					committed by
					
						 Thomas Lamprecht
						Thomas Lamprecht
					
				
			
			
				
	
			
			
			
						parent
						
							e2e587e3c7
						
					
				
				
					commit
					18ba1b2249
				
			| @ -18,6 +18,3 @@ proxmox-schema = { version = "1.1", features = [ "api-macro" ] } | |||||||
| proxmox-serde = "0.1" | proxmox-serde = "0.1" | ||||||
| proxmox-time = "1.1.1" | proxmox-time = "1.1.1" | ||||||
| proxmox-uuid = { version = "1.0.0", features = [ "serde" ] } | proxmox-uuid = { version = "1.0.0", features = [ "serde" ] } | ||||||
|  |  | ||||||
| [target.'cfg(not(target_arch="wasm32"))'.dependencies] |  | ||||||
| proxmox-sys = "0.2" # only needed for nodename()?? |  | ||||||
|  | |||||||
| @ -1,7 +1,6 @@ | |||||||
| //! Basic API types used by most of the PBS code. | //! Basic API types used by most of the PBS code. | ||||||
|  |  | ||||||
| use serde::{Deserialize, Serialize}; | use serde::{Deserialize, Serialize}; | ||||||
| use anyhow::bail; |  | ||||||
|  |  | ||||||
| pub mod common_regex; | pub mod common_regex; | ||||||
| pub mod percent_encoding; | pub mod percent_encoding; | ||||||
| @ -199,15 +198,9 @@ pub const DNS_NAME_OR_IP_SCHEMA: Schema = StringSchema::new("DNS name or IP addr | |||||||
|     .format(&DNS_NAME_OR_IP_FORMAT) |     .format(&DNS_NAME_OR_IP_FORMAT) | ||||||
|     .schema(); |     .schema(); | ||||||
|  |  | ||||||
| #[cfg(not(target_arch="wasm32"))] // this only makes sense for the serever side |  | ||||||
| pub const NODE_SCHEMA: Schema = StringSchema::new("Node name (or 'localhost')") | pub const NODE_SCHEMA: Schema = StringSchema::new("Node name (or 'localhost')") | ||||||
|     .format(&ApiStringFormat::VerifyFn(|node| { |     .format(&HOSTNAME_FORMAT) | ||||||
|         if node == "localhost" || node == proxmox_sys::nodename() { |  | ||||||
|             Ok(()) |  | ||||||
|         } else { |  | ||||||
|             bail!("no such node '{}'", node); |  | ||||||
|         } |  | ||||||
|     })) |  | ||||||
|     .schema(); |     .schema(); | ||||||
|  |  | ||||||
| pub const TIME_ZONE_SCHEMA: Schema = StringSchema::new( | pub const TIME_ZONE_SCHEMA: Schema = StringSchema::new( | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user