Skip to content

Commit f95c102

Browse files
vista ordenes protegida
1 parent 127236f commit f95c102

4 files changed

Lines changed: 32 additions & 7 deletions

File tree

backend/server/routes/venta.routes.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
import { ventaSchema } from '../validators/venta.validator';
1010
import { idSchema, intervaloSchema } from '../validators/query.validator';
1111
import cajero from '../middlewares/cajero';
12+
import chef from '../middlewares/chef';
1213

1314
import {
1415
validarBody,
@@ -19,7 +20,7 @@ import {
1920
export default (app) => {
2021
// app.get('/ventas/:id', validarParams(idSchema), seleccionarById);
2122

22-
app.get('/ventas', validarQuery(intervaloSchema), seleccionar);
23+
app.get('/ventas', validarQuery(intervaloSchema), chef, seleccionar);
2324

2425
app.post('/ventas', validarBody(ventaSchema), cajero, insertar);
2526

frontend/src/components/Header.jsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ const Header = () => {
1111
};
1212
return (
1313
<>
14+
1415
<nav className="navbar navbar-light bg-light">
1516
<div className="container-fluid">
1617
<span className="navbar-brand">Nombre Restaurante</span>
@@ -20,9 +21,11 @@ const Header = () => {
2021
value="Cerrar Sesión"
2122
onClick={cerrarSesion}
2223
/>
23-
</div>
24+
25+
</div>
2426
</nav>
2527
</>
28+
2629
);
2730
};
2831

frontend/src/components/ordenes/Ordenes.jsx

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
11
import React, { useEffect, useState } from 'react';
2+
import { useHistory } from 'react-router';
3+
import { leerSesion } from '../../helper/autenticacion';
24
import Error from '../Error';
5+
import Header from '../Header';
36
import Orden from './Orden';
47

58
const Ordenes = () => {
69
const [ordenes, setOrdenes] = useState([]);
710
const [mensaje, setMensaje] = useState('Cargando...');
811

9-
const obtenerOrdenes = async () => {
12+
const obtenerOrdenes = async (token) => {
1013
const res = await fetch('http://127.0.0.1:8080/ventas', {
1114
method: 'GET',
12-
headers: { 'Content-type': 'application/json; charset=UTF-8' }
15+
headers: {
16+
'Content-type': 'application/json',
17+
'x-auth-token': token
18+
}
1319
});
1420
const data = await res.json();
1521

@@ -20,8 +26,18 @@ const Ordenes = () => {
2026
}
2127
};
2228

29+
const history = useHistory();
30+
2331
useEffect(() => {
24-
obtenerOrdenes();
32+
//redireccionar al login si no es CHEF
33+
const sesion = leerSesion();
34+
35+
if (sesion.existe && sesion.cargo === 'CHEF') {
36+
37+
obtenerOrdenes(sesion.token);
38+
} else {
39+
history.push('/');
40+
}
2541
}, []);
2642

2743
const eliminar = async (id) => {
@@ -45,8 +61,9 @@ const Ordenes = () => {
4561

4662
return (
4763
<>
64+
<Header />
4865
<div className="row">
49-
<h1 className="col text-center mb-4 mt-4 text-secondary">
66+
<h1 className="col mb-4 mt-4 text-secondary">
5067
Listado de ordenes
5168
</h1>
5269
</div>
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
import React from 'react';
2+
import Header from '../Header';
23

34
const Ventas = () => {
4-
return <h1>Desde Ventas</h1>;
5+
return (<>
6+
<Header />
7+
<h1>Desde Ventas</h1>
8+
</>);
59
};
610

711
export default Ventas;

0 commit comments

Comments
 (0)