From 07e62f111f743ab378367b594aba309eb523dcb4 Mon Sep 17 00:00:00 2001
From: BEAUVAIS ANTOINE <antoine.beauvais@etu.unistra.fr>
Date: Wed, 22 Sep 2021 16:56:57 +0200
Subject: [PATCH] Added stub API POST mapping for transaction submission.

Also added some documentation for the RetrieveCategories mapping.
---
 build.gradle                                  |  2 ++
 .../java/fr/unistra/sil/erp/back/Config.java  |  3 ++
 .../ApiRetrieveCategoriesController.java      |  5 ++++
 .../ApiSubmitTransactionController.java       | 29 +++++++++++++++++++
 4 files changed, 39 insertions(+)
 create mode 100644 src/main/java/fr/unistra/sil/erp/back/api/controller/ApiSubmitTransactionController.java

diff --git a/build.gradle b/build.gradle
index ac86de9..5d3de97 100644
--- a/build.gradle
+++ b/build.gradle
@@ -17,6 +17,8 @@ dependencies {
 
         implementation 'org.xerial:sqlite-jdbc:3.36.0.3'
 
+        implementation group: 'com.google.code.gson', name: 'gson', version: '2.7'
+
 	implementation 'org.springframework.boot:spring-boot-starter-web'
 	providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
 	testImplementation 'org.springframework.boot:spring-boot-starter-test'
diff --git a/src/main/java/fr/unistra/sil/erp/back/Config.java b/src/main/java/fr/unistra/sil/erp/back/Config.java
index a3de839..0fa1b11 100644
--- a/src/main/java/fr/unistra/sil/erp/back/Config.java
+++ b/src/main/java/fr/unistra/sil/erp/back/Config.java
@@ -19,4 +19,7 @@ public class Config {
     public static final String MAPPING_GETCATEGORIES = URL_PREFIX +
             "/retrieveCategories";
     
+    public static final String MAPPING_SUBTRANSAC = URL_PREFIX +
+            "/submitTransaction";
+    
 }
diff --git a/src/main/java/fr/unistra/sil/erp/back/api/controller/ApiRetrieveCategoriesController.java b/src/main/java/fr/unistra/sil/erp/back/api/controller/ApiRetrieveCategoriesController.java
index 7e512b5..3696798 100644
--- a/src/main/java/fr/unistra/sil/erp/back/api/controller/ApiRetrieveCategoriesController.java
+++ b/src/main/java/fr/unistra/sil/erp/back/api/controller/ApiRetrieveCategoriesController.java
@@ -24,6 +24,11 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 public class ApiRetrieveCategoriesController {
     
+    /**
+     * Returns the list of categories in JSON format.
+     * @return the HTTP response.
+     * @throws ApiServerErrorException Database failure.
+     */
     @GetMapping(MAPPING_GETCATEGORIES)
     public ResponseEntity<Object> getCategories() throws ApiServerErrorException
     {
diff --git a/src/main/java/fr/unistra/sil/erp/back/api/controller/ApiSubmitTransactionController.java b/src/main/java/fr/unistra/sil/erp/back/api/controller/ApiSubmitTransactionController.java
new file mode 100644
index 0000000..761f360
--- /dev/null
+++ b/src/main/java/fr/unistra/sil/erp/back/api/controller/ApiSubmitTransactionController.java
@@ -0,0 +1,29 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package fr.unistra.sil.erp.back.api.controller;
+
+import static fr.unistra.sil.erp.back.Config.MAPPING_SUBTRANSAC;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * REST Controller for submitting transactions.
+ * @author BEAUVAIS ANTOINE
+ */
+@RestController
+public class ApiSubmitTransactionController {
+    
+    @RequestMapping(value=MAPPING_SUBTRANSAC, method = RequestMethod.POST)
+    public ResponseEntity<Object> submitTransaction(HttpServletRequest request,
+            HttpServletResponse response)
+    {
+        throw new UnsupportedOperationException("Not yet supported.");
+    }
+    
+}
-- 
GitLab