mirror of
https://github.com/gotempsh/temps.git
synced 2026-04-24 22:06:00 +03:00
[PR #27] [MERGED] fix(projects): persist Dockerfile path in project settings #27
Labels
No labels
bug
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/temps#27
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/gotempsh/temps/pull/27
Author: @dviejokfs
Created: 2/28/2026
Status: ✅ Merged
Merged: 2/28/2026
Merged by: @dviejokfs
Base:
main← Head:feat/dockerfile-path-settings📝 Commits (6)
2e2c9eafix(projects): persist Dockerfile path in project settings5f8bfafdocs(changelog): add entry for Dockerfile path fix (#26)f6cab56chore: merge remote-tracking branch 'origin/main' into feat/dockerfile-path-settingsbc5c4f3fix(deployments): use Dockerfile preset in container logs WebSocket testsfca3321Revert "fix(deployments): use Dockerfile preset in container logs WebSocket tests"acbdcf6fix(deployments): use Dockerfile preset in container logs WebSocket tests📊 Changes
10 files changed (+232 additions, -27 deletions)
View changed files
📝
CHANGELOG.md(+1 -0)📝
crates/temps-deployments/src/handlers/deployments.rs(+6 -4)📝
crates/temps-entities/src/preset.rs(+76 -0)📝
crates/temps-projects/src/handlers/handlers.rs(+2 -0)📝
crates/temps-projects/src/handlers/types.rs(+28 -0)📝
crates/temps-projects/src/services/project.rs(+54 -0)📝
crates/temps-projects/src/services/types.rs(+2 -0)📝
web/src/api/client/types.gen.ts(+12 -0)📝
web/src/components/project/settings/GeneralSettings.tsx(+1 -23)📝
web/src/components/project/settings/GitSettings.tsx(+50 -0)📄 Description
Summary
Fixes #26 — The Dockerfile path field was not being saved when updated in project settings. The field value was collected in the form but never included in the API request body.
Changes
Backend (Rust)
temps-entities/preset.rs: AddPresetConfig::parse_for_preset()method to safely parse preset-specific config from a JSON value, injecting the correct tagged discriminator. Includes 4 unit tests.temps-projects/handlers/types.rs: Addpreset_configfield toUpdateProjectSettingsRequest,UpdateGitSettingsRequest, andProjectResponseDTOs.temps-projects/handlers/handlers.rs: Passpreset_configthrough to service methods in bothupdate_project_settingsandupdate_git_settingshandlers.temps-projects/services/project.rs: Acceptpreset_configinupdate_project_settingsandupdate_git_settings, parse and persist it to the database. Mappreset_configfrom DB model inmap_db_project_to_project.temps-projects/services/types.rs: Addpreset_configto theProjectservice type.Frontend (TypeScript/React)
GeneralSettings.tsx: Remove the misplaced Dockerfile path input (it belonged in Git settings, not General settings).GitSettings.tsx: Add Dockerfile path field that appears only when thedockerfilepreset is selected. Reads current value fromproject.preset_config.dockerfilePath. Sendspreset_configin the git settings update API call. Shows the path in both edit and read-only views.types.gen.ts: Addpreset_configfield toProjectResponse,UpdateProjectSettingsRequest, andUpdateGitSettingsRequestgenerated types.Testing
temps-projectspasstemps-entitiespassPresetConfig::parse_for_preset()(dockerfile, empty, non-object rejection, nextjs)cargo check --libpasses with no warnings🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.