one-click-accessibility/modules/scanner/assets/js/api/APIScanner.js
VasylD 81c6e40db6
[APP-1512] add FE remediation management (#300)
* [APP-1512] add backend logic for remediation management

* [APP-1512] add backend logic for remediation management

* Update modules/remediation/database/remediation-entry.php

Co-authored-by: gitstream-cm[bot] <111687743+gitstream-cm[bot]@users.noreply.github.com>

* Update modules/remediation/rest/items.php

Co-authored-by: gitstream-cm[bot] <111687743+gitstream-cm[bot]@users.noreply.github.com>

* [APP-1512] add backend logic for remediation management

* [APP-1512] add FE remediation management

* [APP-1512] add FE remediation management

* [APP-1512] add FE remediation management

* [APP-1512] add FE remediation management

* [APP-1512] add FE remediation management

* [APP-1512] add FE remediation management

* [APP-1512] add FE remediation management

* [APP-1512] add FE remediation management

---------

Co-authored-by: gitstream-cm[bot] <111687743+gitstream-cm[bot]@users.noreply.github.com>
2025-06-23 16:31:51 +02:00

109 lines
2 KiB
JavaScript

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(url, summary) {
return APIScanner.request({
method: 'POST',
path: `${v1Prefix}/scanner/scan-results`,
data: {
url,
summary,
},
});
}
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) {
return APIScanner.request({
method: 'POST',
path: `${v1Prefix}/scanner/generate-alt-text`,
data,
});
}
static async resolveWithAI(data) {
return APIScanner.request({
method: 'POST',
path: `${v1Prefix}/scanner/resolve-with-ai`,
data,
});
}
static async getRemediations(url) {
return APIScanner.request({
method: 'GET',
path: `${v1Prefix}/remediation/items?url=${encodeURIComponent(url)}`,
});
}
static async updateRemediationStatusForPage(data) {
return APIScanner.request({
method: 'PATCH',
path: `${v1Prefix}/remediation/items`,
data,
});
}
static async deleteRemediationForPage(data) {
return APIScanner.request({
method: 'DELETE',
path: `${v1Prefix}/remediation/items`,
data,
});
}
}