From 44b7ed4c6ace690d7b703a55ab43ce59232f87ab Mon Sep 17 00:00:00 2001
From: C24053098 <akbarb@cardiff.ac.uk>
Date: Sun, 6 Apr 2025 23:00:06 +0100
Subject: [PATCH] Save local changes before switching branches

---
 src/main/Jenkinsfile.groovy        | 47 ++++++++++++++++++++++++++++++
 src/main/resources/application.yml | 10 +++----
 src/main/resources/schema.sql      | 39 ++++++++++++++-----------
 3 files changed, 74 insertions(+), 22 deletions(-)
 create mode 100644 src/main/Jenkinsfile.groovy

diff --git a/src/main/Jenkinsfile.groovy b/src/main/Jenkinsfile.groovy
new file mode 100644
index 0000000..a1e2cdd
--- /dev/null
+++ b/src/main/Jenkinsfile.groovy
@@ -0,0 +1,47 @@
+pipeline {
+    agent {
+        label 'your-agent-label'  // Replace with your agent's label
+    }
+    stages {
+        stage('Checkout') {
+            steps {
+                git credentialsId: 'your-repo-credentials', url: 'your-repo-url'
+            }
+        }
+        stage('Build') {
+            steps {
+                sh './gradlew clean build'
+            }
+        }
+        stage('Test') {
+            steps {
+                sh './gradlew test'
+            }
+        }
+        stage('Database Migration') {
+            steps {
+                sh './migrate_db.sh'
+            }
+        }
+        stage('Deploy') {
+            steps {
+                sh 'pkill -f \'java -jar\''
+                sh 'nohup java -jar build/libs/HealthCare-0.0.1-SNAPSHOT.jar --server.port=8081 > app.log 2>&1 &'
+            }
+        }
+    }
+    post {
+        always {
+            echo "Pipeline finished"
+        }
+        success {
+            echo "Pipeline succeeded"
+        }
+        failure {
+            echo "Pipeline failed"
+            mail to: 'your-email@example.com',
+                 subject: "Jenkins Pipeline Failed",
+                 body: "The pipeline ${env.JOB_NAME} build ${env.BUILD_NUMBER} failed."
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 6263e3e..0f7d2e7 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,13 +1,13 @@
 server:
-  port: 8080
+  port: 8081
 spring:
   profiles:
     active: dev
   datasource:
-    url: ${healthcare.datasource.url}
-    username: ${healthcare.datasource.username}
-    password: ${healthcare.datasource.password}
-    port: ${healthcare.datasource.port}
+    url: jdbc:mysql://localhost:3306/health_care
+    username: root
+    password: root
+    port: 3306
     sql:
       init:
         schema-locations: classpath:schema.sql
diff --git a/src/main/resources/schema.sql b/src/main/resources/schema.sql
index cecb3c0..8f6fef5 100644
--- a/src/main/resources/schema.sql
+++ b/src/main/resources/schema.sql
@@ -14,9 +14,9 @@
  Date: 09/12/2024 17:20:20
 */
 
-CREATE DATABASE IF NOT EXISTS healthcare;
+CREATE DATABASE IF NOT EXISTS health_care;
+USE health_care;
 
-USE healthcare;
 
 SET NAMES utf8mb4;
 SET FOREIGN_KEY_CHECKS = 0;
@@ -66,22 +66,23 @@ CREATE TABLE `device`  (
 -- Table structure for hospital
 -- ----------------------------
 DROP TABLE IF EXISTS `hospital`;
-CREATE TABLE `hospital`  (
+CREATE TABLE `hospital` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
-  `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
-  `amountPatient` int(11) NULL DEFAULT NULL,
-  `maxAmount` int(11) NULL DEFAULT NULL,
-  `type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
-  `address` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
-  `phone` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
-  `status` int(11) NULL DEFAULT NULL,
-  `roleId` int(11) NULL DEFAULT NULL,
-  `email` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
-  `password` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
-  `patientId` int(11) NULL DEFAULT NULL,
-  `deviceId` int(11) NULL DEFAULT NULL,
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic;
+  `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
+  `amountPatient` int(11) DEFAULT NULL,
+  `maxAmount` int(11) DEFAULT NULL,
+  `type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
+  `address` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
+  `phone` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
+  `status` int(11) DEFAULT NULL,
+  `roleId` int(11) DEFAULT NULL,
+  `email` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
+  `password` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
+  `patientId` int(11) DEFAULT NULL,
+  `deviceId` int(11) DEFAULT NULL,
+  `approval_status` varchar(20) DEFAULT 'PENDING',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci ROW_FORMAT=DYNAMIC;
 
 -- ----------------------------
 -- Table structure for hospital_device
@@ -157,4 +158,8 @@ CREATE TABLE `super_admin`  (
   PRIMARY KEY (`id`) USING BTREE
 ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic;
 
+UPDATE hospital
+SET approval_status = 'APPROVED'
+WHERE id = 1;
+
 SET FOREIGN_KEY_CHECKS = 1;
-- 
GitLab