Skip to content

feat: implement component editor save with PUT API call - #13

Open
almarzn wants to merge 1 commit into
mainfrom
feat/ingredient-toolbar
Open

almarzn wants to merge 1 commit into
mainfrom
feat/ingredient-toolbar

Conversation

@almarzn

@almarzn almarzn commented May 8, 2026

Copy link
Copy Markdown
Owner

Summary

  • Component editor save sends PUT /api/recipes/:slug/components/:compSlug with parsed quantities, ingredient slugs, and step data
  • Exposes submitting/submitError signals for loading and error UI states
  • Button shows zLoading spinner and disabled state during submission
  • Error messages extracted from API HttpErrorResponse bodies

Tests

  • 3 new Playwright e2e tests: PUT payload verification, API error display, slug generation for new ingredients
  • 3 new backend integration tests: multiple quantity types (decimal/interval/unspecified/arbitrary/custom), empty ingredients/steps, null name preservation

All 39 Playwright e2e and 17 backend IT pass.

Parse quantities, generate ingredient slugs, send to
PUT /api/recipes/:slug/components/:compSlug with submit
loading/error state. Add Playwright e2e and backend IT.
@github-actions

github-actions Bot commented May 8, 2026

Copy link
Copy Markdown

Qodana for JVM

16 new problems were found

Inspection name Severity Problems
Usage of API marked for removal 🔴 Failure 1
Unused import 🔶 Warning 4
Nullability and data flow problems 🔶 Warning 3
Redundant type arguments 🔶 Warning 2
Unnecessary modifier 🔶 Warning 1
Duplicated code fragment ◽️ Notice 4
Vulnerable declared dependency ◽️ Notice 1

☁️ View the detailed Qodana report

Detected 124 dependencies

Third-party software list

This page lists the third-party software dependencies used in server

Dependency Version Licenses
annotations 13.0 Apache-2.0
anthropic-java-client-okhttp 2.17.0 MIT
anthropic-java-core 2.17.0 MIT
anthropic-java 2.17.0 MIT
antlr-runtime 3.5.3 BSD-3-Clause
antlr4-runtime 4.13.1 BSD-3-Clause
checker-qual 3.52.0 MIT
classmate 1.7.3 Apache-2.0
commons-collections4 4.5.0 Apache-2.0
commons-io 2.21.0 Apache-2.0
commons-lang3 3.19.0 Apache-2.0
commons-logging 1.3.6 Apache-2.0
commons-text 1.15.0 Apache-2.0
context-propagation 1.2.1 Apache-2.0
error_prone_annotations 2.38.0 Apache-2.0
fontbox 3.0.5 Apache-2.0
BSD-3-Clause
OFL-1.1-no-RFN
hikaricp 7.0.2 Apache-2.0
itu 1.14.0 Apache-2.0
jackson-annotations 2.21 Apache-2.0
jackson-core 2.21.2 Apache-2.0
jackson-core 3.1.0 Apache-2.0
jackson-databind 2.21.2 Apache-2.0
jackson-databind 3.1.0 Apache-2.0
jackson-dataformat-yaml 3.1.0 Apache-2.0
jackson-module-kotlin 3.1.0 Apache-2.0
jakarta.annotation-api 3.0.0 Classpath-exception-2.0
EPL-2.0
GPL-2.0-only
jooq-jackson3-extensions 3.21.1 Apache-2.0
jooq 3.21.1 Apache-2.0
json-schema-validator 3.0.0 Apache-2.0
jsonschema-generator 5.0.0 Apache-2.0
jsonschema-module-jackson 5.0.0 Apache-2.0
jsonschema-module-swagger-2 5.0.0 Apache-2.0
jsoup 1.21.2 MIT
jspecify 1.0.0 Apache-2.0
jtokkit 1.1.0 MIT
jul-to-slf4j 2.0.17 MIT
kotlin-reflect 2.2.21 Apache-2.0
kotlin-stdlib-jdk7 2.2.21 Apache-2.0
kotlin-stdlib-jdk8 2.2.21 Apache-2.0
kotlin-stdlib 2.2.21 Apache-2.0
liquibase-core 5.0.2 Apache-2.0
log4j-api 2.25.3 Apache-2.0
log4j-to-slf4j 2.25.3 Apache-2.0
logback-classic 1.5.32 EPL-2.0
LGPL-2.1-only
logback-core 1.5.32 EPL-2.0
LGPL-2.1-only
lombok 1.18.44 BSD-3-CLAUSE-NO-TRADEMARK
MIT
mcp-core 1.1.0 MIT
mcp-json-jackson3 1.1.0 MIT
micrometer-commons 1.16.4 Apache-2.0
micrometer-core 1.16.4 Apache-2.0
micrometer-observation 1.16.4 Apache-2.0
opencsv 5.12.0 Apache-2.0
org.osgi.annotation.bundle 2.0.0 Apache-2.0
org.osgi.annotation.versioning 1.1.2 Apache-2.0
pdfbox-io 3.0.5 Apache-2.0
pdfbox 3.0.5 Apache-2.0
CC-BY-4.0
CC0-1.0
OFL-1.1
PUBLIC-DOMAIN
postgresql 42.7.10 BSD-2-Clause
r2dbc-spi 1.0.0.release Apache-2.0
reactive-streams 1.0.4 MIT-0
reactor-core 3.8.4 Apache-2.0
slf4j-api 2.0.17 MIT
snakeyaml-engine 3.0.1 Apache-2.0
snakeyaml 2.5 Apache-2.0
spring-ai-anthropic 2.0.0-m4 Apache-2.0
spring-ai-autoconfigure-model-anthropic 2.0.0-m4 Apache-2.0
spring-ai-autoconfigure-model-chat-client 2.0.0-m4 Apache-2.0
spring-ai-autoconfigure-model-chat-memory-repository-jdbc 2.0.0-m4 Apache-2.0
spring-ai-autoconfigure-model-chat-memory 2.0.0-m4 Apache-2.0
spring-ai-autoconfigure-model-chat-observation 2.0.0-m4 Apache-2.0
spring-ai-autoconfigure-model-tool 2.0.0-m4 Apache-2.0
spring-ai-client-chat 2.0.0-m4 Apache-2.0
spring-ai-commons 2.0.0-m4 Apache-2.0
spring-ai-jsoup-document-reader 2.0.0-m4 Apache-2.0
spring-ai-model-chat-memory-repository-jdbc 2.0.0-m4 Apache-2.0
spring-ai-model 2.0.0-m4 Apache-2.0
spring-ai-pdf-document-reader 2.0.0-m4 Apache-2.0
spring-ai-starter-model-anthropic 2.0.0-m4 Apache-2.0
spring-ai-starter-model-chat-memory-repository-jdbc 2.0.0-m4 Apache-2.0
spring-ai-template-st 2.0.0-m4 Apache-2.0
spring-aop 7.0.6 Apache-2.0
spring-batch-core 6.0.3 Apache-2.0
spring-batch-infrastructure 6.0.3 Apache-2.0
spring-beans 7.0.6 Apache-2.0
spring-boot-autoconfigure 4.0.5 Apache-2.0
spring-boot-batch 4.0.5 Apache-2.0
spring-boot-http-converter 4.0.5 Apache-2.0
spring-boot-jackson 4.0.5 Apache-2.0
spring-boot-jdbc 4.0.5 Apache-2.0
spring-boot-jooq 4.0.5 Apache-2.0
spring-boot-liquibase 4.0.5 Apache-2.0
spring-boot-persistence 4.0.5 Apache-2.0
spring-boot-servlet 4.0.5 Apache-2.0
spring-boot-sql 4.0.5 Apache-2.0
spring-boot-starter-batch 4.0.5 Apache-2.0
spring-boot-starter-jackson 4.0.5 Apache-2.0
spring-boot-starter-jdbc 4.0.5 Apache-2.0
spring-boot-starter-jooq 4.0.5 Apache-2.0
spring-boot-starter-liquibase 4.0.5 Apache-2.0
spring-boot-starter-logging 4.0.5 Apache-2.0
spring-boot-starter-tomcat-runtime 4.0.5 Apache-2.0
spring-boot-starter-tomcat 4.0.5 Apache-2.0
spring-boot-starter-webmvc 4.0.5 Apache-2.0
spring-boot-starter 4.0.5 Apache-2.0
spring-boot-tomcat 4.0.5 Apache-2.0
spring-boot-transaction 4.0.5 Apache-2.0
spring-boot-web-server 4.0.5 Apache-2.0
spring-boot-webmvc 4.0.5 Apache-2.0
spring-boot 4.0.5 Apache-2.0
spring-context 7.0.6 Apache-2.0
spring-core 7.0.6 Apache-2.0
spring-expression 7.0.6 Apache-2.0
spring-jdbc 7.0.6 Apache-2.0
spring-messaging 7.0.6 Apache-2.0
spring-retry 2.0.12 Apache-2.0
spring-tx 7.0.6 Apache-2.0
spring-web 7.0.6 Apache-2.0
spring-webmvc 7.0.6 Apache-2.0
sqlite-jdbc 3.50.3.0 Apache-2.0
BSD-UNCHANGED
st4 4.3.4 BSD-3-Clause
swagger-annotations-jakarta 2.2.38 Apache-2.0
swagger-annotations 2.2.31 Apache-2.0
tomcat-embed-core 11.0.20 Apache-2.0
CDDL-1.0
EPL-2.0
PROPRIETARY-LICENSE
tomcat-embed-el 11.0.20 Apache-2.0
tomcat-embed-websocket 11.0.20 Apache-2.0
Contact Qodana team

Contact us at qodana-support@jetbrains.com

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant