nouritsu/src/main/java/nouritsu/types/ShoppingItem.java

16 lines
473 B
Java
Raw Normal View History

2020-07-03 13:05:23 +02:00
package nouritsu.types;
2020-07-09 21:57:51 +02:00
import com.fasterxml.jackson.annotation.JsonProperty;
import io.vavr.control.Either;
2020-07-09 21:57:51 +02:00
public record ShoppingItem(
@JsonProperty("name") String name,
@JsonProperty("section") Section section
) {
public static Either<Resp, ShoppingItem> tryParse(String name, String category) {
return Section.tryParse(category)
.map(c -> new ShoppingItem(name, c))
.mapLeft(msg -> Resp.BAD_REQUEST.apply(msg + Section.valuesAsString()));
}
2020-07-03 13:05:23 +02:00
}