feat: ingredient controller, websocket messages, ingredient controller tests
This commit is contained in:
parent
6129fc2a5a
commit
3af808ef58
13 changed files with 498 additions and 9 deletions
|
|
@ -33,10 +33,7 @@ public class Ingredient {
|
|||
@Column(name = "carbs", nullable = false)
|
||||
public double carbsPer100g;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
protected Ingredient() {
|
||||
// for object mapper says sebastian
|
||||
}
|
||||
public Ingredient() {}
|
||||
|
||||
public Ingredient(String name,
|
||||
double proteinPer100g,
|
||||
|
|
|
|||
|
|
@ -2,4 +2,5 @@ package commons.ws;
|
|||
|
||||
public class Topics {
|
||||
public static final String RECIPES = "/subscribe/recipe";
|
||||
public static final String INGREDIENTS = "/subscribe/ingredient";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,30 @@
|
|||
package commons.ws.messages;
|
||||
|
||||
import commons.Ingredient;
|
||||
|
||||
/**
|
||||
* Message sent when a new ingredient is created.
|
||||
*
|
||||
* @see commons.ws.messages.Message.Type#INGREDIENT_CREATE
|
||||
*/
|
||||
public class CreateIngredientMessage implements Message {
|
||||
private Ingredient ingredient;
|
||||
|
||||
public CreateIngredientMessage(Ingredient ingredient) {
|
||||
this.ingredient = ingredient;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Type getType() {
|
||||
return Type.INGREDIENT_CREATE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the created ingredient.
|
||||
*
|
||||
* @return The created ingredient.
|
||||
*/
|
||||
public Ingredient getIngredient() {
|
||||
return ingredient;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package commons.ws.messages;
|
||||
|
||||
/**
|
||||
* Message sent when an ingredient is deleted.
|
||||
*
|
||||
* @see commons.ws.messages.Message.Type#INGREDIENT_DELETE
|
||||
*/
|
||||
public class DeleteIngredientMessage implements Message {
|
||||
private Long ingredientId;
|
||||
|
||||
public DeleteIngredientMessage(Long ingredientId) {
|
||||
this.ingredientId = ingredientId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Type getType() {
|
||||
return Type.INGREDIENT_DELETE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the deleted ingredient's id.
|
||||
*
|
||||
* @return The deleted ingredient's id.
|
||||
*/
|
||||
public Long getIngredientId() {
|
||||
return ingredientId;
|
||||
}
|
||||
}
|
||||
|
|
@ -21,7 +21,28 @@ public interface Message {
|
|||
*
|
||||
* @see commons.ws.messages.DeleteRecipeMessage
|
||||
*/
|
||||
RECIPE_DELETE
|
||||
RECIPE_DELETE,
|
||||
|
||||
/**
|
||||
* Message sent when a new ingredient is created.
|
||||
*
|
||||
* @see commons.ws.messages.CreateIngredientMessage
|
||||
*/
|
||||
INGREDIENT_CREATE,
|
||||
|
||||
/**
|
||||
* Message sent when an existing ingredient is updated.
|
||||
*
|
||||
* @see commons.ws.messages.UpdateIngredientMessage
|
||||
*/
|
||||
INGREDIENT_UPDATE,
|
||||
|
||||
/**
|
||||
* Message sent when an ingredient is deleted.
|
||||
*
|
||||
* @see commons.ws.messages.DeleteIngredientMessage
|
||||
*/
|
||||
INGREDIENT_DELETE
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -0,0 +1,30 @@
|
|||
package commons.ws.messages;
|
||||
|
||||
import commons.Ingredient;
|
||||
|
||||
/**
|
||||
* Message sent when an ingredient is updated.
|
||||
*
|
||||
* @see commons.ws.messages.Message.Type#INGREDIENT_UPDATAE
|
||||
*/
|
||||
public class UpdateIngredientMessage implements Message {
|
||||
private Ingredient ingredient;
|
||||
|
||||
public UpdateIngredientMessage(Ingredient ingredient) {
|
||||
this.ingredient = ingredient;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Type getType() {
|
||||
return Type.INGREDIENT_UPDATE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the updated ingredient.
|
||||
*
|
||||
* @return The updated ingredient.
|
||||
*/
|
||||
public Ingredient getIngredient() {
|
||||
return ingredient;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue