Skip to content

Commit

Permalink
update: changed LinuxTerminal to OSTerminal
Browse files Browse the repository at this point in the history
  • Loading branch information
AaronMk44 committed Oct 24, 2023
1 parent fb67891 commit f21e851
Show file tree
Hide file tree
Showing 8 changed files with 54 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public ResponseEntity<ApiResponse> deleteDatabaseUser(@RequestBody UserAccount u
@PostMapping("database/new")
public ResponseEntity<ApiResponse> createDatabase(@RequestBody Database database){

this.service.createDB(database);
this.service.createDb(database);

ApiResponse response = new ApiResponse(
"Database successfully created",
Expand All @@ -76,7 +76,7 @@ public ResponseEntity<ApiResponse> createDatabase(@RequestBody Database database
@PostMapping("database/delete")
public ResponseEntity<ApiResponse> deleteDatabase(@RequestBody Database database){

this.service.dropDB(database);
this.service.dropDb(database);

ApiResponse response = new ApiResponse(
"Database successfully dropped",
Expand Down
22 changes: 11 additions & 11 deletions src/main/java/org/itp/engine/database/DatabaseServerService.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package org.itp.engine.database;

import org.itp.engine.linuxos.LinuxTerminal;
import org.itp.engine.linuxos.TerminalOperationSession;
import org.itp.engine.linuxos.TerminalOperationSessionFactory;
import org.itp.engine.osutils.OSTerminal;
import org.itp.engine.osutils.TerminalOperationSession;
import org.itp.engine.osutils.TerminalOperationSessionFactory;
import org.itp.engine.useraccount.UserAccount;
import org.springframework.stereotype.Service;

Expand All @@ -19,7 +19,7 @@ public boolean createDbAccount(UserAccount user) {
.addUserInput("exit")
.addUserInput("");

LinuxTerminal terminal = new LinuxTerminal();
OSTerminal terminal = new OSTerminal();
terminal.setSession(session);
terminal.executeSession();

Expand All @@ -34,7 +34,7 @@ public boolean updateDbAccount(UserAccount user) {
.addUserInput("ALTER USER '" + user.getDbUsername() + "'@'localhost' IDENTIFIED WITH caching_sha2_password BY '" + user.getDbUsername() + "';")
.addUserInput("exit;");

LinuxTerminal terminal = new LinuxTerminal();
OSTerminal terminal = new OSTerminal();
terminal.setSession(session);
terminal.executeSession();

Expand All @@ -51,38 +51,38 @@ public boolean deleteDbAccount(UserAccount user) {
.addUserInput("DROP USER '" + user.getDbUsername() + "'@'localhost';")
.addUserInput("exit;");

LinuxTerminal terminal = new LinuxTerminal();
OSTerminal terminal = new OSTerminal();
terminal.setSession(session);
System.out.println(terminal.executeSession());

return true;
}

public boolean createDB(Database database) {
public boolean createDb(Database database) {
TerminalOperationSession session = TerminalOperationSessionFactory
.getSessionWith("mysql");

session
.addUserInput("CREATE DATABASE "+database.getDatabaseName()+";")
.addUserInput("CREATE DATABASE " + database.getDatabaseName() + ";")
.addUserInput("exit;")
.addUserInput("");

LinuxTerminal terminal = new LinuxTerminal();
OSTerminal terminal = new OSTerminal();
terminal.setSession(session);
terminal.executeSession();

return true;
}

public boolean dropDB(Database database) {
public boolean dropDb(Database database) {
TerminalOperationSession session = TerminalOperationSessionFactory
.getSessionWith("mysql");

session
.addUserInput("DROP DATABASE " + database.getDatabaseName() + ";")
.addUserInput("exit;");

LinuxTerminal terminal = new LinuxTerminal();
OSTerminal terminal = new OSTerminal();
terminal.setSession(session);
terminal.executeSession();

Expand Down
8 changes: 4 additions & 4 deletions src/main/java/org/itp/engine/ftp/FtpServerService.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package org.itp.engine.ftp;

import org.itp.engine.linuxos.LinuxTerminal;
import org.itp.engine.linuxos.TerminalOperationSession;
import org.itp.engine.linuxos.TerminalOperationSessionFactory;
import org.itp.engine.osutils.OSTerminal;
import org.itp.engine.osutils.TerminalOperationSession;
import org.itp.engine.osutils.TerminalOperationSessionFactory;
import org.itp.engine.useraccount.UserAccount;
import org.springframework.stereotype.Service;

Expand Down Expand Up @@ -48,7 +48,7 @@ public boolean createFtpAccount(UserAccount user){
// Step 10: Cleanup
.addUserInput("systemctl restart vsftpd");

LinuxTerminal terminal = new LinuxTerminal();
OSTerminal terminal = new OSTerminal();
terminal.setSession(session);
System.out.println(terminal.executeSession());

Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package org.itp.engine.linuxos;
package org.itp.engine.osutils;
import java.io.*;
import java.util.List;

public class LinuxTerminal {
public class OSTerminal {

private TerminalOperationSession session;
private StringBuilder sessionOutput;

public LinuxTerminal() {
public OSTerminal() {
this.sessionOutput = new StringBuilder();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package org.itp.engine.linuxos;
package org.itp.engine.osutils;

import java.util.ArrayList;
import java.util.List;

public class TerminalOperationSession {

private String initialCommand;
private List<String> userInputs;
private final List<String> userInputs;

public TerminalOperationSession() {
this.initialCommand = "";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.itp.engine.linuxos;
package org.itp.engine.osutils;

public class TerminalOperationSessionFactory {
public static TerminalOperationSession getSessionWith(String initialCommand){
Expand Down
10 changes: 5 additions & 5 deletions src/main/java/org/itp/engine/useraccount/UserAccountService.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package org.itp.engine.useraccount;

import org.itp.engine.linuxos.LinuxTerminal;
import org.itp.engine.linuxos.TerminalOperationSession;
import org.itp.engine.linuxos.TerminalOperationSessionFactory;
import org.itp.engine.osutils.OSTerminal;
import org.itp.engine.osutils.TerminalOperationSession;
import org.itp.engine.osutils.TerminalOperationSessionFactory;
import org.springframework.stereotype.Service;

@Service
Expand All @@ -22,7 +22,7 @@ public boolean createUser(UserAccount user){
.addUserInput("")
.addUserInput("Y");

LinuxTerminal terminal = new LinuxTerminal();
OSTerminal terminal = new OSTerminal();
terminal.setSession(session);
String output = terminal.executeSession();

Expand All @@ -39,7 +39,7 @@ public boolean deleteUser(UserAccount user) {
.addUserInput("systemctl restart vsftpd")
.addUserInput("systemctl reload apache2");

LinuxTerminal terminal = new LinuxTerminal();
OSTerminal terminal = new OSTerminal();
terminal.setSession(session);
terminal.executeSession();

Expand Down
30 changes: 26 additions & 4 deletions src/main/java/org/itp/engine/website/WebsiteService.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package org.itp.engine.website;

import org.itp.engine.linuxos.LinuxTerminal;
import org.itp.engine.linuxos.TerminalOperationSession;
import org.itp.engine.linuxos.TerminalOperationSessionFactory;
import org.itp.engine.osutils.OSTerminal;
import org.itp.engine.osutils.TerminalOperationSession;
import org.itp.engine.osutils.TerminalOperationSessionFactory;
import org.springframework.stereotype.Service;

import java.io.FileWriter;
Expand Down Expand Up @@ -50,9 +50,31 @@ public void createWebsite(Website website) {
// Step 8: Reload apache
.addUserInput("systemctl reload apache2");

LinuxTerminal terminal = new LinuxTerminal();
OSTerminal terminal = new OSTerminal();
terminal.setSession(session);
terminal.executeSession();

}

// TODO: Implement delete website
// public void deleteWebsite(Website website){
// TerminalOperationSession session = TerminalOperationSessionFactory
// .getSessionWith("bash");
// session
// // Step 2: Create Website Folder
// .addUserInput("rm -r " + website.getWebsiteAbsolutePath())
//
// // Step 5: Allow traffic through designated port
// .addUserInput("ufw allow " + website.getPortNumber())
// // Step 6: Add port to apache ports as well
// .addUserInput("echo \"Listen " + website.getPortNumber() + "\" | sudo tee -a /etc/apache2/ports.conf")
// // Step 7: Activate vhost
// .addUserInput("a2dissite " + website.getVhostIdentifier() + ".conf")
// // Step 8: Reload apache
// .addUserInput("systemctl reload apache2");
//
// OSTerminal terminal = new OSTerminal();
// terminal.setSession(session);
// terminal.executeSession();
// }
}

0 comments on commit f21e851

Please sign in to comment.