Skip to content
Snippets Groups Projects
Commit 559294aa authored by Anders Austlid's avatar Anders Austlid
Browse files

Added and updated some javadoc

parent ed93cffd
No related branches found
No related tags found
No related merge requests found
Showing
with 50 additions and 51 deletions
...@@ -8,5 +8,5 @@ ...@@ -8,5 +8,5 @@
</list> </list>
</option> </option>
</component> </component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_X" default="true" project-jdk-name="openjdk-20" project-jdk-type="JavaSDK" /> <component name="ProjectRootManager" version="2" languageLevel="JDK_19" project-jdk-name="openjdk-20" project-jdk-type="JavaSDK" />
</project> </project>
\ No newline at end of file
...@@ -12,9 +12,8 @@ import java.util.Arrays; ...@@ -12,9 +12,8 @@ import java.util.Arrays;
/** /**
* Cors configuration for application * Cors configuration for application
* @author Birk * @author Birk, Anders
* @version 1.0 * @version 1.1
* @since 04.04.2023
*/ */
@Configuration @Configuration
@AllArgsConstructor @AllArgsConstructor
...@@ -35,7 +34,6 @@ public class CorsConfig { ...@@ -35,7 +34,6 @@ public class CorsConfig {
public void addCorsMappings(CorsRegistry registry) { public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**") registry.addMapping("/**")
.allowedOrigins(Arrays.asList("https://localhost", .allowedOrigins(Arrays.asList("https://localhost",
"https://10.24.38.136",
domainProperty.domain() domainProperty.domain()
).toArray(String[]::new)) ).toArray(String[]::new))
.allowedMethods(Arrays.asList( .allowedMethods(Arrays.asList(
......
...@@ -13,7 +13,6 @@ import org.springframework.security.web.SecurityFilterChain; ...@@ -13,7 +13,6 @@ import org.springframework.security.web.SecurityFilterChain;
* Configs for security and authentication * Configs for security and authentication
* @author Birk * @author Birk
* @version 1.0 * @version 1.0
* @since 04.04.2023
*/ */
@Configuration @Configuration
@AllArgsConstructor @AllArgsConstructor
...@@ -23,8 +22,6 @@ public class SecurityConfig { ...@@ -23,8 +22,6 @@ public class SecurityConfig {
* Configures the HttpSecurity for the application. * Configures the HttpSecurity for the application.
* Dose not need ot have csrf enabled, because we are using jwt * Dose not need ot have csrf enabled, because we are using jwt
* and the application is stateless * and the application is stateless
* <p>
* TODO: Enable CORS policy when possible!
* *
* @param http HttpSecurity to configure * @param http HttpSecurity to configure
* @return SecurityFilterChain with configured HttpSecurity * @return SecurityFilterChain with configured HttpSecurity
......
...@@ -26,7 +26,6 @@ import org.springframework.security.provisioning.InMemoryUserDetailsManager; ...@@ -26,7 +26,6 @@ import org.springframework.security.provisioning.InMemoryUserDetailsManager;
* Configures the authentication for the application. * Configures the authentication for the application.
* @author Anders and birk * @author Anders and birk
* @version 1.1 * @version 1.1
* @since 05.04.2023
*/ */
@Configuration @Configuration
public class AuthenticationConfig { public class AuthenticationConfig {
......
...@@ -6,7 +6,6 @@ import org.springframework.boot.context.properties.ConfigurationProperties; ...@@ -6,7 +6,6 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
* Configuration properties for the domain of the application * Configuration properties for the domain of the application
* @author Birk * @author Birk
* @version 1.0 * @version 1.0
* @since 04.04.2023
*/ */
@ConfigurationProperties(prefix = "domain") @ConfigurationProperties(prefix = "domain")
public record DomainProperty (String domain){ public record DomainProperty (String domain){
......
...@@ -13,7 +13,6 @@ import org.springframework.web.bind.annotation.*; ...@@ -13,7 +13,6 @@ import org.springframework.web.bind.annotation.*;
/** /**
* Controller for allergies * Controller for allergies
* @author Stian Lyng * @author Stian Lyng
* @version 1.0
*/ */
@AllArgsConstructor @AllArgsConstructor
@RestController @RestController
......
...@@ -19,7 +19,6 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -19,7 +19,6 @@ import org.springframework.web.bind.annotation.RestController;
* *
* @author Anders * @author Anders
* @version 1.0 * @version 1.0
* @since 19.04.2023
*/ */
@RestController @RestController
......
...@@ -23,9 +23,6 @@ import org.springframework.web.bind.annotation.*; ...@@ -23,9 +23,6 @@ import org.springframework.web.bind.annotation.*;
@RequestMapping("/api/recipe") @RequestMapping("/api/recipe")
public class RecipeController { public class RecipeController {
/**
* The recipe service
*/
private final RecipeService recipeService; private final RecipeService recipeService;
/** /**
......
...@@ -45,6 +45,7 @@ public class ShoppingListController { ...@@ -45,6 +45,7 @@ public class ShoppingListController {
* Gets a shopping list by its ID * Gets a shopping list by its ID
* *
* @param id the shopping list ID * @param id the shopping list ID
* @param authentication The authentication object of the user.
* @return the shopping list, or an error if the ID is invalid, * @return the shopping list, or an error if the ID is invalid,
* or the user dose not have the rights to edit the shopping list * or the user dose not have the rights to edit the shopping list
*/ */
...@@ -65,6 +66,7 @@ public class ShoppingListController { ...@@ -65,6 +66,7 @@ public class ShoppingListController {
* Gets a shopping list by its group ID * Gets a shopping list by its group ID
* *
* @param id the request containing the group ID * @param id the request containing the group ID
* @param authentication The authentication object of the user.
* @return the shopping list, or an error if the ID is invalid * @return the shopping list, or an error if the ID is invalid
*/ */
@GetMapping("/group/{groupId}") @GetMapping("/group/{groupId}")
...@@ -150,6 +152,7 @@ public class ShoppingListController { ...@@ -150,6 +152,7 @@ public class ShoppingListController {
* *
* @param shoppingListId the shopping list ID * @param shoppingListId the shopping list ID
* @param ean the product EAN * @param ean the product EAN
* @param auth The authentication object of the user.
* @return the shopping list with the removed product, or an error if the shopping list ID or EAN is invalid * @return the shopping list with the removed product, or an error if the shopping list ID or EAN is invalid
*/ */
@DeleteMapping("/removeProduct/{shoppingListId}/{ean}") @DeleteMapping("/removeProduct/{shoppingListId}/{ean}")
......
...@@ -14,28 +14,24 @@ import ntnu.idatt2016.v233.SmartMat.dto.response.WeeklyMenuResponse; ...@@ -14,28 +14,24 @@ import ntnu.idatt2016.v233.SmartMat.dto.response.WeeklyMenuResponse;
import ntnu.idatt2016.v233.SmartMat.service.RecipeService; import ntnu.idatt2016.v233.SmartMat.service.RecipeService;
import ntnu.idatt2016.v233.SmartMat.service.WeeklyMenuService; import ntnu.idatt2016.v233.SmartMat.service.WeeklyMenuService;
/**
* Controller for weekly menu
*
* @author Stian Lyng
* @version 1.0
*/
@AllArgsConstructor @AllArgsConstructor
@RestController @RestController
@RequestMapping("/api/weeklymenu") @RequestMapping("/api/weeklymenu")
public class WeeklyMenuController { public class WeeklyMenuController {
/*
private WeeklyMenuService weeklyMenuService;
@GetMapping("/{fridgeId}")
public ResponseEntity<List<WeeklyMenuResponse>> getWeeklyMenu(@PathVariable("fridgeId") Long fridgeId) {
List<WeeklyMenuResponse> weeklyMenu = weeklyMenuService.getWeeklyMenu(fridgeId);
if (weeklyMenu.isEmpty()) {
return ResponseEntity.notFound().build();
} else {
return ResponseEntity.ok(weeklyMenu);
}
}
*/
final private RecipeService recipeService; final private RecipeService recipeService;
/**
* Gets weekly menu for a fridge
* @param fridgeId the id of the fridge
* @return the weekly menu for the fridge
*/
@GetMapping("/{fridgeId}") @GetMapping("/{fridgeId}")
public ResponseEntity<Object> compareWeeklyMenuAndRecipeProducts(@PathVariable("fridgeId") Integer fridgeId) { public ResponseEntity<Object> compareWeeklyMenuAndRecipeProducts(@PathVariable("fridgeId") Integer fridgeId) {
List<RecipeWithMatchCount> weeklyMenuDetails = recipeService.getWeeklyMenu(fridgeId); List<RecipeWithMatchCount> weeklyMenuDetails = recipeService.getWeeklyMenu(fridgeId);
......
...@@ -58,7 +58,8 @@ public class FridgeController { ...@@ -58,7 +58,8 @@ public class FridgeController {
/** /**
* Gets the fridge by its fridge id * Gets the fridge by its fridge id
* @param fridgeId the id of the fridge * @param fridgeId the id of the fridge to get
* @param authentication a user authentication object for validation of user authorization
* @return the fridge if it exists, or a 404 if it doesn't, or a 403 if the user is not in the fridge * @return the fridge if it exists, or a 404 if it doesn't, or a 403 if the user is not in the fridge
*/ */
@GetMapping("/fridge/{fridgeId}") @GetMapping("/fridge/{fridgeId}")
...@@ -79,6 +80,7 @@ public class FridgeController { ...@@ -79,6 +80,7 @@ public class FridgeController {
* Adds a product to the fridge of a group * Adds a product to the fridge of a group
* *
* @param request the request containing the group id and product id * @param request the request containing the group id and product id
* @param authentication a user authentication object for validation of user authorization
* @return success if the product was added, bad request if the product was already in the fridge, or not found if the group or product doesn't exist * @return success if the product was added, bad request if the product was already in the fridge, or not found if the group or product doesn't exist
*/ */
@PostMapping("/group/product") @PostMapping("/group/product")
...@@ -107,6 +109,7 @@ public class FridgeController { ...@@ -107,6 +109,7 @@ public class FridgeController {
/** /**
* Updates a product in a fridge * Updates a product in a fridge
* @param request the request containing the group id and product id * @param request the request containing the group id and product id
* @param authentication a user authentication object for validation of user authorization
* @return success if the product was added, bad request if the product was already in the fridge, * @return success if the product was added, bad request if the product was already in the fridge,
* or not found if the group or product doesn't exist * or not found if the group or product doesn't exist
*/ */
...@@ -174,6 +177,7 @@ public class FridgeController { ...@@ -174,6 +177,7 @@ public class FridgeController {
/** /**
* Deletes a product from the fridge * Deletes a product from the fridge
* @param fridgeProductId the id of the fridge product association * @param fridgeProductId the id of the fridge product association
* @param authentication the authentication of the user
* @return success if the product was deleted, bad request if the product wasn't found * @return success if the product was deleted, bad request if the product wasn't found
* , or forbidden if the user is not in the group * , or forbidden if the user is not in the group
*/ */
...@@ -207,6 +211,7 @@ public class FridgeController { ...@@ -207,6 +211,7 @@ public class FridgeController {
* Deletes a product from the fridge and creates a waste object from it. * Deletes a product from the fridge and creates a waste object from it.
* *
* @param fridgeProductId The id of the fridge product association to be deleted * @param fridgeProductId The id of the fridge product association to be deleted
* @param authentication The authentication of the user
* @return A ResponseEntity with status code 200 if successful, * @return A ResponseEntity with status code 200 if successful,
* or status code 404 if the specified fridge product association was not found. * or status code 404 if the specified fridge product association was not found.
* or status code 403 if the user is not in the group * or status code 403 if the user is not in the group
......
...@@ -37,6 +37,7 @@ public class GroupController { ...@@ -37,6 +37,7 @@ public class GroupController {
/** /**
* Gets a group by its id * Gets a group by its id
* @param groupId the id of the group * @param groupId the id of the group
* @param auth the authentication of the user
* @return a ResponseEntity containing the group if it exists, or a 404 if it doesn't * @return a ResponseEntity containing the group if it exists, or a 404 if it doesn't
*/ */
@GetMapping("/{groupId}") @GetMapping("/{groupId}")
...@@ -72,6 +73,7 @@ public class GroupController { ...@@ -72,6 +73,7 @@ public class GroupController {
* Creates a new group * Creates a new group
* *
* @param groupRequest the group to create * @param groupRequest the group to create
* @param auth the authentication of the user
* @return a ResponseEntity containing the created group if it was created successfully, * @return a ResponseEntity containing the created group if it was created successfully,
* or a 400 if the group name is invalid or already exists, or if the username is invalid * or a 400 if the group name is invalid or already exists, or if the username is invalid
*/ */
...@@ -130,6 +132,7 @@ public class GroupController { ...@@ -130,6 +132,7 @@ public class GroupController {
* Gets the level of a group * Gets the level of a group
* *
* @param groupId the id of the group * @param groupId the id of the group
* @param auth the authentication of the user
* @return a ResponseEntity containing the level of the group if it exists, or a 404 if it doesn't * @return a ResponseEntity containing the level of the group if it exists, or a 404 if it doesn't
*/ */
@GetMapping("/{groupId}/level") @GetMapping("/{groupId}/level")
...@@ -174,6 +177,7 @@ public class GroupController { ...@@ -174,6 +177,7 @@ public class GroupController {
* Updates the open/closed status of the group with the specified ID. * Updates the open/closed status of the group with the specified ID.
* *
* @param groupId the ID of the group to update * @param groupId the ID of the group to update
* @param auth the authentication of the user
* @return a ResponseEntity with a Boolean value indicating whether the operation was successful * @return a ResponseEntity with a Boolean value indicating whether the operation was successful
*/ */
@PutMapping("/{groupId}/changeOpen") @PutMapping("/{groupId}/changeOpen")
...@@ -196,6 +200,7 @@ public class GroupController { ...@@ -196,6 +200,7 @@ public class GroupController {
* Handles the HTTP PUT request to change the primary group of a user. * Handles the HTTP PUT request to change the primary group of a user.
* *
* @param newPrimaryGroupId the ID of the new primary group * @param newPrimaryGroupId the ID of the new primary group
* @param auth the authentication of the user
* @return a ResponseEntity object containing an HTTP status code and the updated UserGroupAsso object, * @return a ResponseEntity object containing an HTTP status code and the updated UserGroupAsso object,
* or a ResponseEntity object with an HTTP status code indicating that the request was not successful * or a ResponseEntity object with an HTTP status code indicating that the request was not successful
*/ */
...@@ -244,6 +249,7 @@ public class GroupController { ...@@ -244,6 +249,7 @@ public class GroupController {
* Handles the HTTP POST request to add a new connection between a user and a group. * Handles the HTTP POST request to add a new connection between a user and a group.
* *
* @param groupConnectionRequest the request object containing the username and link code of the user and group to be connected * @param groupConnectionRequest the request object containing the username and link code of the user and group to be connected
* @param auth the authentication of the user
* @return a ResponseEntity object containing an HTTP status code and the newly created UserGroupAsso object, * @return a ResponseEntity object containing an HTTP status code and the newly created UserGroupAsso object,
* or a ResponseEntity object with an HTTP status code indicating that the request was not successful * or a ResponseEntity object with an HTTP status code indicating that the request was not successful
*/ */
...@@ -294,6 +300,7 @@ public class GroupController { ...@@ -294,6 +300,7 @@ public class GroupController {
* Changes the authority level of a user in a group. * Changes the authority level of a user in a group.
* *
* @param authorityRequest the request object containing the username and group ID of the user to change the authority of * @param authorityRequest the request object containing the username and group ID of the user to change the authority of
* @param auth the authentication of the user
* @return a ResponseEntity object containing the updated UserGroupAsso object and an HTTP status code of 200, * @return a ResponseEntity object containing the updated UserGroupAsso object and an HTTP status code of 200,
* or a ResponseEntity object with an HTTP status code of 403 if the user is not authorized to change the authority, * or a ResponseEntity object with an HTTP status code of 403 if the user is not authorized to change the authority,
* or a ResponseEntity object with an HTTP status code of 404 if the group or user does not exist * or a ResponseEntity object with an HTTP status code of 404 if the group or user does not exist
......
...@@ -144,6 +144,7 @@ public class WasteController { ...@@ -144,6 +144,7 @@ public class WasteController {
* The amount is calculated based on the total cost of the expired products. * The amount is calculated based on the total cost of the expired products.
* *
* @param groupId the ID of the group to retrieve the lost money from * @param groupId the ID of the group to retrieve the lost money from
* @param authentication The authentication of the user.
* @return a ResponseEntity with the lost money as a Double if found, or a ResponseEntity with status 404 if the group is not found * @return a ResponseEntity with the lost money as a Double if found, or a ResponseEntity with status 404 if the group is not found
*/ */
@GetMapping("/statistic/lostMoney/{groupId}") @GetMapping("/statistic/lostMoney/{groupId}")
...@@ -159,6 +160,7 @@ public class WasteController { ...@@ -159,6 +160,7 @@ public class WasteController {
* Retrieves the amount of CO2 emitted annually per person in a specific group. * Retrieves the amount of CO2 emitted annually per person in a specific group.
* *
* @param groupId the ID of the group to retrieve the statistic for * @param groupId the ID of the group to retrieve the statistic for
* @param authentication The authentication of the user.
* @return a ResponseEntity containing the amount of CO2 emitted annually per person in the group, * @return a ResponseEntity containing the amount of CO2 emitted annually per person in the group,
* or a ResponseEntity with HTTP status 404 (not found) if the group or data is not found * or a ResponseEntity with HTTP status 404 (not found) if the group or data is not found
*/ */
......
...@@ -23,7 +23,6 @@ import java.util.Optional; ...@@ -23,7 +23,6 @@ import java.util.Optional;
* It uses the product service to handle the requests. * It uses the product service to handle the requests.
* @version 1.0 * @version 1.0
* @Author Birk * @Author Birk
* @since 26.04.2023
*/ */
@RestController @RestController
@AllArgsConstructor @AllArgsConstructor
...@@ -130,7 +129,7 @@ public class ProductController { ...@@ -130,7 +129,7 @@ public class ProductController {
/** /**
* Returns all products in the database. * Returns all products in the database.
* @return All products in the database. * @return A list of all products in the database.
*/ */
@GetMapping("/") @GetMapping("/")
public ResponseEntity<List<Product>> getAllProducts() { public ResponseEntity<List<Product>> getAllProducts() {
......
...@@ -18,7 +18,6 @@ import java.util.Optional; ...@@ -18,7 +18,6 @@ import java.util.Optional;
* *
* @author Anders * @author Anders
* @version 1.0 * @version 1.0
* @sinc 20.04.2023
*/ */
@AllArgsConstructor @AllArgsConstructor
......
...@@ -26,7 +26,6 @@ import java.util.stream.Collectors; ...@@ -26,7 +26,6 @@ import java.util.stream.Collectors;
* It uses the user service to handle the requests. * It uses the user service to handle the requests.
* @author Birk * @author Birk
* @version 1.2 * @version 1.2
* @since 20.04.2023
*/ */
@AllArgsConstructor @AllArgsConstructor
@RestController @RestController
...@@ -38,16 +37,6 @@ public class UserController { ...@@ -38,16 +37,6 @@ public class UserController {
PasswordEncoder passwordEncoder; PasswordEncoder passwordEncoder;
/** /**
* Use this JSON format:
* {
* "username":"kari123",
* "password":"sjokoladekake",
* "email":"kari.nordman@gmail.com",
* "firstName":"kari",
* "lastName":"nordmann",
* "birthDate":"2001-12-12"
* }
*
* create a new user in the database * create a new user in the database
* uses the user service * uses the user service
* @param user The user to be registered. * @param user The user to be registered.
...@@ -88,6 +77,7 @@ public class UserController { ...@@ -88,6 +77,7 @@ public class UserController {
/** /**
* Get a user from the database. * Get a user from the database.
* @param username The username of the user to be fetched. * @param username The username of the user to be fetched.
* @param authentication The authentication object of the user.
* @return The user with the given username. * @return The user with the given username.
*/ */
@GetMapping("/get/{username}") @GetMapping("/get/{username}")
...@@ -110,6 +100,7 @@ public class UserController { ...@@ -110,6 +100,7 @@ public class UserController {
* Adds the specified allergy to the user with the given username. * Adds the specified allergy to the user with the given username.
* *
* @param allergyRequest the request object containing the username and allergy name * @param allergyRequest the request object containing the username and allergy name
* @param authentication The authentication object of the user.
* @return a ResponseEntity with a boolean indicating whether the operation was successful * @return a ResponseEntity with a boolean indicating whether the operation was successful
*/ */
@PostMapping("/addAllergy") @PostMapping("/addAllergy")
...@@ -126,6 +117,7 @@ public class UserController { ...@@ -126,6 +117,7 @@ public class UserController {
* Deletes the specified allergy from the user with the given username. * Deletes the specified allergy from the user with the given username.
* *
* @param allergyRequest the request object containing the username and allergy name * @param allergyRequest the request object containing the username and allergy name
* @param authentication The authentication object of the user.
* @return a ResponseEntity with a boolean indicating whether the operation was successful * @return a ResponseEntity with a boolean indicating whether the operation was successful
*/ */
@DeleteMapping("/deleteAllergy") @DeleteMapping("/deleteAllergy")
......
...@@ -5,7 +5,6 @@ package ntnu.idatt2016.v233.SmartMat.dto.enums; ...@@ -5,7 +5,6 @@ package ntnu.idatt2016.v233.SmartMat.dto.enums;
* *
* @author Birk * @author Birk
* @version 2.0 * @version 2.0
* @since 19.04.2023
* *
*/ */
public enum Authority{ public enum Authority{
......
...@@ -2,7 +2,12 @@ package ntnu.idatt2016.v233.SmartMat.dto.request; ...@@ -2,7 +2,12 @@ package ntnu.idatt2016.v233.SmartMat.dto.request;
/** /**
* FridgeProductRequest is a record class representing a request to add a product to a fridge. * FridgeProductRequest is a record class representing a request to add a product to a fridge.
* @param fridgeProductId the id of the fridge product
* @param groupId the id of the group * @param groupId the id of the group
* @param ean the ean of the product
* @param amount the amount of the product
* @param days the days before expiry date of the product
* @param price the price of the product
*/ */
public record FridgeProductRequest(long fridgeProductId, long groupId, long ean, int amount, int days, double price) { public record FridgeProductRequest(long fridgeProductId, long groupId, long ean, int amount, int days, double price) {
} }
...@@ -2,11 +2,6 @@ package ntnu.idatt2016.v233.SmartMat.dto.request; ...@@ -2,11 +2,6 @@ package ntnu.idatt2016.v233.SmartMat.dto.request;
/** /**
* LoginRequest is a record class representing a login request. * LoginRequest is a record class representing a login request.
*
* @author Anders
* @version 1.0
* @since 18.04.2023
*
* @param username * @param username
* @param password * @param password
*/ */
......
...@@ -4,6 +4,15 @@ import lombok.Builder; ...@@ -4,6 +4,15 @@ import lombok.Builder;
import java.util.List; import java.util.List;
/**
* ProductRequest is a record class representing a request to create a product.
* @param ean the ean of the product
* @param name the name of the product
* @param description the description of the product
* @param image the image of the product
* @param price the price of the product
* @param allergies the allergies of the product
*/
@Builder @Builder
public record ProductRequest(long ean, String name, String description, String image, double price, List<String> allergies) { public record ProductRequest(long ean, String name, String description, String image, double price, List<String> allergies) {
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment