From 59efb7d81f4e0c79c7902785a83bb2506e54eb30 Mon Sep 17 00:00:00 2001 From: Jose Date: Sun, 25 Jan 2026 23:43:25 +0100 Subject: [PATCH] Ongoing adaptation to new backend structure --- public/config/settings.dev.json | 105 +++++++++---------- public/config/settings.prod.json | 104 +++++++++--------- src/components/Anuncios/AnuncioCard.jsx | 24 +++-- src/components/App.jsx | 2 - src/components/Auth/IfRole.jsx | 4 +- src/components/Auth/LoginForm.jsx | 31 +++--- src/components/Auth/ProtectedRoute.jsx | 4 +- src/components/Balance/BalancePDF.jsx | 38 +++---- src/components/Balance/BalanceReport.jsx | 36 +++---- src/components/Documentacion/File.jsx | 10 +- src/components/Gastos/GastoCard.jsx | 14 +-- src/components/Gastos/GastosPDF.jsx | 2 +- src/components/Ingresos/IngresoCard.jsx | 44 ++++---- src/components/Ingresos/IngresosPDF.jsx | 4 +- src/components/NavBar/NavBar.jsx | 4 +- src/components/Socios/SocioCard.jsx | 99 +++++++++-------- src/components/Socios/SociosPDF.jsx | 8 +- src/components/Solicitudes/PreUserForm.jsx | 39 +++---- src/components/Solicitudes/SolicitudCard.jsx | 84 +++++++-------- src/context/AuthContext.jsx | 56 +++++++--- src/hooks/useData.js | 59 +++++------ src/hooks/useRequestCount.js | 4 +- src/pages/Anuncios.jsx | 20 ++-- src/pages/Documentacion.jsx | 23 ++-- src/pages/Gastos.jsx | 6 +- src/pages/Ingresos.jsx | 14 +-- src/pages/ListaEspera.jsx | 32 +++--- src/pages/Perfil.jsx | 68 ++++++------ src/pages/Socios.jsx | 60 +++++------ src/pages/Solicitudes.jsx | 18 ++-- src/util/constants.js | 3 + 31 files changed, 505 insertions(+), 514 deletions(-) diff --git a/public/config/settings.dev.json b/public/config/settings.dev.json index 22dee1e..ece01fd 100644 --- a/public/config/settings.dev.json +++ b/public/config/settings.dev.json @@ -1,77 +1,72 @@ { "apiConfig": { - "baseUrl": "http://api.huertos.local", - "coreUrl": "http://api.miarma.local", + "baseUrl": "http://localhost:8081/v2/huertos", + "coreUrl": "http://localhost:8080/v2/core", "endpoints": { "auth": { - "login": "/v1/login", - "validateToken": "/auth/v1/validate-token", - "refreshToken": "/auth/v1/refresh-token", - "changePassword": "/auth/v1/change-password", - "loginValidate": "/auth/v1/login/validate" + "login": "/auth/login", + "refreshToken": "/auth/refresh", + "changePassword": "/auth/change-password", + "validateToken": "/auth/validate" }, - "members": { - "all": "/raw/v1/members", - "byId": "/raw/v1/members/:user_id", - "profile": "/v1/members/profile", - "byMemberNumber": "/v1/members/number/:member_number", - "byPlotNumber": "/v1/members/plot/:plot_number", - "byDni": "/v1/members/dni/:dni", - "payments": "/v1/members/number/:member_number/incomes", - "hasPaid": "/v1/members/number/:member_number/has-paid", - "waitlist": "/v1/members/waitlist", - "limitedWaitlist": "/v1/members/waitlist/limited", - "lastMemberNumber": "/v1/members/latest-number", - "hasCollaborator": "/v1/members/number/:member_number/has-collaborator", - "hasCollaboratorRequest": "/v1/members/number/:member_number/has-collaborator-request", - "hasGreenHouse": "/v1/members/number/:member_number/has-greenhouse", - "hasGreenHouseRequest": "/v1/members/number/:member_number/has-greenhouse-request", - "changeType": "/v1/members/number/:user_id/type", - "changeStatus": "/v1/members/number/:user_id/status" + "users": { + "all": "/users", + "byId": "/users/:userId", + "me": "/users/me", + "latestNumber": "/users/latest-number", + "waitlist": "/users/waitlist", + "waitlistLimited": "/users/waitlist/limited", + "byMemberNumber": "/users/number/:memberNumber", + "incomesPreview": "/users/number/:memberNumber/incomes", + "hasPaid": "/users/number/:memberNumber/has-paid", + "hasCollaborator": "/users/number/:memberNumber/has-collaborator", + "hasGreenhouse": "/users/number/:memberNumber/has-greenhouse", + "hasCollaboratorRequest": "/users/number/:memberNumber/has-collaborator-request", + "hasGreenhouseRequest": "/users/number/:memberNumber/has-greenhouse-request", + "byPlotNumber": "/users/plot/:plotNumber", + "byDni": "/users/dni/:dni" }, "incomes": { - "all": "/raw/v1/incomes", - "allWithNames": "/raw/v1/incomes-with-names", - "byId": "/raw/v1/incomes/:income_id", - "myIncomes": "/v1/incomes/my-incomes" + "all": "/incomes", + "withNames": "/incomes/with-names", + "mine": "/incomes/mine", + "byId": "/incomes/:incomeId" }, "expenses": { - "all": "/raw/v1/expenses", - "byId": "/raw/v1/expenses/:expense_id" + "all": "/expenses", + "byId": "/expenses/:expenseId" }, "balance": { - "all": "/raw/v1/balance" + "all": "/balance" }, - "announces": { - "all": "/raw/v1/announces", - "byId": "/raw/v1/announces/:announce_id" + "announcements": { + "all": "/announcements", + "byId": "/announcements/:announceId" }, "requests": { - "all": "/raw/v1/requests", - "byId": "/raw/v1/requests/:request_id", - "allWithPreUsers": "/v1/requests-full", - "byIdWithPreUser": "/v1/requests-full/:request_id", - "countPending": "/v1/requests/count", - "myRequests": "/v1/requests/my-requests", - "accept": "/v1/requests/:request_id/accept", - "reject": "/v1/requests/:request_id/reject" + "all": "/requests", + "waitlist": "/requests/waitlist", + "byId": "/requests/:requestId", + "count": "/requests/count", + "mine": "/requests/mine", + "full": "/requests/full", + "fullById": "/requests/full/:requestId", + "accept": "/requests/:requestId/accept", + "reject": "/requests/:requestId/reject" }, - "pre_users": { - "all": "/raw/v1/pre_users", - "byId": "/raw/v1/pre_users/:pre_user_id", - "validation": "/v1/pre_users/validate" + "preUsers": { + "all": "/pre-users", + "byId": "/pre-users/:preUserId", + "validate": "/pre-users/validate" }, "files": { - "all": "/raw/v1/files", - "byId": "/raw/v1/files/:file_id", - "upload": "/raw/v1/files/upload", - "download": "/raw/v1/files/download/:file_id", - "userFiles": "/raw/v1/files/myfiles" + "all": "/files", + "byId": "/files/:fileId" }, "mail": { - "all": "/v1/mails", - "byIndex": "/v1/mails/:index", - "send": "/v1/mails/send" + "all": "/mails", + "byIndex": "/mails/:index", + "send": "/mails/send" } } } diff --git a/public/config/settings.prod.json b/public/config/settings.prod.json index 2603afb..ae335ee 100644 --- a/public/config/settings.prod.json +++ b/public/config/settings.prod.json @@ -1,77 +1,71 @@ { "apiConfig": { - "baseUrl": "https://api.huertosbellavista.es", - "coreUrl": "https://api.miarma.net", + "baseUrl": "https://api.miarma.net/v2/huertos", + "coreUrl": "https://api.miarma.net/v2/core", "endpoints": { "auth": { - "login": "/v1/login", - "validateToken": "/auth/v1/validate-token", - "refreshToken": "/auth/v1/refresh-token", - "changePassword": "/auth/v1/change-password", - "loginValidate": "/auth/v1/login/validate" + "login": "/auth/login", + "refreshToken": "/auth/refresh", + "changePassword": "/auth/change-password" }, - "members": { - "all": "/raw/v1/members", - "byId": "/raw/v1/members/:user_id", - "profile": "/v1/members/profile", - "byMemberNumber": "/v1/members/number/:member_number", - "byPlotNumber": "/v1/members/plot/:plot_number", - "byDni": "/v1/members/dni/:dni", - "payments": "/v1/members/number/:member_number/incomes", - "hasPaid": "/v1/members/number/:member_number/has-paid", - "waitlist": "/v1/members/waitlist", - "limitedWaitlist": "/v1/members/waitlist/limited", - "lastMemberNumber": "/v1/members/latest-number", - "hasCollaborator": "/v1/members/number/:member_number/has-collaborator", - "hasCollaboratorRequest": "/v1/members/number/:member_number/has-collaborator-request", - "hasGreenHouse": "/v1/members/number/:member_number/has-greenhouse", - "hasGreenHouseRequest": "/v1/members/number/:member_number/has-greenhouse-request", - "changeType": "/v1/members/number/:user_id/type", - "changeStatus": "/v1/members/number/:user_id/status" + "users": { + "all": "/users", + "byId": "/users/:userId", + "me": "/users/me", + "latestNumber": "/users/latest-number", + "waitlist": "/users/waitlist", + "waitlistLimited": "/users/waitlist/limited", + "byMemberNumber": "/users/number/:memberNumber", + "incomesPreview": "/users/number/:memberNumber/incomes", + "hasPaid": "/users/number/:memberNumber/has-paid", + "hasCollaborator": "/users/number/:memberNumber/has-collaborator", + "hasGreenhouse": "/users/number/:memberNumber/has-greenhouse", + "hasCollaboratorRequest": "/users/number/:memberNumber/has-collaborator-request", + "hasGreenhouseRequest": "/users/number/:memberNumber/has-greenhouse-request", + "byPlotNumber": "/users/plot/:plotNumber", + "byDni": "/users/dni/:dni" }, "incomes": { - "all": "/raw/v1/incomes", - "allWithNames": "/raw/v1/incomes-with-names", - "byId": "/raw/v1/incomes/:income_id", - "myIncomes": "/v1/incomes/my-incomes" + "all": "/incomes", + "withNames": "/incomes/with-names", + "mine": "/incomes/mine", + "byId": "/incomes/:incomeId" }, "expenses": { - "all": "/raw/v1/expenses", - "byId": "/raw/v1/expenses/:expense_id" + "all": "/expenses", + "byId": "/expenses/:expenseId" }, "balance": { - "all": "/raw/v1/balance" + "all": "/balance" }, - "announces": { - "all": "/raw/v1/announces", - "byId": "/raw/v1/announces/:announce_id" + "announcements": { + "all": "/announcements", + "byId": "/announcements/:announceId" }, "requests": { - "all": "/raw/v1/requests", - "byId": "/raw/v1/requests/:request_id", - "allWithPreUsers": "/v1/requests-full", - "byIdWithPreUser": "/v1/requests-full/:request_id", - "countPending": "/v1/requests/count", - "myRequests": "/v1/requests/my-requests", - "accept": "/v1/requests/:request_id/accept", - "reject": "/v1/requests/:request_id/reject" + "all": "/requests", + "waitlist": "/requests/waitlist", + "byId": "/requests/:requestId", + "count": "/requests/count", + "mine": "/requests/mine", + "full": "/requests/full", + "fullById": "/requests/full/:requestId", + "accept": "/requests/:requestId/accept", + "reject": "/requests/:requestId/reject" }, - "pre_users": { - "all": "/raw/v1/pre_users", - "byId": "/raw/v1/pre_users/:pre_user_id", - "validation": "/v1/pre_users/validate" + "preUsers": { + "all": "/pre-users", + "byId": "/pre-users/:preUserId", + "validate": "/pre-users/validate" }, "files": { - "all": "/raw/v1/files", - "byId": "/raw/v1/files/:file_id", - "upload": "/raw/v1/files/upload", - "download": "/raw/v1/files/download/:file_id", - "userFiles": "/raw/v1/files/myfiles" + "all": "/files", + "byId": "/files/:fileId" }, "mail": { - "all": "/v1/mails", - "byIndex": "/v1/mails/:index", - "send": "/v1/mails/send" + "all": "/mails", + "byIndex": "/mails/:index", + "send": "/mails/send" } } } diff --git a/src/components/Anuncios/AnuncioCard.jsx b/src/components/Anuncios/AnuncioCard.jsx index 908a82b..cd84b69 100644 --- a/src/components/Anuncios/AnuncioCard.jsx +++ b/src/components/Anuncios/AnuncioCard.jsx @@ -45,7 +45,7 @@ const AnuncioCard = ({ anuncio, isNew = false, onCreate, onUpdate, onDelete, onC const [formData, setFormData] = useState({ body: anuncio.body || '', priority: anuncio.priority ?? 1, - published_by: JSON.parse(localStorage.getItem('user'))?.user_id, + publishedBy: JSON.parse(localStorage.getItem('identity'))?.user?.userId, }); useEffect(() => { @@ -53,7 +53,7 @@ const AnuncioCard = ({ anuncio, isNew = false, onCreate, onUpdate, onDelete, onC setFormData({ body: anuncio.body || '', priority: anuncio.priority ?? 1, - published_by: JSON.parse(localStorage.getItem('user'))?.user_id, + publishedBy: JSON.parse(localStorage.getItem('identity'))?.user?.userId, }); } }, [anuncio, editMode]); @@ -63,7 +63,7 @@ const AnuncioCard = ({ anuncio, isNew = false, onCreate, onUpdate, onDelete, onC setEditMode(true); }; - const handleDelete = () => typeof onDelete === 'function' && onDelete(anuncio.announce_id); + const handleDelete = () => typeof onDelete === 'function' && onDelete(anuncio.announceId); const handleCancel = () => { if (onClearError) onClearError(); @@ -77,12 +77,12 @@ const AnuncioCard = ({ anuncio, isNew = false, onCreate, onUpdate, onDelete, onC formData.body = sanitizedBody; const updated = { ...anuncio, ...formData }; if (createMode && typeof onCreate === 'function') return onCreate(updated); - if (typeof onUpdate === 'function') return onUpdate(updated, anuncio.announce_id); + if (typeof onUpdate === 'function') return onUpdate(updated, anuncio.announceId); }; const handleChange = (field, value) => setFormData((prev) => ({ ...prev, [field]: value })); - const { date, time } = formatDateTime(anuncio.created_at); + const { date, time } = formatDateTime(anuncio.createdAt); const priorityInfo = PRIORITY_CONFIG[formData.priority] || PRIORITY_CONFIG[1]; const isLongBody = formData.body.length > 300; const displayBody = isLongBody && !showFullBody @@ -101,11 +101,15 @@ const AnuncioCard = ({ anuncio, isNew = false, onCreate, onUpdate, onDelete, onC
- 📢 Anuncio #{anuncio.announce_id} - - Publicado el {date} a las {time} por{' '} - #{anuncio.published_by} - + 📢 Anuncio {!createMode ? ("#"+anuncio.idx) : ("")} + {!createMode ? ( + + Publicado el {date} a las {time} por{' '} + {anuncio.publishedByName} + + ) : ( + <> + )}
{!createMode && !editMode && ( } /> - {/* } /> } /> } /> - */} } /> {routesWithFooter.includes(useLocation().pathname) ?