Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3a194f2616 | ||
|
|
2611ab62d5 | ||
|
|
748feabf24 | ||
|
|
14ea92dab9 | ||
|
|
92847e87aa | ||
|
|
f372cbe8ab | ||
|
|
d93581fad6 |
@@ -4,7 +4,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>net.miarma.api</groupId>
|
<groupId>net.miarma.api</groupId>
|
||||||
<artifactId>backlib</artifactId>
|
<artifactId>backlib</artifactId>
|
||||||
<version>1.2.0</version>
|
<version>1.2.1</version>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<maven.compiler.source>23</maven.compiler.source>
|
<maven.compiler.source>23</maven.compiler.source>
|
||||||
@@ -132,33 +132,4 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
|
||||||
<finalName>BackLib</finalName>
|
|
||||||
<plugins>
|
|
||||||
<!-- Maven Shade Plugin -->
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-shade-plugin</artifactId>
|
|
||||||
<version>3.5.3</version>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<phase>package</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>shade</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<createDependencyReducedPom>false</createDependencyReducedPom>
|
|
||||||
<transformers>
|
|
||||||
<transformer
|
|
||||||
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
|
||||||
<mainClass>net.miarma.backlib.MainVerticle</mainClass>
|
|
||||||
</transformer>
|
|
||||||
</transformers>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
@@ -14,14 +14,14 @@ import net.miarma.api.backlib.util.JsonUtil;
|
|||||||
* Maneja extracción de JWT y verificación básica.
|
* Maneja extracción de JWT y verificación básica.
|
||||||
* Los microservicios solo implementan getUserEntity y hasPermission.
|
* Los microservicios solo implementan getUserEntity y hasPermission.
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("unchecked") // arreglar el warning de heap pollution de los arrays de genéricos
|
@SuppressWarnings("unchecked")
|
||||||
public abstract class AbstractAuthGuard<U, R extends Enum<R> & IUserRole> {
|
public abstract class AbstractAuthGuard<U, R extends Enum<R> & IUserRole> {
|
||||||
|
|
||||||
protected abstract R parseRole(String roleStr);
|
protected abstract R parseRole(String roleStr);
|
||||||
protected abstract void getUserEntity(int userId, RoutingContext ctx, Consumer<U> callback);
|
protected abstract void getUserEntity(int userId, RoutingContext ctx, Consumer<U> callback);
|
||||||
protected abstract boolean hasPermission(U user, R role);
|
protected abstract boolean hasPermission(U user, R role);
|
||||||
|
|
||||||
public Handler<RoutingContext> check(R... allowedRoles) {
|
public Handler<RoutingContext> check(R... allowedRoles) {
|
||||||
return ctx -> {
|
return ctx -> {
|
||||||
String token = extractToken(ctx);
|
String token = extractToken(ctx);
|
||||||
if (token == null || !JWTManager.getInstance().isValid(token)) {
|
if (token == null || !JWTManager.getInstance().isValid(token)) {
|
||||||
@@ -30,18 +30,6 @@ public abstract class AbstractAuthGuard<U, R extends Enum<R> & IUserRole> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int userId = JWTManager.getInstance().extractUserId(token);
|
int userId = JWTManager.getInstance().extractUserId(token);
|
||||||
String roleStr = JWTManager.getInstance().extractRole(token);
|
|
||||||
|
|
||||||
R role;
|
|
||||||
try {
|
|
||||||
role = parseRole(roleStr);
|
|
||||||
} catch (Exception e) {
|
|
||||||
JsonUtil.sendJson(ctx, ApiStatus.UNAUTHORIZED, "Invalid role");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
ctx.put("userId", userId);
|
|
||||||
ctx.put("role", role);
|
|
||||||
|
|
||||||
getUserEntity(userId, ctx, entity -> {
|
getUserEntity(userId, ctx, entity -> {
|
||||||
if (entity == null) {
|
if (entity == null) {
|
||||||
@@ -49,7 +37,9 @@ public abstract class AbstractAuthGuard<U, R extends Enum<R> & IUserRole> {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (allowedRoles.length == 0 || isRoleAllowed(role, allowedRoles)) {
|
R userRole = extractRoleFromEntity(entity);
|
||||||
|
|
||||||
|
if (allowedRoles.length == 0 || hasPermission(entity, userRole, allowedRoles)) {
|
||||||
ctx.put("userEntity", entity);
|
ctx.put("userEntity", entity);
|
||||||
ctx.next();
|
ctx.next();
|
||||||
} else {
|
} else {
|
||||||
@@ -59,14 +49,21 @@ public abstract class AbstractAuthGuard<U, R extends Enum<R> & IUserRole> {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isRoleAllowed(R role, R... allowedRoles) {
|
<<<<<<< HEAD
|
||||||
|
protected boolean isRoleAllowed(R role, R... allowedRoles) {
|
||||||
for (R allowed : allowedRoles) {
|
for (R allowed : allowedRoles) {
|
||||||
if (role == allowed) return true;
|
if (role == allowed) return true;
|
||||||
|
=======
|
||||||
|
protected R extractRoleFromEntity(U user) {
|
||||||
|
try {
|
||||||
|
return (R) user.getClass().getMethod("getRole").invoke(user);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return null;
|
||||||
|
>>>>>>> refs/remotes/origin/dev
|
||||||
}
|
}
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private String extractToken(RoutingContext ctx) {
|
protected String extractToken(RoutingContext ctx) {
|
||||||
String authHeader = ctx.request().getHeader("Authorization");
|
String authHeader = ctx.request().getHeader("Authorization");
|
||||||
if (authHeader != null && authHeader.startsWith("Bearer ")) {
|
if (authHeader != null && authHeader.startsWith("Bearer ")) {
|
||||||
return authHeader.substring(7);
|
return authHeader.substring(7);
|
||||||
|
|||||||
@@ -1,14 +1,15 @@
|
|||||||
package net.miarma.api.backlib.security;
|
package net.miarma.api.backlib.security;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
import com.auth0.jwt.JWT;
|
import com.auth0.jwt.JWT;
|
||||||
import com.auth0.jwt.algorithms.Algorithm;
|
import com.auth0.jwt.algorithms.Algorithm;
|
||||||
import com.auth0.jwt.interfaces.DecodedJWT;
|
import com.auth0.jwt.interfaces.DecodedJWT;
|
||||||
import com.auth0.jwt.interfaces.JWTVerifier;
|
import com.auth0.jwt.interfaces.JWTVerifier;
|
||||||
|
|
||||||
import net.miarma.api.backlib.ConfigManager;
|
import net.miarma.api.backlib.ConfigManager;
|
||||||
import net.miarma.api.backlib.Constants;
|
import net.miarma.api.backlib.Constants;
|
||||||
import net.miarma.api.backlib.Constants.CoreUserRole;
|
import net.miarma.api.backlib.interfaces.IUserRole;
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Clase de gestión de JSON Web Tokens (JWT).
|
* Clase de gestión de JSON Web Tokens (JWT).
|
||||||
@@ -49,7 +50,7 @@ public class JWTManager {
|
|||||||
* @param keepLoggedIn Indica si el token debe tener una duración prolongada.
|
* @param keepLoggedIn Indica si el token debe tener una duración prolongada.
|
||||||
* @return El token JWT generado.
|
* @return El token JWT generado.
|
||||||
*/
|
*/
|
||||||
public String generateToken(String user_name, Integer user_id, CoreUserRole role, boolean keepLoggedIn) {
|
public String generateToken(String user_name, Integer user_id, IUserRole role, boolean keepLoggedIn) {
|
||||||
final long EXPIRATION_TIME_MS = 1000L * (keepLoggedIn ? config.getIntProperty("jwt.expiration") : config.getIntProperty("jwt.expiration.short"));
|
final long EXPIRATION_TIME_MS = 1000L * (keepLoggedIn ? config.getIntProperty("jwt.expiration") : config.getIntProperty("jwt.expiration.short"));
|
||||||
return JWT.create()
|
return JWT.create()
|
||||||
.withSubject(user_name)
|
.withSubject(user_name)
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>net.miarma.api</groupId>
|
<groupId>net.miarma.api</groupId>
|
||||||
<artifactId>miarma-ecosystem</artifactId>
|
<artifactId>miarma-ecosystem</artifactId>
|
||||||
<version>1.2.0</version>
|
<version>1.2.1</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>bootstrap</artifactId>
|
<artifactId>bootstrap</artifactId>
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
<finalName>MiarmaEcosystem</finalName>
|
<finalName>MiarmaBackend</finalName>
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>net.miarma.api</groupId>
|
<groupId>net.miarma.api</groupId>
|
||||||
<artifactId>core</artifactId>
|
<artifactId>core</artifactId>
|
||||||
<version>1.2.0</version>
|
<version>1.2.1</version>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<maven.compiler.source>23</maven.compiler.source>
|
<maven.compiler.source>23</maven.compiler.source>
|
||||||
@@ -20,35 +20,8 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.miarma.api</groupId>
|
<groupId>net.miarma.api</groupId>
|
||||||
<artifactId>backlib</artifactId>
|
<artifactId>backlib</artifactId>
|
||||||
<version>1.2.0</version>
|
<version>1.2.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
|
||||||
<finalName>ME-Core</finalName>
|
|
||||||
<plugins>
|
|
||||||
<!-- Maven Shade Plugin -->
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-shade-plugin</artifactId>
|
|
||||||
<version>3.5.3</version>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<phase>package</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>shade</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<createDependencyReducedPom>false</createDependencyReducedPom>
|
|
||||||
<transformers>
|
|
||||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
|
||||||
<mainClass>net.miarma.api.microservices.core.verticles.CoreMainVerticle</mainClass>
|
|
||||||
</transformer>
|
|
||||||
</transformers>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
</project>
|
</project>
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,10 @@ public class CoreAuthGuard extends AbstractAuthGuard<UserEntity, CoreUserRole> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean hasPermission(UserEntity user, CoreUserRole role) {
|
protected boolean hasPermission(UserEntity member, CoreUserRole userRole, CoreUserRole... allowedRoles) {
|
||||||
return user.getGlobal_role() == CoreUserRole.ADMIN;
|
if (member == null) return false;
|
||||||
|
if (member.getGlobal_role() == CoreUserRole.ADMIN) return true;
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>net.miarma.api</groupId>
|
<groupId>net.miarma.api</groupId>
|
||||||
<artifactId>huertos</artifactId>
|
<artifactId>huertos</artifactId>
|
||||||
<version>1.2.0</version>
|
<version>1.2.1</version>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<maven.compiler.source>23</maven.compiler.source>
|
<maven.compiler.source>23</maven.compiler.source>
|
||||||
@@ -20,36 +20,8 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.miarma.api</groupId>
|
<groupId>net.miarma.api</groupId>
|
||||||
<artifactId>backlib</artifactId>
|
<artifactId>backlib</artifactId>
|
||||||
<version>1.2.0</version>
|
<version>1.2.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
|
||||||
<finalName>ME-Huertos</finalName>
|
|
||||||
<plugins>
|
|
||||||
<!-- Maven Shade Plugin -->
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-shade-plugin</artifactId>
|
|
||||||
<version>3.5.3</version>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<phase>package</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>shade</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<createDependencyReducedPom>false</createDependencyReducedPom>
|
|
||||||
<transformers>
|
|
||||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
|
||||||
<mainClass>net.miarma.api.microservices.huertos.HuertosMainVerticle</mainClass>
|
|
||||||
</transformer>
|
|
||||||
</transformers>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
@@ -33,44 +33,44 @@ public class HuertosDataRouter {
|
|||||||
|
|
||||||
router.get(HuertosEndpoints.ANNOUNCES).handler(authGuard.check()).handler(hAnnounceData::getAll);
|
router.get(HuertosEndpoints.ANNOUNCES).handler(authGuard.check()).handler(hAnnounceData::getAll);
|
||||||
router.get(HuertosEndpoints.ANNOUNCE).handler(authGuard.check()).handler(hAnnounceData::getById);
|
router.get(HuertosEndpoints.ANNOUNCE).handler(authGuard.check()).handler(hAnnounceData::getById);
|
||||||
router.post(HuertosEndpoints.ANNOUNCES).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hAnnounceData::create);
|
router.post(HuertosEndpoints.ANNOUNCES).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hAnnounceData::create);
|
||||||
router.put(HuertosEndpoints.ANNOUNCE).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hAnnounceData::update);
|
router.put(HuertosEndpoints.ANNOUNCE).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hAnnounceData::update);
|
||||||
router.delete(HuertosEndpoints.ANNOUNCE).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hAnnounceData::delete);
|
router.delete(HuertosEndpoints.ANNOUNCE).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hAnnounceData::delete);
|
||||||
|
|
||||||
router.get(HuertosEndpoints.BALANCE).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hBalanceData::getBalance);
|
router.get(HuertosEndpoints.BALANCE).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hBalanceData::getBalance);
|
||||||
router.post(HuertosEndpoints.BALANCE).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hBalanceData::update);
|
router.post(HuertosEndpoints.BALANCE).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hBalanceData::update);
|
||||||
router.delete(HuertosEndpoints.BALANCE).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hBalanceData::create);
|
router.delete(HuertosEndpoints.BALANCE).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hBalanceData::create);
|
||||||
|
|
||||||
router.get(HuertosEndpoints.EXPENSES).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hExpenseData::getAll);
|
router.get(HuertosEndpoints.EXPENSES).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hExpenseData::getAll);
|
||||||
router.get(HuertosEndpoints.EXPENSE).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hExpenseData::getById);
|
router.get(HuertosEndpoints.EXPENSE).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hExpenseData::getById);
|
||||||
router.post(HuertosEndpoints.EXPENSES).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hExpenseData::create);
|
router.post(HuertosEndpoints.EXPENSES).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hExpenseData::create);
|
||||||
router.put(HuertosEndpoints.EXPENSE).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hExpenseData::update);
|
router.put(HuertosEndpoints.EXPENSE).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hExpenseData::update);
|
||||||
router.delete(HuertosEndpoints.EXPENSE).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hExpenseData::delete);
|
router.delete(HuertosEndpoints.EXPENSE).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hExpenseData::delete);
|
||||||
|
|
||||||
router.get(HuertosEndpoints.INCOMES).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hIncomeData::getAll);
|
router.get(HuertosEndpoints.INCOMES).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hIncomeData::getAll);
|
||||||
router.get(HuertosEndpoints.INCOME).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hIncomeData::getById);
|
router.get(HuertosEndpoints.INCOME).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hIncomeData::getById);
|
||||||
router.post(HuertosEndpoints.INCOMES).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hIncomeData::create);
|
router.post(HuertosEndpoints.INCOMES).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hIncomeData::create);
|
||||||
router.put(HuertosEndpoints.INCOME).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hIncomeData::update);
|
router.put(HuertosEndpoints.INCOME).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hIncomeData::update);
|
||||||
router.delete(HuertosEndpoints.INCOME).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hIncomeData::delete);
|
router.delete(HuertosEndpoints.INCOME).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hIncomeData::delete);
|
||||||
router.get(HuertosEndpoints.INCOMES_WITH_NAMES).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hIncomeData::getIncomesWithNames);
|
router.get(HuertosEndpoints.INCOMES_WITH_NAMES).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hIncomeData::getIncomesWithNames);
|
||||||
|
|
||||||
router.get(HuertosEndpoints.MEMBERS).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hMemberData::getAll);
|
router.get(HuertosEndpoints.MEMBERS).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hMemberData::getAll);
|
||||||
router.get(HuertosEndpoints.MEMBER).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hMemberData::getById);
|
router.get(HuertosEndpoints.MEMBER).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hMemberData::getById);
|
||||||
router.post(HuertosEndpoints.MEMBERS).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hMemberData::create);
|
router.post(HuertosEndpoints.MEMBERS).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hMemberData::create);
|
||||||
router.put(HuertosEndpoints.MEMBER).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hMemberData::update);
|
router.put(HuertosEndpoints.MEMBER).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hMemberData::update);
|
||||||
router.delete(HuertosEndpoints.MEMBER).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hMemberData::delete);
|
router.delete(HuertosEndpoints.MEMBER).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hMemberData::delete);
|
||||||
|
|
||||||
router.get(HuertosEndpoints.PRE_USERS).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hPreUserData::getAll);
|
router.get(HuertosEndpoints.PRE_USERS).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hPreUserData::getAll);
|
||||||
router.get(HuertosEndpoints.PRE_USER).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hPreUserData::getById);
|
router.get(HuertosEndpoints.PRE_USER).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hPreUserData::getById);
|
||||||
router.post(HuertosEndpoints.PRE_USERS).handler(hPreUserData::create);
|
router.post(HuertosEndpoints.PRE_USERS).handler(hPreUserData::create);
|
||||||
router.put(HuertosEndpoints.PRE_USER).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hPreUserData::update);
|
router.put(HuertosEndpoints.PRE_USER).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hPreUserData::update);
|
||||||
router.delete(HuertosEndpoints.PRE_USER).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hPreUserData::delete);
|
router.delete(HuertosEndpoints.PRE_USER).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hPreUserData::delete);
|
||||||
|
|
||||||
router.get(HuertosEndpoints.REQUESTS).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hRequestData::getAll);
|
router.get(HuertosEndpoints.REQUESTS).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hRequestData::getAll);
|
||||||
router.get(HuertosEndpoints.REQUEST).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hRequestData::getById);
|
router.get(HuertosEndpoints.REQUEST).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hRequestData::getById);
|
||||||
router.post(HuertosEndpoints.REQUESTS).handler(hRequestData::create);
|
router.post(HuertosEndpoints.REQUESTS).handler(hRequestData::create);
|
||||||
router.put(HuertosEndpoints.REQUEST).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hRequestData::update);
|
router.put(HuertosEndpoints.REQUEST).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hRequestData::update);
|
||||||
router.delete(HuertosEndpoints.REQUEST).handler(authGuard.check(HuertosUserRole.ADMIN)).handler(hRequestData::delete);
|
router.delete(HuertosEndpoints.REQUEST).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hRequestData::delete);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import io.vertx.core.Vertx;
|
|||||||
import io.vertx.ext.web.Router;
|
import io.vertx.ext.web.Router;
|
||||||
import io.vertx.ext.web.handler.BodyHandler;
|
import io.vertx.ext.web.handler.BodyHandler;
|
||||||
import io.vertx.sqlclient.Pool;
|
import io.vertx.sqlclient.Pool;
|
||||||
import net.miarma.api.backlib.util.RouterUtil;
|
import net.miarma.api.backlib.Constants.HuertosUserRole;
|
||||||
import net.miarma.api.microservices.huertos.handlers.BalanceLogicHandler;
|
import net.miarma.api.microservices.huertos.handlers.BalanceLogicHandler;
|
||||||
import net.miarma.api.microservices.huertos.handlers.IncomeLogicHandler;
|
import net.miarma.api.microservices.huertos.handlers.IncomeLogicHandler;
|
||||||
import net.miarma.api.microservices.huertos.handlers.MailHandler;
|
import net.miarma.api.microservices.huertos.handlers.MailHandler;
|
||||||
@@ -26,34 +26,34 @@ public class HuertosLogicRouter {
|
|||||||
router.route().handler(BodyHandler.create());
|
router.route().handler(BodyHandler.create());
|
||||||
|
|
||||||
router.post(HuertosEndpoints.LOGIN).handler(hMemberLogic::login);
|
router.post(HuertosEndpoints.LOGIN).handler(hMemberLogic::login);
|
||||||
router.get(HuertosEndpoints.MEMBER_BY_NUMBER).handler(authGuard.check()).handler(hMemberLogic::getByMemberNumber);
|
router.get(HuertosEndpoints.MEMBER_BY_NUMBER).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hMemberLogic::getByMemberNumber);
|
||||||
router.get(HuertosEndpoints.MEMBER_BY_PLOT).handler(authGuard.check()).handler(hMemberLogic::getByPlotNumber);
|
router.get(HuertosEndpoints.MEMBER_BY_PLOT).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hMemberLogic::getByPlotNumber);
|
||||||
router.get(HuertosEndpoints.MEMBER_BY_DNI).handler(authGuard.check()).handler(hMemberLogic::getByDni);
|
router.get(HuertosEndpoints.MEMBER_BY_DNI).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hMemberLogic::getByDni);
|
||||||
router.get(HuertosEndpoints.MEMBER_PAYMENTS).handler(authGuard.check()).handler(hMemberLogic::getUserPayments);
|
router.get(HuertosEndpoints.MEMBER_PAYMENTS).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hMemberLogic::getUserPayments);
|
||||||
router.get(HuertosEndpoints.MEMBER_HAS_PAID).handler(authGuard.check()).handler(hMemberLogic::hasPaid);
|
router.get(HuertosEndpoints.MEMBER_HAS_PAID).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hMemberLogic::hasPaid);
|
||||||
router.get(HuertosEndpoints.MEMBER_WAITLIST).handler(authGuard.check()).handler(hMemberLogic::getWaitlist);
|
router.get(HuertosEndpoints.MEMBER_WAITLIST).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hMemberLogic::getWaitlist);
|
||||||
router.get(HuertosEndpoints.MEMBER_LIMITED_WAITLIST).handler(hMemberLogic::getLimitedWaitlist);
|
router.get(HuertosEndpoints.MEMBER_LIMITED_WAITLIST).handler(hMemberLogic::getLimitedWaitlist);
|
||||||
router.get(HuertosEndpoints.LAST_MEMBER_NUMBER).handler(hMemberLogic::getLastMemberNumber);
|
router.get(HuertosEndpoints.LAST_MEMBER_NUMBER).handler(hMemberLogic::getLastMemberNumber);
|
||||||
router.get(HuertosEndpoints.BALANCE_WITH_TOTALS).handler(authGuard.check()).handler(hBalanceLogic::getBalanceWithTotals);
|
router.get(HuertosEndpoints.BALANCE_WITH_TOTALS).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hBalanceLogic::getBalanceWithTotals);
|
||||||
router.get(HuertosEndpoints.REQUESTS_WITH_PRE_USERS).handler(authGuard.check()).handler(hRequestLogic::getRequestsWithPreUsers);
|
router.get(HuertosEndpoints.REQUESTS_WITH_PRE_USERS).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hRequestLogic::getRequestsWithPreUsers);
|
||||||
router.get(HuertosEndpoints.REQUEST_WITH_PRE_USER).handler(authGuard.check()).handler(hRequestLogic::getRequestWithPreUser);
|
router.get(HuertosEndpoints.REQUEST_WITH_PRE_USER).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hRequestLogic::getRequestWithPreUser);
|
||||||
router.get(HuertosEndpoints.MEMBER_PROFILE).handler(hMemberLogic::getProfile);
|
router.get(HuertosEndpoints.MEMBER_PROFILE).handler(hMemberLogic::getProfile);
|
||||||
router.get(HuertosEndpoints.REQUEST_COUNT).handler(authGuard.check()).handler(hRequestLogic::getRequestCount);
|
router.get(HuertosEndpoints.REQUEST_COUNT).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hRequestLogic::getRequestCount);
|
||||||
router.get(HuertosEndpoints.MY_INCOMES).handler(authGuard.check()).handler(hIncomeLogic::getMyIncomes);
|
router.get(HuertosEndpoints.MY_INCOMES).handler(authGuard.check()).handler(hIncomeLogic::getMyIncomes);
|
||||||
router.get(HuertosEndpoints.MY_REQUESTS).handler(authGuard.check()).handler(hRequestLogic::getMyRequests);
|
router.get(HuertosEndpoints.MY_REQUESTS).handler(authGuard.check()).handler(hRequestLogic::getMyRequests);
|
||||||
router.put(HuertosEndpoints.ACCEPT_REQUEST).handler(authGuard.check()).handler(hRequestLogic::acceptRequest);
|
router.put(HuertosEndpoints.ACCEPT_REQUEST).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hRequestLogic::acceptRequest);
|
||||||
router.put(HuertosEndpoints.REJECT_REQUEST).handler(authGuard.check()).handler(hRequestLogic::rejectRequest);
|
router.put(HuertosEndpoints.REJECT_REQUEST).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hRequestLogic::rejectRequest);
|
||||||
router.put(HuertosEndpoints.CHANGE_MEMBER_STATUS).handler(authGuard.check()).handler(hMemberLogic::changeMemberStatus);
|
router.put(HuertosEndpoints.CHANGE_MEMBER_STATUS).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hMemberLogic::changeMemberStatus);
|
||||||
router.put(HuertosEndpoints.CHANGE_MEMBER_TYPE).handler(authGuard.check()).handler(hMemberLogic::changeMemberType);
|
router.put(HuertosEndpoints.CHANGE_MEMBER_TYPE).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hMemberLogic::changeMemberType);
|
||||||
router.get(HuertosEndpoints.MEMBER_HAS_COLLABORATOR).handler(authGuard.check()).handler(hMemberLogic::hasCollaborator);
|
router.get(HuertosEndpoints.MEMBER_HAS_COLLABORATOR).handler(authGuard.check()).handler(hMemberLogic::hasCollaborator);
|
||||||
router.get(HuertosEndpoints.MEMBER_HAS_COLLABORATOR_REQUEST).handler(authGuard.check()).handler(hMemberLogic::hasCollaboratorRequest);
|
router.get(HuertosEndpoints.MEMBER_HAS_COLLABORATOR_REQUEST).handler(authGuard.check()).handler(hMemberLogic::hasCollaboratorRequest);
|
||||||
router.get(HuertosEndpoints.MEMBER_HAS_GREENHOUSE).handler(authGuard.check()).handler(hMemberLogic::hasGreenHouse);
|
router.get(HuertosEndpoints.MEMBER_HAS_GREENHOUSE).handler(authGuard.check()).handler(hMemberLogic::hasGreenHouse);
|
||||||
router.get(HuertosEndpoints.MEMBER_HAS_GREENHOUSE_REQUEST).handler(authGuard.check()).handler(hMemberLogic::hasGreenHouseRequest);
|
router.get(HuertosEndpoints.MEMBER_HAS_GREENHOUSE_REQUEST).handler(authGuard.check()).handler(hMemberLogic::hasGreenHouseRequest);
|
||||||
router.post(HuertosEndpoints.PRE_USER_VALIDATE).handler(hMemberLogic::validatePreUser);
|
router.post(HuertosEndpoints.PRE_USER_VALIDATE).handler(hMemberLogic::validatePreUser);
|
||||||
|
|
||||||
router.get(HuertosEndpoints.MAILS).handler(hMail::getFolder);
|
router.get(HuertosEndpoints.MAILS).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hMail::getFolder);
|
||||||
router.get(HuertosEndpoints.MAIL).handler(hMail::getMail);
|
router.get(HuertosEndpoints.MAIL).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hMail::getMail);
|
||||||
router.post(HuertosEndpoints.SEND_MAIL).handler(hMail::sendMail);
|
router.post(HuertosEndpoints.SEND_MAIL).handler(authGuard.check(HuertosUserRole.ADMIN, HuertosUserRole.DEV)).handler(hMail::sendMail);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,19 @@ package net.miarma.api.microservices.huertos.routing.middlewares;
|
|||||||
|
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
|
import io.vertx.core.Handler;
|
||||||
import io.vertx.ext.web.RoutingContext;
|
import io.vertx.ext.web.RoutingContext;
|
||||||
import net.miarma.api.backlib.Constants.HuertosUserRole;
|
import net.miarma.api.backlib.Constants.HuertosUserRole;
|
||||||
|
import net.miarma.api.backlib.http.ApiStatus;
|
||||||
import net.miarma.api.backlib.middlewares.AbstractAuthGuard;
|
import net.miarma.api.backlib.middlewares.AbstractAuthGuard;
|
||||||
|
import net.miarma.api.backlib.security.JWTManager;
|
||||||
|
import net.miarma.api.backlib.util.JsonUtil;
|
||||||
import net.miarma.api.microservices.huertos.entities.MemberEntity;
|
import net.miarma.api.microservices.huertos.entities.MemberEntity;
|
||||||
import net.miarma.api.microservices.huertos.services.MemberService;
|
import net.miarma.api.microservices.huertos.services.MemberService;
|
||||||
|
|
||||||
public class HuertosAuthGuard extends AbstractAuthGuard<MemberEntity, HuertosUserRole> {
|
public class HuertosAuthGuard extends AbstractAuthGuard<MemberEntity, HuertosUserRole> {
|
||||||
private final MemberService memberService;
|
|
||||||
|
private final MemberService memberService;
|
||||||
|
|
||||||
public HuertosAuthGuard(MemberService memberService) {
|
public HuertosAuthGuard(MemberService memberService) {
|
||||||
this.memberService = memberService;
|
this.memberService = memberService;
|
||||||
@@ -22,14 +27,58 @@ public class HuertosAuthGuard extends AbstractAuthGuard<MemberEntity, HuertosUse
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void getUserEntity(int userId, RoutingContext ctx, Consumer<MemberEntity> callback) {
|
protected void getUserEntity(int userId, RoutingContext ctx, Consumer<MemberEntity> callback) {
|
||||||
memberService.getById(userId).onComplete(ar -> {
|
memberService.getById(userId).onComplete(ar -> {
|
||||||
if (ar.succeeded()) callback.accept(ar.result());
|
if (ar.succeeded()) callback.accept(ar.result());
|
||||||
else callback.accept(null);
|
else callback.accept(null);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean hasPermission(MemberEntity user, HuertosUserRole role) {
|
protected boolean hasPermission(MemberEntity member, HuertosUserRole userRole, HuertosUserRole... allowedRoles) {
|
||||||
return user.getRole() == HuertosUserRole.ADMIN;
|
if (member == null) return false;
|
||||||
|
if (member.getRole() == HuertosUserRole.ADMIN || member.getRole() == HuertosUserRole.DEV) return true;
|
||||||
|
for (HuertosUserRole role : allowedRoles) {
|
||||||
|
if (member.getRole() == role) return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
<<<<<<< HEAD
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Handler<RoutingContext> check(HuertosUserRole... allowedRoles) {
|
||||||
|
return ctx -> {
|
||||||
|
String token = extractToken(ctx);
|
||||||
|
if (token == null || !JWTManager.getInstance().isValid(token)) {
|
||||||
|
JsonUtil.sendJson(ctx, ApiStatus.UNAUTHORIZED, "Invalid or missing token");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int userId = JWTManager.getInstance().extractUserId(token);
|
||||||
|
|
||||||
|
getUserEntity(userId, ctx, member -> {
|
||||||
|
if (member == null) {
|
||||||
|
JsonUtil.sendJson(ctx, ApiStatus.UNAUTHORIZED, "User not found");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
HuertosUserRole role = HuertosUserRole.USER;
|
||||||
|
if (member.getRole() != null) {
|
||||||
|
role = member.getRole();
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx.put("userId", userId);
|
||||||
|
ctx.put("role", role);
|
||||||
|
ctx.put("userEntity", member);
|
||||||
|
|
||||||
|
if (allowedRoles.length == 0 || isRoleAllowed(role, allowedRoles)) {
|
||||||
|
ctx.next();
|
||||||
|
} else {
|
||||||
|
JsonUtil.sendJson(ctx, ApiStatus.FORBIDDEN, "Forbidden");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
=======
|
||||||
|
>>>>>>> refs/remotes/origin/dev
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,7 +56,6 @@ public class MemberService {
|
|||||||
return Future.failedFuture(new ForbiddenException("User is not active"));
|
return Future.failedFuture(new ForbiddenException("User is not active"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return userMetadataDAO.getById(user.getUser_id()).compose(metadata -> {
|
return userMetadataDAO.getById(user.getUser_id()).compose(metadata -> {
|
||||||
if (metadata.getStatus() != HuertosUserStatus.ACTIVE) {
|
if (metadata.getStatus() != HuertosUserStatus.ACTIVE) {
|
||||||
return Future.failedFuture(new ForbiddenException("User is not active"));
|
return Future.failedFuture(new ForbiddenException("User is not active"));
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>net.miarma.api</groupId>
|
<groupId>net.miarma.api</groupId>
|
||||||
<artifactId>huertosdecine</artifactId>
|
<artifactId>huertosdecine</artifactId>
|
||||||
<version>1.2.0</version>
|
<version>1.2.1</version>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<maven.compiler.source>23</maven.compiler.source>
|
<maven.compiler.source>23</maven.compiler.source>
|
||||||
@@ -20,36 +20,8 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.miarma.api</groupId>
|
<groupId>net.miarma.api</groupId>
|
||||||
<artifactId>backlib</artifactId>
|
<artifactId>backlib</artifactId>
|
||||||
<version>1.2.0</version>
|
<version>1.2.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
|
||||||
<finalName>ME-HuertosDeCine</finalName>
|
|
||||||
<plugins>
|
|
||||||
<!-- Maven Shade Plugin -->
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-shade-plugin</artifactId>
|
|
||||||
<version>3.5.3</version>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<phase>package</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>shade</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<createDependencyReducedPom>false</createDependencyReducedPom>
|
|
||||||
<transformers>
|
|
||||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
|
||||||
<mainClass>net.miarma.api.microservices.huertosdecine.CineMainVerticle</mainClass>
|
|
||||||
</transformer>
|
|
||||||
</transformers>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
@@ -29,7 +29,13 @@ public class CineAuthGuard extends AbstractAuthGuard<ViewerEntity, CineUserRole>
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean hasPermission(ViewerEntity user, CineUserRole role) {
|
protected boolean hasPermission(ViewerEntity member, CineUserRole userRole, CineUserRole... allowedRoles) {
|
||||||
return user.getRole() == CineUserRole.ADMIN;
|
if (member == null) return false;
|
||||||
|
if (member.getRole() == CineUserRole.ADMIN) return true;
|
||||||
|
for (CineUserRole role : allowedRoles) {
|
||||||
|
if (member.getRole() == role) return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>net.miarma.api</groupId>
|
<groupId>net.miarma.api</groupId>
|
||||||
<artifactId>miarmacraft</artifactId>
|
<artifactId>miarmacraft</artifactId>
|
||||||
<version>1.2.0</version>
|
<version>1.2.1</version>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<maven.compiler.source>23</maven.compiler.source>
|
<maven.compiler.source>23</maven.compiler.source>
|
||||||
@@ -20,36 +20,8 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.miarma.api</groupId>
|
<groupId>net.miarma.api</groupId>
|
||||||
<artifactId>backlib</artifactId>
|
<artifactId>backlib</artifactId>
|
||||||
<version>1.2.0</version>
|
<version>1.2.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
|
||||||
<finalName>ME-MiarmaCraft</finalName>
|
|
||||||
<plugins>
|
|
||||||
<!-- Maven Shade Plugin -->
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-shade-plugin</artifactId>
|
|
||||||
<version>3.5.3</version>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<phase>package</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>shade</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<createDependencyReducedPom>false</createDependencyReducedPom>
|
|
||||||
<transformers>
|
|
||||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
|
||||||
<mainClass>net.miarma.api.microservices.miarmacraft.MMCMainVerticle</mainClass>
|
|
||||||
</transformer>
|
|
||||||
</transformers>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
@@ -19,9 +19,9 @@ public class MMCDataRouter {
|
|||||||
|
|
||||||
router.route().handler(BodyHandler.create());
|
router.route().handler(BodyHandler.create());
|
||||||
|
|
||||||
router.get(MMCEndpoints.MODS).handler(authGuard.check()).handler(hModData::getAll);
|
router.get(MMCEndpoints.MODS).handler(hModData::getAll);
|
||||||
router.get(MMCEndpoints.MOD).handler(authGuard.check()).handler(hModData::getById);
|
router.get(MMCEndpoints.MOD).handler(hModData::getById);
|
||||||
router.post(MMCEndpoints.MODS).handler(BodyHandler.create().setBodyLimit(100 * 1024 * 1024)).handler(authGuard.check()).handler(hModData::create);
|
router.post(MMCEndpoints.MODS).handler(BodyHandler.create().setBodyLimit(100 * 1024 * 1024)).handler(authGuard.check(MMCUserRole.ADMIN)).handler(hModData::create);
|
||||||
router.put(MMCEndpoints.MOD).handler(authGuard.check(MMCUserRole.ADMIN)).handler(hModData::update);
|
router.put(MMCEndpoints.MOD).handler(authGuard.check(MMCUserRole.ADMIN)).handler(hModData::update);
|
||||||
router.delete(MMCEndpoints.MOD).handler(authGuard.check(MMCUserRole.ADMIN)).handler(hModData::delete);
|
router.delete(MMCEndpoints.MOD).handler(authGuard.check(MMCUserRole.ADMIN)).handler(hModData::delete);
|
||||||
|
|
||||||
|
|||||||
@@ -29,8 +29,13 @@ public class MMCAuthGuard extends AbstractAuthGuard<PlayerEntity, MMCUserRole> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean hasPermission(PlayerEntity user, MMCUserRole role) {
|
protected boolean hasPermission(PlayerEntity member, MMCUserRole userRole, MMCUserRole... allowedRoles) {
|
||||||
return user.getRole() == MMCUserRole.ADMIN;
|
if (member == null) return false;
|
||||||
|
if (member.getRole() == MMCUserRole.ADMIN) return true;
|
||||||
|
for (MMCUserRole role : allowedRoles) {
|
||||||
|
if (member.getRole() == role) return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>net.miarma.api</groupId>
|
<groupId>net.miarma.api</groupId>
|
||||||
<artifactId>mpaste</artifactId>
|
<artifactId>mpaste</artifactId>
|
||||||
<version>1.2.0</version>
|
<version>1.2.1</version>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<maven.compiler.source>23</maven.compiler.source>
|
<maven.compiler.source>23</maven.compiler.source>
|
||||||
@@ -20,36 +20,8 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.miarma.api</groupId>
|
<groupId>net.miarma.api</groupId>
|
||||||
<artifactId>backlib</artifactId>
|
<artifactId>backlib</artifactId>
|
||||||
<version>1.2.0</version>
|
<version>1.2.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
|
||||||
<finalName>ME-MPaste</finalName>
|
|
||||||
<plugins>
|
|
||||||
<!-- Maven Shade Plugin -->
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-shade-plugin</artifactId>
|
|
||||||
<version>3.5.3</version>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<phase>package</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>shade</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<createDependencyReducedPom>false</createDependencyReducedPom>
|
|
||||||
<transformers>
|
|
||||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
|
||||||
<mainClass>net.miarma.api.microservices.mpaste.MPasteMainVerticle</mainClass>
|
|
||||||
</transformer>
|
|
||||||
</transformers>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
31
pom.xml
31
pom.xml
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
<groupId>net.miarma.api</groupId>
|
<groupId>net.miarma.api</groupId>
|
||||||
<artifactId>miarma-ecosystem</artifactId>
|
<artifactId>miarma-ecosystem</artifactId>
|
||||||
<version>1.2.0</version>
|
<version>1.2.1</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
@@ -51,33 +51,4 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
|
||||||
<finalName>ME-Core</finalName>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-shade-plugin</artifactId>
|
|
||||||
<version>3.5.3</version>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<phase>package</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>shade</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<createDependencyReducedPom>false</createDependencyReducedPom>
|
|
||||||
<transformers>
|
|
||||||
<transformer
|
|
||||||
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
|
||||||
<mainClass>
|
|
||||||
net.miarma.api.microservices.core.verticles.CoreMainVerticle</mainClass>
|
|
||||||
</transformer>
|
|
||||||
</transformers>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
Reference in New Issue
Block a user