Demande suppression admin
This commit is contained in:
parent
090da8c055
commit
63f945dcf0
@ -44,6 +44,7 @@ public class MainVerticle extends AbstractVerticle {
|
|||||||
setObjects.setUserHandler(setUser);
|
setObjects.setUserHandler(setUser);
|
||||||
queryObjects.setUserHandler(setUser);
|
queryObjects.setUserHandler(setUser);
|
||||||
setWeatherData.setUserHandler(setUser);
|
setWeatherData.setUserHandler(setUser);
|
||||||
|
QueryDeleteObject RequestDeleteObject = new QueryDeleteObject(databaseService);
|
||||||
|
|
||||||
|
|
||||||
// Déclaration des routes
|
// Déclaration des routes
|
||||||
@ -66,6 +67,9 @@ public class MainVerticle extends AbstractVerticle {
|
|||||||
router.get("/getCategories").handler(queryObjects::getCategories);
|
router.get("/getCategories").handler(queryObjects::getCategories);
|
||||||
router.post("/addCategories").handler(setObjects::newCategorie);
|
router.post("/addCategories").handler(setObjects::newCategorie);
|
||||||
router.post("/deleteCategories").handler(setObjects::deleteCategories);
|
router.post("/deleteCategories").handler(setObjects::deleteCategories);
|
||||||
|
router.post("/requestDeleteObject").handler(RequestDeleteObject::deleteObject);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Routes d'authentification
|
// Routes d'authentification
|
||||||
router.post("/signup").handler(authHandler::handleSignup);
|
router.post("/signup").handler(authHandler::handleSignup);
|
||||||
|
|||||||
@ -0,0 +1,64 @@
|
|||||||
|
package com.example.starter;
|
||||||
|
|
||||||
|
import io.vertx.core.json.JsonObject;
|
||||||
|
import io.vertx.ext.web.RoutingContext;
|
||||||
|
import io.vertx.sqlclient.Tuple;
|
||||||
|
|
||||||
|
public class QueryDeleteObject {
|
||||||
|
private DatabaseService databaseService;
|
||||||
|
|
||||||
|
public QueryDeleteObject(DatabaseService dtbS) {
|
||||||
|
this.databaseService = dtbS;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void deleteObject(RoutingContext context) {
|
||||||
|
JsonObject body = context.body().asJsonObject();
|
||||||
|
|
||||||
|
if (body == null) {
|
||||||
|
context.response().setStatusCode(400).end(new JsonObject().put("error", "Requête invalide").encode());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Lecture des paramètres
|
||||||
|
Integer objectId = body.getInteger("object_id");
|
||||||
|
Integer userId = body.getInteger("requested_by");
|
||||||
|
|
||||||
|
System.out.println("Body reçu : " + body.encode());
|
||||||
|
System.out.println("objectId = " + objectId + ", userId = " + userId);
|
||||||
|
|
||||||
|
if (objectId == null || userId == null) {
|
||||||
|
context.response().setStatusCode(400).end(new JsonObject().put("error", "Champs manquants").encode());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Vérification si l'objet existe
|
||||||
|
String checkQuery = "SELECT id FROM weather_objects WHERE id = ?";
|
||||||
|
|
||||||
|
databaseService.pool.preparedQuery(checkQuery).execute(Tuple.of(objectId), res -> {
|
||||||
|
if (res.failed()) {
|
||||||
|
res.cause().printStackTrace(); // Affiche l'erreur SQL s'il y en a une
|
||||||
|
context.response().setStatusCode(500).end(new JsonObject().put("error", "Erreur base de données").encode());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (res.result().rowCount() == 0) {
|
||||||
|
context.response().setStatusCode(404).end(new JsonObject().put("error", "Objet non trouvé").encode());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Insertion simple (pas de vérif doublon pour l’instant)
|
||||||
|
String checkDuplicate = "SELECT 1 FROM deletion_requests WHERE object_id = ? AND requested_by = ?";
|
||||||
|
String insertQuery = "INSERT INTO deletion_requests (object_id, requested_by) VALUES (?, ?)";
|
||||||
|
|
||||||
|
databaseService.pool.preparedQuery(insertQuery).execute(Tuple.of(objectId, userId), insertRes -> {
|
||||||
|
if (insertRes.succeeded()) {
|
||||||
|
context.response().setStatusCode(200).end(new JsonObject().put("message", "Demande envoyée").encode());
|
||||||
|
} else {
|
||||||
|
insertRes.cause().printStackTrace(); // Pour voir l'erreur en console
|
||||||
|
context.response().setStatusCode(500).end(new JsonObject().put("error", "Erreur insertion").encode());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -1,5 +1,5 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import { Search, ArrowRight, RadioTower, Plus } from "lucide-react";
|
import { Search, ArrowRight, RadioTower, Plus, Trash } from "lucide-react";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import { API_BASE_URL } from "../../config";
|
import { API_BASE_URL } from "../../config";
|
||||||
@ -32,6 +32,41 @@ function ObjectManagement() {
|
|||||||
setObjects(response.data);
|
setObjects(response.data);
|
||||||
});
|
});
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
const handleRequestDeletion = async (objectId) => {
|
||||||
|
console.log("Demande de suppression pour l'objet", objectId);
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Log des données envoyées
|
||||||
|
console.log("Envoi de la requête:", {
|
||||||
|
object_id: objectId,
|
||||||
|
requested_by: user.id,
|
||||||
|
});
|
||||||
|
|
||||||
|
const response = await axios.post(
|
||||||
|
`${API_BASE_URL}/requestDeleteObject`,
|
||||||
|
{
|
||||||
|
object_id: objectId,
|
||||||
|
requested_by: user.id,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json", // Pas d'Authorization
|
||||||
|
},
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log("Réponse du serveur:", response.data);
|
||||||
|
alert("Demande de suppression envoyée à l'administrateur.");
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Erreur lors de la requête :", error.response?.data || error.message);
|
||||||
|
alert("Erreur lors de la demande.");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="min-h-screen bg-gradient-to-br from-blue-50 to-indigo-50">
|
<div className="min-h-screen bg-gradient-to-br from-blue-50 to-indigo-50">
|
||||||
@ -141,12 +176,23 @@ function ObjectManagement() {
|
|||||||
</div>
|
</div>
|
||||||
<h3 className="text-xl font-semibold mb-2">{object.name}</h3>
|
<h3 className="text-xl font-semibold mb-2">{object.name}</h3>
|
||||||
<p className="text-gray-600 mb-4">{object.description}</p>
|
<p className="text-gray-600 mb-4">{object.description}</p>
|
||||||
<a
|
<div className="flex items-center justify-between mt-4">
|
||||||
href={`/objet?id=${object.id}`}
|
<a
|
||||||
className="flex items-center text-indigo-600 hover:text-indigo-700"
|
href={`/objet?id=${object.id}`}
|
||||||
>
|
className="flex items-center text-indigo-600 hover:text-indigo-700"
|
||||||
Plus d'infos <ArrowRight size={16} className="ml-2" />
|
>
|
||||||
</a>
|
Plus d'infos <ArrowRight size={16} className="ml-2" />
|
||||||
|
</a>
|
||||||
|
{user?.role !== "user" && (
|
||||||
|
<button
|
||||||
|
onClick={() => handleRequestDeletion(object.id)}
|
||||||
|
className="text-red-500 hover:text-red-700"
|
||||||
|
title="Supprimer l'objet"
|
||||||
|
>
|
||||||
|
<Trash size={20} />
|
||||||
|
</button>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
))
|
))
|
||||||
)}
|
)}
|
||||||
|
|||||||
522
sql/export1.sql
Normal file
522
sql/export1.sql
Normal file
@ -0,0 +1,522 @@
|
|||||||
|
--
|
||||||
|
-- PostgreSQL database dump
|
||||||
|
--
|
||||||
|
|
||||||
|
-- Dumped from database version 16.8 (Ubuntu 16.8-0ubuntu0.24.04.1)
|
||||||
|
-- Dumped by pg_dump version 16.8 (Ubuntu 16.8-0ubuntu0.24.04.1)
|
||||||
|
|
||||||
|
-- Started on 2025-04-13 11:04:16 CEST
|
||||||
|
|
||||||
|
SET statement_timeout = 0;
|
||||||
|
SET lock_timeout = 0;
|
||||||
|
SET idle_in_transaction_session_timeout = 0;
|
||||||
|
SET client_encoding = 'UTF8';
|
||||||
|
SET standard_conforming_strings = on;
|
||||||
|
SELECT pg_catalog.set_config('search_path', '', false);
|
||||||
|
SET check_function_bodies = false;
|
||||||
|
SET xmloption = content;
|
||||||
|
SET client_min_messages = warning;
|
||||||
|
SET row_security = off;
|
||||||
|
|
||||||
|
SET default_tablespace = '';
|
||||||
|
|
||||||
|
SET default_table_access_method = heap;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 223 (class 1259 OID 16527)
|
||||||
|
-- Name: categories; Type: TABLE; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE public.categories (
|
||||||
|
id integer NOT NULL,
|
||||||
|
name text NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE public.categories OWNER TO postgres;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 222 (class 1259 OID 16526)
|
||||||
|
-- Name: categories_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE SEQUENCE public.categories_id_seq
|
||||||
|
AS integer
|
||||||
|
START WITH 1
|
||||||
|
INCREMENT BY 1
|
||||||
|
NO MINVALUE
|
||||||
|
NO MAXVALUE
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.categories_id_seq OWNER TO postgres;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3502 (class 0 OID 0)
|
||||||
|
-- Dependencies: 222
|
||||||
|
-- Name: categories_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.categories_id_seq OWNED BY public.categories.id;
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 225 (class 1259 OID 16573)
|
||||||
|
-- Name: deletion_requests; Type: TABLE; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE public.deletion_requests (
|
||||||
|
id integer NOT NULL,
|
||||||
|
object_id integer NOT NULL,
|
||||||
|
requested_by integer NOT NULL,
|
||||||
|
created_at timestamp without time zone DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
status character varying(20) DEFAULT 'pending'::character varying
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE public.deletion_requests OWNER TO postgres;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 224 (class 1259 OID 16572)
|
||||||
|
-- Name: deletion_requests_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE SEQUENCE public.deletion_requests_id_seq
|
||||||
|
AS integer
|
||||||
|
START WITH 1
|
||||||
|
INCREMENT BY 1
|
||||||
|
NO MINVALUE
|
||||||
|
NO MAXVALUE
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.deletion_requests_id_seq OWNER TO postgres;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3503 (class 0 OID 0)
|
||||||
|
-- Dependencies: 224
|
||||||
|
-- Name: deletion_requests_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.deletion_requests_id_seq OWNED BY public.deletion_requests.id;
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 215 (class 1259 OID 16468)
|
||||||
|
-- Name: range_data; Type: TABLE; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE public.range_data (
|
||||||
|
station_id integer NOT NULL,
|
||||||
|
temperature_min numeric,
|
||||||
|
temperature_max numeric,
|
||||||
|
pressure_min numeric,
|
||||||
|
pressure_max numeric,
|
||||||
|
humidity_min numeric,
|
||||||
|
humidity_max numeric
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE public.range_data OWNER TO postgres;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 219 (class 1259 OID 16502)
|
||||||
|
-- Name: users; Type: TABLE; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE public.users (
|
||||||
|
id integer NOT NULL,
|
||||||
|
name character varying(50) NOT NULL,
|
||||||
|
surname character varying(50) NOT NULL,
|
||||||
|
email character varying(100) NOT NULL,
|
||||||
|
gender character varying(10) NOT NULL,
|
||||||
|
password text NOT NULL,
|
||||||
|
created_at timestamp without time zone DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
points integer DEFAULT 0,
|
||||||
|
CONSTRAINT users_gender_check CHECK (((gender)::text = ANY ((ARRAY['homme'::character varying, 'femme'::character varying])::text[])))
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE public.users OWNER TO postgres;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 218 (class 1259 OID 16501)
|
||||||
|
-- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE SEQUENCE public.users_id_seq
|
||||||
|
AS integer
|
||||||
|
START WITH 1
|
||||||
|
INCREMENT BY 1
|
||||||
|
NO MINVALUE
|
||||||
|
NO MAXVALUE
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.users_id_seq OWNER TO postgres;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3504 (class 0 OID 0)
|
||||||
|
-- Dependencies: 218
|
||||||
|
-- Name: users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.users_id_seq OWNED BY public.users.id;
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 221 (class 1259 OID 16524)
|
||||||
|
-- Name: weather_data_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE SEQUENCE public.weather_data_id_seq
|
||||||
|
START WITH 1
|
||||||
|
INCREMENT BY 1
|
||||||
|
NO MINVALUE
|
||||||
|
NO MAXVALUE
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.weather_data_id_seq OWNER TO postgres;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 216 (class 1259 OID 16473)
|
||||||
|
-- Name: weather_data; Type: TABLE; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE public.weather_data (
|
||||||
|
id integer DEFAULT nextval('public.weather_data_id_seq'::regclass) NOT NULL,
|
||||||
|
station_id integer NOT NULL,
|
||||||
|
temperature numeric(5,2),
|
||||||
|
humidity numeric(5,2),
|
||||||
|
pressure numeric(7,2),
|
||||||
|
wind_speed numeric(5,2),
|
||||||
|
wind_direction character varying(50),
|
||||||
|
"timestamp" timestamp without time zone DEFAULT CURRENT_TIMESTAMP
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE public.weather_data OWNER TO postgres;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 220 (class 1259 OID 16522)
|
||||||
|
-- Name: weather_objects_id_seq1; Type: SEQUENCE; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE SEQUENCE public.weather_objects_id_seq1
|
||||||
|
START WITH 1
|
||||||
|
INCREMENT BY 1
|
||||||
|
NO MINVALUE
|
||||||
|
NO MAXVALUE
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.weather_objects_id_seq1 OWNER TO postgres;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 217 (class 1259 OID 16477)
|
||||||
|
-- Name: weather_objects; Type: TABLE; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE public.weather_objects (
|
||||||
|
id integer DEFAULT nextval('public.weather_objects_id_seq1'::regclass) NOT NULL,
|
||||||
|
name character varying(500) NOT NULL,
|
||||||
|
description text,
|
||||||
|
type character varying(100) NOT NULL,
|
||||||
|
location character varying(255),
|
||||||
|
last_update timestamp without time zone DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
status character varying(50) DEFAULT 'active'::character varying,
|
||||||
|
batterie integer,
|
||||||
|
type_batterie character varying(50),
|
||||||
|
proprio_id integer,
|
||||||
|
CONSTRAINT weather_objects_batterie_check CHECK (((batterie >= 0) AND (batterie <= 100)))
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE public.weather_objects OWNER TO postgres;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3317 (class 2604 OID 16530)
|
||||||
|
-- Name: categories id; Type: DEFAULT; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.categories ALTER COLUMN id SET DEFAULT nextval('public.categories_id_seq'::regclass);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3318 (class 2604 OID 16576)
|
||||||
|
-- Name: deletion_requests id; Type: DEFAULT; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.deletion_requests ALTER COLUMN id SET DEFAULT nextval('public.deletion_requests_id_seq'::regclass);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3314 (class 2604 OID 16505)
|
||||||
|
-- Name: users id; Type: DEFAULT; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.users ALTER COLUMN id SET DEFAULT nextval('public.users_id_seq'::regclass);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3494 (class 0 OID 16527)
|
||||||
|
-- Dependencies: 223
|
||||||
|
-- Data for Name: categories; Type: TABLE DATA; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
COPY public.categories (id, name) FROM stdin;
|
||||||
|
1 Station météo
|
||||||
|
2 Capteur
|
||||||
|
3 Passerelle
|
||||||
|
4 Anémomètre
|
||||||
|
5 Pluviomètre
|
||||||
|
6 Thermomètre
|
||||||
|
7 Hygromètre
|
||||||
|
\.
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3496 (class 0 OID 16573)
|
||||||
|
-- Dependencies: 225
|
||||||
|
-- Data for Name: deletion_requests; Type: TABLE DATA; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
COPY public.deletion_requests (id, object_id, requested_by, created_at, status) FROM stdin;
|
||||||
|
1 2 1 2025-04-13 10:45:55.942399 pending
|
||||||
|
\.
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3486 (class 0 OID 16468)
|
||||||
|
-- Dependencies: 215
|
||||||
|
-- Data for Name: range_data; Type: TABLE DATA; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
COPY public.range_data (station_id, temperature_min, temperature_max, pressure_min, pressure_max, humidity_min, humidity_max) FROM stdin;
|
||||||
|
1 -33 42 980 1040 30 84
|
||||||
|
2 -15 50 980 1040 30 90
|
||||||
|
3 -15 50 980 1040 30 90
|
||||||
|
4 -15 50 980 1040 30 90
|
||||||
|
5 -15 50 980 1040 30 90
|
||||||
|
6 -15 50 980 1040 30 90
|
||||||
|
7 -15 50 980 1040 30 90
|
||||||
|
8 -15 50 980 1040 30 90
|
||||||
|
9 -15 50 980 1040 30 90
|
||||||
|
10 -15 50 980 1040 30 90
|
||||||
|
\.
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3490 (class 0 OID 16502)
|
||||||
|
-- Dependencies: 219
|
||||||
|
-- Data for Name: users; Type: TABLE DATA; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
COPY public.users (id, name, surname, email, gender, password, created_at, points) FROM stdin;
|
||||||
|
1 Jean Dupont jean.dupont@example.com homme hashed_password1 2025-03-31 15:15:17.203076 0
|
||||||
|
2 Marie Curie marie.curie@example.com femme hashed_password2 2025-03-31 15:15:17.203076 0
|
||||||
|
3 Albert Einstein albert.einstein@example.com homme hashed_password3 2025-03-31 15:15:17.203076 0
|
||||||
|
4 Alice Lemoine alice@example.com femme $2a$12$QNx7sC7VBXrU7QHFhU78vunLIU3C9KiVT2KyCJ5y6G0cdJB/k0YuC 2025-03-31 16:59:25.687126 0
|
||||||
|
15 azaz azeazae azeaze@azeaze femme $2a$12$YPEoDDRD/y2Zxh7mfTUWHuCgT9k3OlqwGWBPNpPx2yTSlfY4yHSka 2025-03-31 17:26:18.258471 0
|
||||||
|
16 El moudden Nassef nassmaghrebi@gmail.com homme $2a$12$f6Ovl48RsbipNNsEBcVjP.DGdCYPaxlHsZ2YexpeHDAXq4UzMK3hm 2025-04-01 15:34:05.987387 0
|
||||||
|
17 Declos Mathis md10022004@gmail.com homme $2a$12$/PufX/T..YU1Ze3yNYAkU.Ql8VqaBP7vmNXBK1Q8NniEA/Vqi37Qa 2025-04-02 11:12:36.427383 0
|
||||||
|
19 azeaze azeaze azeaze@aeaze.com femme $2a$12$vH.MxhvC/cJ02SNZSsr9SeHYy.JWoIFLKZGKVhUHLv7b9E1rm3Dam 2025-04-04 10:40:01.71072 0
|
||||||
|
20 Mendiburu Charles charles@gmail.com homme $2a$12$RPL.17dQ66kyZyfCST2EYePeDd/4iNhpr7hCpfBxJ7cROt/Lx1/zK 2025-04-11 19:06:41.216647 104
|
||||||
|
18 Mendiburu Charles charles.mendi1609@gmail.com homme $2a$12$PLowdJvo.jsnzbjE9CEccucGPE5XDn9kyn2nmyWWvh8eydT4827CS 2025-04-04 08:51:44.689425 226
|
||||||
|
\.
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3487 (class 0 OID 16473)
|
||||||
|
-- Dependencies: 216
|
||||||
|
-- Data for Name: weather_data; Type: TABLE DATA; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
COPY public.weather_data (id, station_id, temperature, humidity, pressure, wind_speed, wind_direction, "timestamp") FROM stdin;
|
||||||
|
1 1 21.50 60.20 1013.10 5.40 Nord-Ouest 2025-03-29 18:47:46.685241
|
||||||
|
2 2 22.30 55.00 1012.50 3.20 Sud-Ouest 2025-03-29 18:47:46.685241
|
||||||
|
3 3 24.10 50.00 1010.80 6.00 Est 2025-03-29 18:47:46.685241
|
||||||
|
4 1 22.50 65.40 1013.20 5.50 Nord-Ouest 2025-04-12 01:33:17.747529
|
||||||
|
5 2 19.30 70.10 1012.80 4.70 Sud-Est 2025-04-12 01:33:17.747529
|
||||||
|
6 2 22.50 65.40 1013.20 5.50 Nord-Ouest 2025-04-12 01:34:04.077375
|
||||||
|
7 3 19.30 70.10 1012.80 4.70 Sud-Est 2025-04-12 01:34:04.077375
|
||||||
|
\.
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3488 (class 0 OID 16477)
|
||||||
|
-- Dependencies: 217
|
||||||
|
-- Data for Name: weather_objects; Type: TABLE DATA; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
COPY public.weather_objects (id, name, description, type, location, last_update, status, batterie, type_batterie, proprio_id) FROM stdin;
|
||||||
|
2 Station Lyon Station météo située à Lyon, France. station Lyon, France 2025-03-30 12:16:00.835834 active 100 solaire \N
|
||||||
|
4 Station Alpha Station météo dans le centre-ville station_meteo Paris 2025-04-12 01:32:19.680121 active 80 Li-Ion 1
|
||||||
|
5 Station Beta Station météo sur la montagne station_meteo Alpes 2025-04-12 01:32:19.680121 active 60 NiMH 2
|
||||||
|
6 Station Gamma Station météo près de la mer station_meteo Nice 2025-04-12 01:32:19.680121 active 90 Li-Ion 3
|
||||||
|
1 Station Paris Station météo située à Paris, France. station Paris, France 2025-04-12 01:36:03.306108 inactive 100 solaire \N
|
||||||
|
3 Station Marseille Station météo située à Marseille, France. station Marseille, France 2025-04-12 01:36:32.314423 active 100 solaire \N
|
||||||
|
7 Station Meteo Charles Station meteo de charles station meteo Capbreton 2025-04-12 09:29:48.565373 active \N Solaire 18
|
||||||
|
\.
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3505 (class 0 OID 0)
|
||||||
|
-- Dependencies: 222
|
||||||
|
-- Name: categories_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
SELECT pg_catalog.setval('public.categories_id_seq', 7, true);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3506 (class 0 OID 0)
|
||||||
|
-- Dependencies: 224
|
||||||
|
-- Name: deletion_requests_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
SELECT pg_catalog.setval('public.deletion_requests_id_seq', 1, true);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3507 (class 0 OID 0)
|
||||||
|
-- Dependencies: 218
|
||||||
|
-- Name: users_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
SELECT pg_catalog.setval('public.users_id_seq', 20, true);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3508 (class 0 OID 0)
|
||||||
|
-- Dependencies: 221
|
||||||
|
-- Name: weather_data_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
SELECT pg_catalog.setval('public.weather_data_id_seq', 7, true);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3509 (class 0 OID 0)
|
||||||
|
-- Dependencies: 220
|
||||||
|
-- Name: weather_objects_id_seq1; Type: SEQUENCE SET; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
SELECT pg_catalog.setval('public.weather_objects_id_seq1', 7, true);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3334 (class 2606 OID 16536)
|
||||||
|
-- Name: categories categories_name_key; Type: CONSTRAINT; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.categories
|
||||||
|
ADD CONSTRAINT categories_name_key UNIQUE (name);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3336 (class 2606 OID 16534)
|
||||||
|
-- Name: categories categories_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.categories
|
||||||
|
ADD CONSTRAINT categories_pkey PRIMARY KEY (id);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3338 (class 2606 OID 16580)
|
||||||
|
-- Name: deletion_requests deletion_requests_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.deletion_requests
|
||||||
|
ADD CONSTRAINT deletion_requests_pkey PRIMARY KEY (id);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3324 (class 2606 OID 16486)
|
||||||
|
-- Name: range_data station_meteo_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.range_data
|
||||||
|
ADD CONSTRAINT station_meteo_pkey PRIMARY KEY (station_id);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3330 (class 2606 OID 16514)
|
||||||
|
-- Name: users users_email_key; Type: CONSTRAINT; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.users
|
||||||
|
ADD CONSTRAINT users_email_key UNIQUE (email);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3332 (class 2606 OID 16512)
|
||||||
|
-- Name: users users_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.users
|
||||||
|
ADD CONSTRAINT users_pkey PRIMARY KEY (id);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3326 (class 2606 OID 16488)
|
||||||
|
-- Name: weather_data weather_data_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.weather_data
|
||||||
|
ADD CONSTRAINT weather_data_pkey PRIMARY KEY (id);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3328 (class 2606 OID 16490)
|
||||||
|
-- Name: weather_objects weather_objects_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.weather_objects
|
||||||
|
ADD CONSTRAINT weather_objects_pkey PRIMARY KEY (id);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3341 (class 2606 OID 16586)
|
||||||
|
-- Name: deletion_requests fk_user; Type: FK CONSTRAINT; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.deletion_requests
|
||||||
|
ADD CONSTRAINT fk_user FOREIGN KEY (requested_by) REFERENCES public.users(id) ON DELETE CASCADE;
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3342 (class 2606 OID 16581)
|
||||||
|
-- Name: deletion_requests fk_weather_object; Type: FK CONSTRAINT; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.deletion_requests
|
||||||
|
ADD CONSTRAINT fk_weather_object FOREIGN KEY (object_id) REFERENCES public.weather_objects(id) ON DELETE CASCADE;
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3339 (class 2606 OID 16491)
|
||||||
|
-- Name: weather_data weather_data_station_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.weather_data
|
||||||
|
ADD CONSTRAINT weather_data_station_id_fkey FOREIGN KEY (station_id) REFERENCES public.weather_objects(id);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- TOC entry 3340 (class 2606 OID 16517)
|
||||||
|
-- Name: weather_objects weather_objects_proprio_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.weather_objects
|
||||||
|
ADD CONSTRAINT weather_objects_proprio_id_fkey FOREIGN KEY (proprio_id) REFERENCES public.users(id) ON DELETE CASCADE;
|
||||||
|
|
||||||
|
|
||||||
|
-- Completed on 2025-04-13 11:04:16 CEST
|
||||||
|
|
||||||
|
--
|
||||||
|
-- PostgreSQL database dump complete
|
||||||
|
--
|
||||||
|
|
||||||
Loading…
Reference in New Issue
Block a user