SHARE
TWEET

Untitled

a guest Feb 16th, 2020 83 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package io.everytrade.server.auth;
  2.  
  3. import io.everytrade.model.User;
  4. import io.everytrade.server.AppSettings;
  5. import io.everytrade.server.api.jpa.JPAUtil;
  6.  
  7. import javax.ejb.Stateless;
  8. import javax.inject.Inject;
  9. import javax.servlet.http.HttpServletRequest;
  10. import javax.ws.rs.core.Context;
  11. import javax.ws.rs.core.Response;
  12. import java.util.ArrayList;
  13. import java.util.List;
  14. import java.util.UUID;
  15.  
  16. @Stateless
  17. public class ResourceBase<X> {
  18.     @Context
  19.     private HttpServletRequest request;
  20.  
  21.     @Inject
  22.     protected JPAUtil jpa;
  23.  
  24.     public User getUser() {
  25.         try {
  26.             return (User) request.getAttribute(AuthFilter.AUTH_ATTRIBUTE_USER);
  27.         } catch (Exception e) {
  28.             System.err.println("NO AUTH 1 - " + request);
  29.         }
  30.         return null;
  31.     }
  32.  
  33.     public boolean isSuperUser(){
  34.         return "superuser@everytrade.io".equalsIgnoreCase(getUser().getEmail());
  35.     }
  36.  
  37.     public String getToken() {
  38.         try {
  39.             return (String) request.getAttribute(AuthFilter.AUTH_ATTRIBUTE_TOKEN);
  40.         } catch (Exception e) {
  41.             System.err.println("NO AUTH 2 - " + request);
  42.         }
  43.         return null;
  44.     }
  45.  
  46.     public AuthToken getAuthToken() throws Exception {
  47.         return AuthServer.getInstance().getAuthTokenFromToken(getToken());
  48.     }
  49.  
  50.     protected static Response ok() {
  51.         return ok(null);
  52.     }
  53.  
  54.     protected static Response ok(Object entity) {
  55.         Response.ResponseBuilder resourceBuilder = entity != null ? Response.ok(entity) : Response.ok();
  56.         return resourceBuilder.build();
  57.     }
  58.  
  59.     protected static Response error(int code) {
  60.         return Response.status(code).build();
  61.     }
  62.  
  63.     protected static Response error(String message) {
  64.         return error(new RuntimeException(message), null);
  65.     }
  66.  
  67.     protected Response error(Exception e) {
  68.         return error(e, null);
  69.     }
  70.  
  71.     protected static Response error(Exception exception, String message) {
  72.         Response.ResponseBuilder resourceBuilder = Response.status(400);//serverError();
  73.         String errorCode = UUID.randomUUID().toString();
  74.  
  75.         if (exception != null) {
  76.             resourceBuilder.entity(new ErrorEntity(errorCode, exception));
  77.         } else {
  78.             resourceBuilder.entity(new ErrorEntity(errorCode, message));
  79.         }
  80.  
  81.         return resourceBuilder.build();
  82.     }
  83.  
  84.     private static class ErrorEntity {
  85.  
  86.         private final String errorCode;
  87.         private final Exception exception;
  88.         private final List<String> errors;
  89.  
  90.         public ErrorEntity(String errorCode, Exception exception) {
  91.             this.errorCode = errorCode;
  92.             this.exception = exception;
  93.             this.errors = null;
  94.         }
  95.  
  96.         public ErrorEntity(String errorCode, String error) {
  97.             this.errorCode = errorCode;
  98.             this.exception = null;
  99.             this.errors = new ArrayList<>();
  100.             this.errors.add(error);
  101.         }
  102.  
  103.         @SuppressWarnings("unused")
  104.         public String getErrorCode() {
  105.             return errorCode;
  106.         }
  107.  
  108.         @SuppressWarnings("unused")
  109.         public String getErrorMessage() {
  110.             /*if (exception != null && ( AppSettings.isDev() || AppSettings.isStage() )) {
  111.                 StringBuilder builder = new StringBuilder();
  112.                 builder.append(exception.getClass().getName()).append(": ");
  113.                 builder.append(exception.getMessage());
  114.                 return builder.toString();
  115.             } else {
  116.  
  117.             }*/
  118.             if(exception!=null){
  119.                 StringBuilder builder = new StringBuilder();
  120.                 //builder.append(exception.getClass().getName()).append(": ");
  121.                 builder.append(exception.getMessage());
  122.                 return builder.toString();
  123.             }
  124.             return "";
  125.         }
  126.  
  127.         @SuppressWarnings("unused")
  128.         public StackTraceElement[] getStackTrace() {
  129.             /*if (exception != null && ( AppSettings.isDev() || AppSettings.isStage() )) {
  130.                 return exception.getStackTrace();
  131.             } else {
  132.                 return null;
  133.             }*/
  134.             if (exception != null){
  135.                 return exception.getStackTrace();
  136.             }
  137.             return null;
  138.  
  139.         }
  140.     }
  141.  
  142.     /*
  143.         @GET
  144.       public List<T> getList() throws SQLException, NamingException {
  145.         List records = getTixQuery();
  146.         return records;
  147.       }
  148.  
  149.       @GET
  150.       @Path("{id}")
  151.       public List<T> getSingle(@PathParam("id") int id) throws NamingException {
  152.         List records = getSingleQuery(id);
  153.         return records;
  154.       }
  155.  
  156.       @POST
  157.       public void insertTix(T t) throws NamingException, SQLException {
  158.         createQuery(t);
  159.       }
  160.      */
  161.  
  162. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top