Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package io.everytrade.server.auth;
- import io.everytrade.model.User;
- import io.everytrade.server.AppSettings;
- import io.everytrade.server.api.jpa.JPAUtil;
- import javax.ejb.Stateless;
- import javax.inject.Inject;
- import javax.servlet.http.HttpServletRequest;
- import javax.ws.rs.core.Context;
- import javax.ws.rs.core.Response;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.UUID;
- @Stateless
- public class ResourceBase<X> {
- @Context
- private HttpServletRequest request;
- @Inject
- protected JPAUtil jpa;
- public User getUser() {
- try {
- return (User) request.getAttribute(AuthFilter.AUTH_ATTRIBUTE_USER);
- } catch (Exception e) {
- System.err.println("NO AUTH 1 - " + request);
- }
- return null;
- }
- public boolean isSuperUser(){
- return "superuser@everytrade.io".equalsIgnoreCase(getUser().getEmail());
- }
- public String getToken() {
- try {
- return (String) request.getAttribute(AuthFilter.AUTH_ATTRIBUTE_TOKEN);
- } catch (Exception e) {
- System.err.println("NO AUTH 2 - " + request);
- }
- return null;
- }
- public AuthToken getAuthToken() throws Exception {
- return AuthServer.getInstance().getAuthTokenFromToken(getToken());
- }
- protected static Response ok() {
- return ok(null);
- }
- protected static Response ok(Object entity) {
- Response.ResponseBuilder resourceBuilder = entity != null ? Response.ok(entity) : Response.ok();
- return resourceBuilder.build();
- }
- protected static Response error(int code) {
- return Response.status(code).build();
- }
- protected static Response error(String message) {
- return error(new RuntimeException(message), null);
- }
- protected Response error(Exception e) {
- return error(e, null);
- }
- protected static Response error(Exception exception, String message) {
- Response.ResponseBuilder resourceBuilder = Response.status(400);//serverError();
- String errorCode = UUID.randomUUID().toString();
- if (exception != null) {
- resourceBuilder.entity(new ErrorEntity(errorCode, exception));
- } else {
- resourceBuilder.entity(new ErrorEntity(errorCode, message));
- }
- return resourceBuilder.build();
- }
- private static class ErrorEntity {
- private final String errorCode;
- private final Exception exception;
- private final List<String> errors;
- public ErrorEntity(String errorCode, Exception exception) {
- this.errorCode = errorCode;
- this.exception = exception;
- this.errors = null;
- }
- public ErrorEntity(String errorCode, String error) {
- this.errorCode = errorCode;
- this.exception = null;
- this.errors = new ArrayList<>();
- this.errors.add(error);
- }
- @SuppressWarnings("unused")
- public String getErrorCode() {
- return errorCode;
- }
- @SuppressWarnings("unused")
- public String getErrorMessage() {
- /*if (exception != null && ( AppSettings.isDev() || AppSettings.isStage() )) {
- StringBuilder builder = new StringBuilder();
- builder.append(exception.getClass().getName()).append(": ");
- builder.append(exception.getMessage());
- return builder.toString();
- } else {
- }*/
- if(exception!=null){
- StringBuilder builder = new StringBuilder();
- //builder.append(exception.getClass().getName()).append(": ");
- builder.append(exception.getMessage());
- return builder.toString();
- }
- return "";
- }
- @SuppressWarnings("unused")
- public StackTraceElement[] getStackTrace() {
- /*if (exception != null && ( AppSettings.isDev() || AppSettings.isStage() )) {
- return exception.getStackTrace();
- } else {
- return null;
- }*/
- if (exception != null){
- return exception.getStackTrace();
- }
- return null;
- }
- }
- /*
- @GET
- public List<T> getList() throws SQLException, NamingException {
- List records = getTixQuery();
- return records;
- }
- @GET
- @Path("{id}")
- public List<T> getSingle(@PathParam("id") int id) throws NamingException {
- List records = getSingleQuery(id);
- return records;
- }
- @POST
- public void insertTix(T t) throws NamingException, SQLException {
- createQuery(t);
- }
- */
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement