Skip to content
Snippets Groups Projects
Commit cf829cff authored by Salomo309's avatar Salomo309
Browse files

refactor: log request

parent c66945d0
1 merge request!1Merge dev to main
......@@ -6,6 +6,7 @@ import javax.xml.ws.handler.soap.SOAPMessageContext;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpExchange;
import org.tonality.repository.Logging;
// https://stackoverflow.com/questions/12727989/jax-ws-getting-client-ip/13693024#13693024
public abstract class BaseWebService {
......@@ -30,10 +31,27 @@ public abstract class BaseWebService {
return getClientApiKey() != null && getClientApiKey().equals(System.getenv("API_KEY"));
}
protected void logRequest() throws Exception {
protected void logRequest(String endpoint, String description) throws Exception {
if (!isRequestValid()) throw new Exception("Invalid request");
// TODO : implement logging to database
System.out.println("Client IP: " + getClientIp());
System.out.println("Client API Key: " + getClientApiKey());
try {
String clientIp = getClientIp();
String clientApiKey = getClientApiKey();
org.tonality.model.Logging log = org.tonality.repository.Logging.getInstance().create(endpoint, clientIp, description);
if (log != null) {
System.out.println("Request logged successfully:");
System.out.println("Client IP: " + clientIp);
System.out.println("Client API Key: " + clientApiKey);
} else {
throw new Exception("Failed to log request");
}
} catch (Exception e) {
e.printStackTrace();
throw new Exception("Failed to log request");
}
}
}
......@@ -12,7 +12,8 @@ public class Subscription extends BaseWebService implements ISubscription {
@Override
public org.tonality.model.Subscription createSubscription(long userId, String username, long premiumAlbumId, String albumName, String artist) {
try {
logRequest();
String description = "User ID: " + userId + ", Username: " + username + ", Premium Album ID: " + + premiumAlbumId + ", Album Name" + albumName + ", Artist: " + artist;
logRequest("subscription", description);
return org.tonality.repository.Subscription.getInstance().createSubscription(userId, username, premiumAlbumId, albumName, artist);
} catch (Exception e) {
e.printStackTrace();
......@@ -23,7 +24,8 @@ public class Subscription extends BaseWebService implements ISubscription {
@Override
public org.tonality.model.Subscription updateSubscription(long userId, long premiumAlbumId, SubscriptionStatus status) {
try {
logRequest();
String description = "User ID: " + userId + ", Premium Album ID: " + + premiumAlbumId + ", Subscription Status: " + status;
logRequest("subscription", description);
return org.tonality.repository.Subscription.getInstance().updateSubscription(userId, premiumAlbumId, status);
} catch (Exception e) {
e.printStackTrace();
......@@ -34,7 +36,8 @@ public class Subscription extends BaseWebService implements ISubscription {
@Override
public org.tonality.model.Subscription getSubscription(long userId, long premiumAlbumId) {
try {
logRequest();
String description = "User ID: " + userId + ", Premium Album ID: " + + premiumAlbumId;
logRequest("subscription", description);
SubscriptionMiddleware subscriptionMiddleware = new SubscriptionMiddleware();
return subscriptionMiddleware.execute(org.tonality.repository.Subscription.getInstance().getById(new SubscriptionId(userId, premiumAlbumId)));
} catch (Exception e) {
......@@ -46,7 +49,8 @@ public class Subscription extends BaseWebService implements ISubscription {
@Override
public List<org.tonality.model.Subscription> searchSubscription(SubscriptionStatus status, String searchInput, String orderBy, int page, int size) {
try {
logRequest();
String description = "Subscription Status: " + status + ", Search Input: " + searchInput + ", Order By: " + orderBy + ", Page: " + page + ", Size: " + size;
logRequest("subscription", description);
SubscriptionMiddleware subscriptionMiddleware = new SubscriptionMiddleware();
return subscriptionMiddleware.execute(org.tonality.repository.Subscription.getInstance().searchSubscriptions(status, searchInput, orderBy, page, size));
} catch (Exception e) {
......@@ -58,7 +62,8 @@ public class Subscription extends BaseWebService implements ISubscription {
@Override
public List<org.tonality.model.Subscription> getSubscriptionsByStatus(SubscriptionStatus status, String orderBy, int page, int size) {
try {
logRequest();
String description = "Subscription Status: " + status + ", Order By: " + orderBy + ", Page: " + page + ", Size: " + size;
logRequest("subscription", description);
SubscriptionMiddleware subscriptionMiddleware = new SubscriptionMiddleware();
return subscriptionMiddleware.execute(org.tonality.repository.Subscription.getInstance().getSubscriptionByStatus(status, orderBy, page, size));
} catch (Exception e) {
......@@ -70,7 +75,8 @@ public class Subscription extends BaseWebService implements ISubscription {
@Override
public List<org.tonality.model.Subscription> getSubscriptionsByUserId(long userId, int page, int size) {
try {
logRequest();
String description = "User ID: " + userId + ", Page: " + page + ", Size: " + size;
logRequest("subscription", description);
SubscriptionMiddleware subscriptionMiddleware = new SubscriptionMiddleware();
return subscriptionMiddleware.execute(org.tonality.repository.Subscription.getInstance().getSubscriptionsByUserId(userId, page, size));
} catch (Exception e) {
......@@ -82,7 +88,8 @@ public class Subscription extends BaseWebService implements ISubscription {
@Override
public boolean deleteSubscription(long userId, long premiumAlbumId) {
try {
logRequest();
String description = "User ID: " + userId + ", Premium Album ID: " + premiumAlbumId;
logRequest("subscription", description);
if (!org.tonality.repository.Subscription.getInstance().deleteById(new org.tonality.model.SubscriptionId(userId, premiumAlbumId))) {
throw new Exception("Failed to delete subscription");
}
......@@ -96,7 +103,8 @@ public class Subscription extends BaseWebService implements ISubscription {
@Override
public boolean deleteSubscriptionsByUserId(long userId) {
try {
logRequest();
String description = "User ID: " + userId;
logRequest("subscription", description);
return org.tonality.repository.Subscription.getInstance().deleteSubscriptionsByUserId(userId);
} catch (Exception e) {
e.printStackTrace();
......@@ -107,7 +115,8 @@ public class Subscription extends BaseWebService implements ISubscription {
@Override
public boolean deleteSubscriptionsByAlbumId(long premiumAlbumId) {
try {
logRequest();
String description = "Premium Album ID: " + premiumAlbumId;
logRequest("subscription", description);
return org.tonality.repository.Subscription.getInstance().deleteSubscriptionsByAlbumId(premiumAlbumId);
} catch (Exception e) {
e.printStackTrace();
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment