Git hosting and a container registry in one Rust binary (axum + Astro)
Forms accept omitted optional fields
3 files changed, +6 -2
+1-0backend/src/web/home.rs
| @@ -256,6 +256,7 @@ pub async fn new_repo_page(ctx: Ctx, RequireViewer(viewer): RequireViewer, Query | ||
| 256 | 256 | } |
| 257 | 257 | |
| 258 | 258 | #[derive(Deserialize, Default)] |
| 259 | +#[serde(default)] | |
| 259 | 260 | pub struct NewRepoForm { |
| 260 | 261 | owner: String, |
| 261 | 262 | name: String, |
+3-1backend/src/web/orgs.rs
| @@ -35,6 +35,7 @@ pub fn router() -> Router<AppState> { | ||
| 35 | 35 | } |
| 36 | 36 | |
| 37 | 37 | #[derive(Deserialize, Default)] |
| 38 | +#[serde(default)] | |
| 38 | 39 | pub struct NewOrgForm { |
| 39 | 40 | name: String, |
| 40 | 41 | display_name: String, |
| @@ -165,7 +166,8 @@ pub async fn settings_page(ctx: Ctx, RequireViewer(viewer): RequireViewer, Path( | ||
| 165 | 166 | Ok(ctx.render(Page::new(format!("{} settings", org.name), body).noindex())) |
| 166 | 167 | } |
| 167 | 168 | |
| 168 | -#[derive(Deserialize)] | |
| 169 | +#[derive(Deserialize, Default)] | |
| 170 | +#[serde(default)] | |
| 169 | 171 | pub struct OrgProfileForm { |
| 170 | 172 | display_name: String, |
| 171 | 173 | bio: String, |
+2-1backend/src/web/settings.rs
| @@ -152,7 +152,8 @@ pub async fn profile_page(ctx: Ctx, RequireViewer(viewer): RequireViewer, Query( | ||
| 152 | 152 | Ok(shell(&ctx, "profile", "Public profile", body)) |
| 153 | 153 | } |
| 154 | 154 | |
| 155 | -#[derive(Deserialize)] | |
| 155 | +#[derive(Deserialize, Default)] | |
| 156 | +#[serde(default)] | |
| 156 | 157 | pub struct ProfileForm { |
| 157 | 158 | display_name: String, |
| 158 | 159 | bio: String, |