Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 9 additions & 10 deletions java/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,13 @@
<properties>
<stacks.core.api.version>1.0.2.2-RELEASE</stacks.core.api.version>
<stacks.core.commons.version>1.0.3</stacks.core.commons.version>
<stacks.azure.cosmos.version>1.0.0</stacks.azure.cosmos.version>

<java.version>11</java.version>
<org.projectlombok.version>1.18.0</org.projectlombok.version>
<org.springdoc-openapi.version>1.6.1</org.springdoc-openapi.version>
<org.springdoc-openapi.version>1.6.9</org.springdoc-openapi.version>
<applicationinsights.version>2.6.4</applicationinsights.version>
<cosmosdb.version>3.6.0</cosmosdb.version>
<azure.springboot.version>3.6.0</azure.springboot.version>
<jackson.version>2.13.0</jackson.version>
<mockito.version>4.1.0</mockito.version>
Expand Down Expand Up @@ -106,6 +108,12 @@
<version>${stacks.core.commons.version}</version>
</dependency>

<dependency>
<groupId>com.amido.stacks.modules</groupId>
<artifactId>stacks-azure-cosmos</artifactId>
<version>${stacks.azure.cosmos.version}</version>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
Expand Down Expand Up @@ -228,15 +236,6 @@
<scope>provided</scope>
</dependency>

<!--
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-keyvault-secrets-spring-boot-starter</artifactId>
<version>${azure.springboot.version}</version>
<scope>runtime</scope>
</dependency>
-->

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
Expand Down
5 changes: 1 addition & 4 deletions java/sonar-project.properties
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
# sonar.login=${env.SONAR_TOKEN}
# sonar.organization=${env.SONAR_ORGANIZATION}
sonar.sourceEncoding=UTF-8

###################################
# Branch and PR Analysis Variables
# These are all supplied by the Pipeline
Expand All @@ -20,14 +19,12 @@ sonar.sourceEncoding=UTF-8
# sonar.pullrequest.github.repository=${env.SONAR_GITHUB_REPO}
# sonar.pullrequest.base=${env.SONAR_TARGET_BRANCH}
###################################

sonar.sources=src/main
sonar.java.binaries=target
sonar.java.libraries=.m2
sonar.junit.reportPaths=target/surefire-reports
sonar.coverage.jacoco.xmlReportPaths=target/site/jacoco/jacoco.xml
sonar.language=java
sonar.java.source=11

sonar.cpd.exclusions=**/model/*
sonar.coverage.exclusions=**/AuthControllerImpl*,**/ApplicationConfig*
sonar.coverage.exclusions=**/AuthControllerImpl*,**/ApplicationConfig*,**/exception/**
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@ ResponseEntity<ResourceCreatedResponse> createCategory(
@Valid @RequestBody CreateCategoryRequest body,
@Parameter(hidden = true) @RequestAttribute("CorrelationId") String correlationId) {

return new ResponseEntity<>(categoryService.create(body, correlationId), HttpStatus.CREATED);
return new ResponseEntity<>(
categoryService.create(menuId, body, correlationId), HttpStatus.CREATED);
}

@PutMapping("/{categoryId}")
Expand Down Expand Up @@ -82,6 +83,7 @@ ResponseEntity<Void> deleteCategory(
UUID categoryId,
@Parameter(hidden = true) @RequestAttribute("CorrelationId") String correlationId) {

categoryService.delete(menuId, categoryId, correlationId);
return new ResponseEntity<>(OK);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ ResponseEntity<ResourceUpdatedResponse> updateItem(
@Parameter(hidden = true) @RequestAttribute("CorrelationId") String correlationId) {

return new ResponseEntity<>(
itemService.update(menuId, categoryId, body, correlationId), HttpStatus.OK);
itemService.update(menuId, categoryId, itemId, body, correlationId), HttpStatus.OK);
}

@DeleteMapping("/{itemId}")
Expand All @@ -87,6 +87,7 @@ ResponseEntity<Void> deleteItem(
@Parameter(description = "Item id", required = true) @PathVariable("itemId") UUID itemId,
@Parameter(hidden = true) @RequestAttribute("CorrelationId") String correlationId) {

itemService.delete(menuId, categoryId, itemId, correlationId);
return new ResponseEntity<>(OK);
}
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
package com.amido.stacks.workloads.menu.api.v1;

import static org.springframework.http.HttpStatus.OK;

import com.amido.stacks.core.api.annotations.CreateAPIResponses;
import com.amido.stacks.core.api.annotations.DeleteAPIResponses;
import com.amido.stacks.core.api.annotations.ReadAPIResponses;
import com.amido.stacks.core.api.annotations.SearchAPIResponses;
import com.amido.stacks.core.api.annotations.UpdateAPIResponses;
import com.amido.stacks.core.api.dto.response.ResourceCreatedResponse;
import com.amido.stacks.core.api.dto.response.ResourceUpdatedResponse;
import com.amido.stacks.workloads.menu.api.v1.dto.request.CreateMenuRequest;
import com.amido.stacks.workloads.menu.api.v1.dto.request.UpdateMenuRequest;
import com.amido.stacks.workloads.menu.api.v1.dto.response.MenuDTO;
Expand Down Expand Up @@ -50,11 +46,11 @@ public class MenuController {
description = "Adds a menu",
operationId = "CreateMenu")
@CreateAPIResponses
ResponseEntity<ResourceCreatedResponse> createMenu(
@Valid @RequestBody CreateMenuRequest body,
ResponseEntity<MenuDTO> createMenu(
@Valid @RequestBody CreateMenuRequest dto,
@Parameter(hidden = true) @RequestAttribute("CorrelationId") String correlationId) {

return new ResponseEntity<>(menuService.create(body, correlationId), HttpStatus.CREATED);
return new ResponseEntity<>(menuService.create(dto, correlationId), HttpStatus.CREATED);
}

@GetMapping
Expand All @@ -75,10 +71,11 @@ ResponseEntity<SearchMenuResult> searchMenu(
@RequestParam(value = "searchTerm", required = false) String searchTerm,
@RequestParam(value = "restaurantId", required = false) UUID restaurantId,
@RequestParam(value = "pageSize", required = false, defaultValue = "20") Integer pageSize,
@RequestParam(value = "pageNumber", required = false, defaultValue = "1")
Integer pageNumber) {
@RequestParam(value = "pageNumber", required = false, defaultValue = "1") Integer pageNumber,
@Parameter(hidden = true) @RequestAttribute("CorrelationId") String correlationId) {

return ResponseEntity.ok(menuService.search(searchTerm, restaurantId, pageSize, pageNumber));
return ResponseEntity.ok(
menuService.search(searchTerm, restaurantId, pageSize, pageNumber, correlationId));
}

@GetMapping(value = "/{id}")
Expand Down Expand Up @@ -108,12 +105,12 @@ ResponseEntity<MenuDTO> getMenu(
summary = "Update a menu",
description = "Update a menu with new information")
@UpdateAPIResponses
ResponseEntity<ResourceUpdatedResponse> updateMenu(
ResponseEntity<MenuDTO> updateMenu(
@Parameter(description = "Menu id", required = true) @PathVariable("id") UUID menuId,
@Valid @RequestBody UpdateMenuRequest body,
@Parameter(hidden = true) @RequestAttribute("CorrelationId") String correlationId) {

return new ResponseEntity<>(menuService.update(body, correlationId), HttpStatus.OK);
return new ResponseEntity<>(menuService.update(menuId, body, correlationId), HttpStatus.OK);
}

@DeleteMapping(value = "/{id}")
Expand All @@ -127,6 +124,7 @@ ResponseEntity<Void> deleteMenu(
@Parameter(description = "Menu id", required = true) @PathVariable("id") UUID menuId,
@Parameter(hidden = true) @RequestAttribute("CorrelationId") String correlationId) {

return new ResponseEntity<>(OK);
menuService.delete(menuId, correlationId);
return new ResponseEntity<>(HttpStatus.OK);
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,11 @@
import com.fasterxml.jackson.annotation.JsonProperty;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class UpdateMenuRequest {

@JsonProperty("name")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,11 @@

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Schema(name = "Item")
public class ItemDTO {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,11 @@

import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.UUID;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class SearchMenuResultItem {

@JsonProperty("id")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
Expand All @@ -18,16 +17,4 @@ public class Category {
private String description;

@Builder.Default private List<Item> items = new ArrayList<>();

public Category addOrUpdateItem(Item item) {
if (this.items == null) {
this.items = new ArrayList<>();
}
this.items =
this.items.stream()
.filter(c -> !c.getId().equals(item.getId()))
.collect(Collectors.toList());
this.items.add(item);
return this;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
Expand All @@ -24,16 +23,4 @@ public class Menu {
@Builder.Default private List<Category> categories = new ArrayList<>();

private Boolean enabled;

public Menu addOrUpdateCategory(Category category) {
if (this.categories == null) {
this.categories = new ArrayList<>();
}
this.categories =
this.categories.stream()
.filter(c -> !c.getId().equals(category.getId()))
.collect(Collectors.toList());
this.categories.add(category);
return this;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.amido.stacks.workloads.menu.exception;

import java.util.UUID;

public class CategoryAlreadyExistsException extends RuntimeException {

private static final int EXCEPTION_CODE = 11409;

public CategoryAlreadyExistsException(UUID menuId, String name) {
super(
String.format(
"A category with the name '%s' already exists for the menu with id '%s'.",
name, menuId));
}

public int getExceptionCode() {
return EXCEPTION_CODE;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.amido.stacks.workloads.menu.exception;

import java.util.UUID;

public class CategoryDoesNotExistException extends RuntimeException {

private static final int EXCEPTION_CODE = 11404;

public CategoryDoesNotExistException(UUID menuId, UUID categoryId) {
super(
String.format(
"A category with the id '%s' does not exist for menu with id '%s'.",
categoryId, menuId));
}

public int getExceptionCode() {
return EXCEPTION_CODE;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package com.amido.stacks.workloads.menu.exception;

import java.util.UUID;

public class ItemAlreadyExistsException extends RuntimeException {

private static final int EXCEPTION_CODE = 12409;

public ItemAlreadyExistsException(UUID menuId, UUID categoryId, String name) {
super(
String.format(
"An item with the name '%s' already exists for the category '%s' in menu with "
+ "id '%s'.",
name, categoryId, menuId));
}

public int getExceptionCode() {
return EXCEPTION_CODE;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.amido.stacks.workloads.menu.exception;

import java.util.UUID;

public class ItemDoesNotExistsException extends RuntimeException {

private static final int EXCEPTION_CODE = 12404;

public ItemDoesNotExistsException(UUID menuId, UUID categoryId, UUID itemId) {
super(
String.format(
"An item with the id '%s' does not exists for category with the id '%s' and for menu with id '%s'.",
itemId, categoryId, menuId));
}

public int getExceptionCode() {
return EXCEPTION_CODE;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.amido.stacks.workloads.menu.exception;

import java.util.UUID;

public class MenuAlreadyExistsException extends RuntimeException {

private static final int EXCEPTION_CODE = 10409;

public MenuAlreadyExistsException(UUID restaurantId, String name) {
super(
String.format(
"A Menu with the name '%s' already exists for the restaurant with id '%s'.",
name, restaurantId));
}

public int getExceptionCode() {
return EXCEPTION_CODE;
}
}
Loading