tanishqgandhi1908 opened a new pull request, #7144: URL: https://github.com/apache/texera/pull/7144
### What changes were proposed in this PR? Adds a "Create Model" button to the Models page and the modal behind it, so creating a model no longer requires curl. The form takes name, description, framework and format dropdowns, and visibility/downloadable toggles; on success it navigates to the new model's detail page. This is the first of two PRs covering model creation and upload. It deliberately ships create only — after this you can create a model and manage its metadata (rename, description, visibility, sharing, delete), but not yet upload weights to it. The upload half follows in the next PR. ### Any related issues, documentation, discussions? Part of #6499 (Add model management UI). Umbrella: #6494. Stacked on the multipart-engine refactor PR. ### How was this PR tested? New user-model-creator.component.spec.ts — 10 cases. Three cover sanitizeModelName directly, including one that pins the underscore difference from the dataset sanitizer. The rest cover the component: the four fields render with no version-description field; the framework and format dropdown options equal MODEL_FRAMEWORKS and MODEL_FORMATS exactly, so drift from ModelResource's whitelist fails at test time rather than becoming a 400 at create time; an empty required name calls nothing; a successful create sends the sanitized name plus both toggle values and closes with the result; a sanitized name reports the rename in the toast; a server error surfaces its message, closes with null, and clears the spinner; and cancel closes without touching the backend. user-model.component.spec.ts gains 3 cases for the button wiring — the modal opens with the right component and no footer, a non-null close navigates to USER_MODEL/:mid, and a dismissal navigates nowhere. 103 tests pass across the 6 affected spec files. The dataset creator's own spec and user-dataset.component.spec.ts pass untouched. tsc --noEmit, eslint and prettier are clean. cd frontend && npx ng test --watch=false --include src/app/dashboard/component/user/user-model/user-model-creator/user-model-creator.component.spec.ts Manually verified with gui.tabs.models_enabled = true: creating a model lands on its detail page; My Model!! is sanitized to my-model with the rename reported in the toast; churn_predictor keeps its underscore; a duplicate name surfaces the server error; cancel creates nothing. ### Was this PR authored or co-authored using generative AI tooling? Generated-by: Claude Code (Claude Opus 5) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
