import API from '@ea11y-apps/global/api'; const v1Prefix = '/ea11y/v1'; export class APIScanner extends API { static async registerPage(pageData, summary) { return APIScanner.request({ method: 'POST', path: `${v1Prefix}/remediation/register`, data: { ...pageData, summary, }, }); } static async addScanResults(data) { return APIScanner.request({ method: 'POST', path: `${v1Prefix}/scanner/scan-results`, data, }); } static async triggerSave(data) { return APIScanner.request({ method: 'POST', path: `${v1Prefix}/remediation/trigger-save`, data, }); } static async submitAltText(url, text) { return APIScanner.request({ method: 'POST', path: `${v1Prefix}/remediation/set-alt-text`, data: { url, alt_text: text, }, }); } static async submitRemediation(data) { return APIScanner.request({ method: 'POST', path: `${v1Prefix}/remediation/item`, data, }); } static async updateRemediation(data) { return APIScanner.request({ method: 'PATCH', path: `${v1Prefix}/remediation/item`, data, }); } static async updateRemediationContent(data) { return APIScanner.request({ method: 'PUT', path: `${v1Prefix}/remediation/item`, data, }); } static async deleteRemediation(data) { return APIScanner.request({ method: 'DELETE', path: `${v1Prefix}/remediation/item`, data, }); } static async generateAltText(data, signal = null) { const config = { method: 'POST', path: `${v1Prefix}/scanner/generate-alt-text`, data, }; if (signal) { config.signal = signal; } return APIScanner.request(config); } static async resolveWithAI(data) { return APIScanner.request({ method: 'POST', path: `${v1Prefix}/scanner/resolve-with-ai`, data, }); } static async resolveIssue(scanId) { return APIScanner.request({ method: 'POST', path: `${v1Prefix}/scanner/resolve-issue`, data: { scanId }, }); } static async getRemediations(url) { return APIScanner.request({ method: 'GET', path: `${v1Prefix}/remediation/items?url=${encodeURIComponent(url)}`, }); } static async setRemediationAsGlobal(data) { return APIScanner.request({ method: 'POST', path: `${v1Prefix}/remediation/global-item`, data, }); } static async updateGlobalRemediationForPage(data) { return APIScanner.request({ method: 'PUT', path: `${v1Prefix}/remediation/global-item`, data, }); } static async updateGlobalRemediationForAllPages(data) { return APIScanner.request({ method: 'PATCH', path: `${v1Prefix}/remediation/global-item`, data, }); } static async deleteGlobalRemediation(data) { return APIScanner.request({ method: 'DELETE', path: `${v1Prefix}/remediation/global-item`, data, }); } static async updateRemediationStatusForPage(data) { return APIScanner.request({ method: 'PATCH', path: `${v1Prefix}/remediation/items`, data, }); } static async updateGlobalRemediationGroupForPage(data) { return APIScanner.request({ method: 'PUT', path: `${v1Prefix}/remediation/global-items-group`, data, }); } static async updateAllGlobalRemediationForAllPages(data) { return APIScanner.request({ method: 'PATCH', path: `${v1Prefix}/remediation/global-items`, data, }); } static async updateAllGlobalRemediationForPage(data) { return APIScanner.request({ method: 'PUT', path: `${v1Prefix}/remediation/global-items`, data, }); } static async updateGlobalRemediationGroupForAllPages(data) { return APIScanner.request({ method: 'PATCH', path: `${v1Prefix}/remediation/global-items-group`, data, }); } static async deleteRemediationForPage(data) { return APIScanner.request({ method: 'DELETE', path: `${v1Prefix}/remediation/items`, data, }); } static async deleteGlobalRemediations(data) { return APIScanner.request({ method: 'DELETE', path: `${v1Prefix}/remediation/global-items`, data, }); } static async setHeadingLevel(data) { return APIScanner.request({ method: 'POST', path: `${v1Prefix}/remediation/heading-level`, data, }); } static async dismissHeadingIssue(data) { return APIScanner.request({ method: 'POST', path: `${v1Prefix}/remediation/dismiss-heading-issue`, data, }); } static async clearCache(data) { return APIScanner.request({ method: 'DELETE', path: `${v1Prefix}/remediation/clear-cache`, data, }); } } /** * WooCommerce dependencies */ import { registerPaymentMethod, } from '@woocommerce/blocks-registry'; /** * Internal dependencies * * reference: https://github.com/woocommerce/woocommerce-blocks/blob/trunk/docs/third-party-developers/extensibility/checkout-payment-methods/payment-method-integration.md */ import paymentMethod from 'wcbudpay/blocks/payment-method'; // Register Budpay Payment Request. registerPaymentMethod( paymentMethod ); // TODO: implement a Direct Card payment metho Liquidazione del danno non patrimoniale: la mancata adozione delle Tabelle milanesi va adeguatamente motivata – Studio Legale Associato Improta

Liquidazione del danno non patrimoniale: la mancata adozione delle Tabelle milanesi va adeguatamente motivata

La Corte di cassazione, con la sentenza n. 38077 del 2 dicembre 2021 ha chiarito che, in materia di danno non patrimoniale, i parametri tabellari predisposti dal Tribunale di Milano sono da prendersi a riferimento da parte del giudice di merito ai fini della liquidazione del predetto danno ovvero quale criterio di riscontro e verifica della liquidazione diversa alla quale si sia pervenuti.

Ne consegue l’incongruità della motivazione che non dia conto delle ragioni della preferenza assegnata ad una quantificazione che, avuto riguardo alle circostanze del caso concreto, risulti sproporzionata rispetto a quella cui l’adozione dei parametri tratti dalle “Tabelle” di Milano consenta di pervenire.

Nel caso di specie, erano state adottate le Tabelle del Tribunale di Roma e questo aveva comportato per il danneggiato una liquidazione onnicomprensiva dei danni non patrimoniali, a suo dire ampiamente inferiore a quanto avrebbe avuto diritto in applicazione dei criteri milanesi di equità che vincolano la discrezionalità del giudice.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Torna su