Ajout des points par actions
This commit is contained in:
parent
6eaa758d7c
commit
fac322c457
@ -94,11 +94,11 @@ public class AuthHandler {
|
||||
|
||||
if (verification.verified) {
|
||||
JsonObject claims = new JsonObject().put("sub", email);
|
||||
if(nbPointsUser<=30){
|
||||
if(nbPointsUser<=60){
|
||||
claims.put("role", "user");
|
||||
}else if(nbPointsUser<=60){
|
||||
}else if(nbPointsUser<=100){
|
||||
claims.put("role", "complexe");
|
||||
}else if(nbPointsUser>=100){
|
||||
}else if(nbPointsUser>=200){
|
||||
claims.put("role", "admin");
|
||||
}
|
||||
|
||||
|
||||
@ -41,6 +41,9 @@ public class MainVerticle extends AbstractVerticle {
|
||||
AuthHandler authHandler = new AuthHandler(databaseService, jwtAuth);
|
||||
QueryUsers queryUsers = new QueryUsers(databaseService);
|
||||
SetUser setUser = new SetUser(databaseService);
|
||||
setObjects.setUserHandler(setUser);
|
||||
queryObjects.setUserHandler(setUser);
|
||||
|
||||
|
||||
// Déclaration des routes
|
||||
router.get("/objets").handler(queryObjects::getObjects);
|
||||
|
||||
@ -10,14 +10,20 @@ import java.time.format.DateTimeFormatter;
|
||||
|
||||
import io.vertx.ext.web.RoutingContext;
|
||||
|
||||
|
||||
public class QueryObjects {
|
||||
private DatabaseService databaseService;
|
||||
public QueryObjects(DatabaseService dtbS){
|
||||
this.databaseService = dtbS;
|
||||
}
|
||||
private DatabaseService databaseService;
|
||||
|
||||
public void getObjects(RoutingContext context) {
|
||||
public QueryObjects(DatabaseService dtbS) {
|
||||
this.databaseService = dtbS;
|
||||
}
|
||||
|
||||
private SetUser setUser;
|
||||
|
||||
public void setUserHandler(SetUser setUser) {
|
||||
this.setUser = setUser;
|
||||
}
|
||||
|
||||
public void getObjects(RoutingContext context) {
|
||||
databaseService.pool
|
||||
.query("SELECT * FROM weather_objects;")
|
||||
.execute()
|
||||
@ -36,6 +42,8 @@ public class QueryObjects {
|
||||
|
||||
public void getParticularObject(RoutingContext context) {
|
||||
String id = context.request().getParam("id");
|
||||
// Integer idUser = body.getInteger("idUser");
|
||||
Integer idUser = 4;
|
||||
if (id == null) {
|
||||
context.response()
|
||||
.setStatusCode(400)
|
||||
@ -58,6 +66,10 @@ public class QueryObjects {
|
||||
.end(new JsonObject().put("error", "Objet non trouvé").encode());
|
||||
return;
|
||||
}
|
||||
if (idUser != null) {
|
||||
setUser.updateUserPoints(idUser, 1);
|
||||
}
|
||||
;
|
||||
context.response()
|
||||
.putHeader("content-type", "application/json: charset=UTF-8")
|
||||
.end(getInfosObjects(rows).encode());
|
||||
@ -77,9 +89,9 @@ public class QueryObjects {
|
||||
.put("location", row.getString("location"))
|
||||
.put("last_update", row.getLocalDateTime("last_update").format(formatter))
|
||||
.put("status", row.getString("status"))
|
||||
.put("batterie",row.getInteger("batterie"))
|
||||
.put("type_batterie",row.getString("type_batterie"))
|
||||
.put("proprio",row.getString("proprio"));
|
||||
.put("batterie", row.getInteger("batterie"))
|
||||
.put("type_batterie", row.getString("type_batterie"))
|
||||
.put("proprio", row.getString("proprio"));
|
||||
objects.add(object);
|
||||
}
|
||||
return objects;
|
||||
|
||||
@ -33,11 +33,11 @@ public class QueryUsers {
|
||||
.put("email", row.getString("email"))
|
||||
.put("gender", row.getString("gender"))
|
||||
.put("points",points);
|
||||
if(points<=30){
|
||||
if(points<=60){
|
||||
user.put("role", "user");
|
||||
}else if(points<=60){
|
||||
}else if(points<=100){
|
||||
user.put("role", "complexe");
|
||||
}else if(points>=100){
|
||||
}else if(points>=200){
|
||||
user.put("role", "admin");
|
||||
}
|
||||
users.add(user);
|
||||
|
||||
@ -6,11 +6,13 @@ import io.vertx.sqlclient.Tuple;
|
||||
|
||||
public class SetObjects {
|
||||
private DatabaseService databaseService;
|
||||
|
||||
private SetUser setUser;
|
||||
public SetObjects(DatabaseService ddbs) {
|
||||
this.databaseService = ddbs;
|
||||
}
|
||||
|
||||
public void setUserHandler(SetUser setUser){
|
||||
this.setUser = setUser;
|
||||
}
|
||||
public void setInfoObjet(RoutingContext context) {
|
||||
JsonObject body = context.body().asJsonObject();
|
||||
if (body == null) {
|
||||
@ -20,6 +22,8 @@ public class SetObjects {
|
||||
return;
|
||||
}
|
||||
Integer id = body.getInteger("id");
|
||||
// Integer idUser = body.getInteger("idUser");
|
||||
Integer idUser = 4;
|
||||
String description = body.getString("description");
|
||||
String type = body.getString("type");
|
||||
String location = body.getString("location");
|
||||
@ -42,6 +46,9 @@ public class SetObjects {
|
||||
.end(new JsonObject().put("error", "Objet non trouvé").encode());
|
||||
return;
|
||||
}
|
||||
if(idUser!=null){
|
||||
setUser.updateUserPoints(idUser,1);
|
||||
};
|
||||
context.response()
|
||||
.putHeader("content-type", "application/json: charset=UTF-8")
|
||||
.end(new JsonObject().put("success", "L'objet à bien été mis à jour").encode());
|
||||
@ -88,6 +95,8 @@ public class SetObjects {
|
||||
.end(new JsonObject().put("error","Corps de la requête manquant").encode());
|
||||
return;
|
||||
}
|
||||
// Integer idUser = body.getInteger("idUser");
|
||||
Integer idUser = 4;
|
||||
String name = body.getString("nom");
|
||||
String description = body.getString("description");
|
||||
String type = body.getString("type");
|
||||
@ -111,12 +120,14 @@ public class SetObjects {
|
||||
.end(new JsonObject().put("error", "Objet non trouvé").encode());
|
||||
return;
|
||||
}
|
||||
if(idUser!=null){
|
||||
setUser.updateUserPoints(idUser,2);
|
||||
};
|
||||
context.response()
|
||||
.putHeader("content-type","application/json: charset=UTF-8")
|
||||
.end(new JsonObject().put("success", "L'objet à bien été ajouté").encode());
|
||||
return;
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -10,7 +10,21 @@ public class SetUser {
|
||||
public SetUser(DatabaseService ddbs) {
|
||||
this.databaseService = ddbs;
|
||||
}
|
||||
|
||||
public void updateUserPoints(Integer userId, Integer points) {
|
||||
databaseService.pool
|
||||
.preparedQuery("UPDATE users SET points=points+? WHERE id=?")
|
||||
.execute(Tuple.of(points, userId))
|
||||
.onFailure(e -> {
|
||||
System.err.println("Erreur de mise à jour des points :" + e.getMessage());
|
||||
})
|
||||
.onSuccess(rows -> {
|
||||
if (rows.rowCount() > 0) {
|
||||
System.out.println("Points de l'utilisateur mis à jour avec succès");
|
||||
} else {
|
||||
System.out.println("Utilisateur non trouvé pour la mise à jour des points");
|
||||
}
|
||||
});
|
||||
}
|
||||
public void setUserPoints(RoutingContext context) {
|
||||
JsonObject body = context.body().asJsonObject();
|
||||
if (body == null) {
|
||||
@ -21,7 +35,6 @@ public class SetUser {
|
||||
}
|
||||
Integer id = body.getInteger("id");
|
||||
Integer points = body.getInteger("points");
|
||||
|
||||
databaseService.pool
|
||||
.preparedQuery(
|
||||
"UPDATE users SET points=? WHERE id=?")
|
||||
|
||||
@ -6,11 +6,15 @@ import io.vertx.sqlclient.Tuple;
|
||||
|
||||
public class SetWeatherData {
|
||||
private DatabaseService databaseService;
|
||||
private SetUser setUser;
|
||||
|
||||
|
||||
public SetWeatherData(DatabaseService ddbs) {
|
||||
this.databaseService = ddbs;
|
||||
}
|
||||
|
||||
public void setUserHandler(SetUser setUser) {
|
||||
this.setUser = setUser;
|
||||
}
|
||||
public void setRangeData(RoutingContext context) {
|
||||
JsonObject body = context.body().asJsonObject();
|
||||
if (body == null) {
|
||||
@ -37,7 +41,8 @@ public class SetWeatherData {
|
||||
return;
|
||||
}
|
||||
String query = String.format("UPDATE range_data SET %s_min=?, %s_max=? WHERE station_id=?", type, type);
|
||||
|
||||
// Integer idUser = body.getInteger("idUser");
|
||||
Integer idUser = 4;
|
||||
databaseService.pool
|
||||
.preparedQuery(
|
||||
query)
|
||||
@ -55,6 +60,9 @@ public class SetWeatherData {
|
||||
.end(new JsonObject().put("error", "Objet non trouvé").encode());
|
||||
return;
|
||||
}
|
||||
if (idUser != null) {
|
||||
setUser.updateUserPoints(idUser, 1);
|
||||
}
|
||||
context.response()
|
||||
.putHeader("content-type", "application/json: charset=UTF-8")
|
||||
.end(new JsonObject().put("success", "Les limites ont bien été mis à jour").encode());
|
||||
|
||||
@ -85,6 +85,7 @@ function Header() {
|
||||
className="flex items-center gap-2 text-gray-600 hover:text-indigo-600"
|
||||
>
|
||||
<Settings size={20} />
|
||||
<span>Paramètres</span>
|
||||
<span></span>
|
||||
</Link>
|
||||
</li>
|
||||
|
||||
@ -63,11 +63,11 @@ function User() {
|
||||
user.role = newLevel;
|
||||
/*ToDO*/
|
||||
if (user.role === "user") {
|
||||
user.points = 0;
|
||||
} else if (user.role === "complexe") {
|
||||
user.points = 60;
|
||||
} else if (user.role === "admin") {
|
||||
} else if (user.role === "complexe") {
|
||||
user.points = 100;
|
||||
} else if (user.role === "admin") {
|
||||
user.points = 200;
|
||||
}
|
||||
axios
|
||||
.post(`${API_BASE_URL}/setUserPoints`, {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user