@adobe/spacecat-shared-data-access 4.7.0 → 4.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [@adobe/spacecat-shared-data-access-v4.8.0](https://github.com/adobe/spacecat-shared/compare/@adobe/spacecat-shared-data-access-v4.7.0...@adobe/spacecat-shared-data-access-v4.8.0) (2026-07-14)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
* add temporary replaceHandlerEnabledDisabled method for cleanup. ([#1328](https://github.com/adobe/spacecat-shared/issues/1328)) ([be9234f](https://github.com/adobe/spacecat-shared/commit/be9234fa67dc9960d4abbb0b0425e621b7ad33c7))
|
|
6
|
+
|
|
1
7
|
## [@adobe/spacecat-shared-data-access-v4.7.0](https://github.com/adobe/spacecat-shared/compare/@adobe/spacecat-shared-data-access-v4.6.0...@adobe/spacecat-shared-data-access-v4.7.0) (2026-07-13)
|
|
2
8
|
|
|
3
9
|
### Features
|
package/package.json
CHANGED
|
@@ -554,6 +554,84 @@ class Configuration {
|
|
|
554
554
|
this.setHandlers(handlers);
|
|
555
555
|
}
|
|
556
556
|
|
|
557
|
+
/**
|
|
558
|
+
* Replaces enabled/disabled lists for a handler.
|
|
559
|
+
* This method replaces (not merges) the provided arrays.
|
|
560
|
+
* Only the arrays provided in the data object will be replaced.
|
|
561
|
+
*
|
|
562
|
+
* TEMPORARY: This method was created to support a temporary API endpoint for
|
|
563
|
+
* cleaning up enabled and disabled lists (SITES-40312). It will be removed once the cleanup
|
|
564
|
+
* task is completed. SITES-40878 is the ticket to remove this temporary endpoint.
|
|
565
|
+
*
|
|
566
|
+
* @deprecated Temporary method for cleanup. See SITES-40312. Will be removed (SITES-40878).
|
|
567
|
+
* @param {string} type - The handler type to update
|
|
568
|
+
* @param {object} data - Object containing enabled/disabled arrays to replace
|
|
569
|
+
* @param {object} [data.enabled] - Enabled lists to replace (use null-safe check)
|
|
570
|
+
* @param {string[]} [data.enabled.sites] - Sites array to replace (if provided, must be array)
|
|
571
|
+
* @param {string[]} [data.enabled.orgs] - Orgs array to replace (if provided, must be array)
|
|
572
|
+
* @param {object} [data.disabled] - Disabled lists to replace (use null-safe check)
|
|
573
|
+
* @param {string[]} [data.disabled.sites] - Sites array to replace (if provided, must be array)
|
|
574
|
+
* @param {string[]} [data.disabled.orgs] - Orgs array to replace (if provided, must be array)
|
|
575
|
+
* @throws {Error} If data is empty, handler not found, or non-array value provided for sites/orgs
|
|
576
|
+
*/
|
|
577
|
+
replaceHandlerEnabledDisabled(type, data) {
|
|
578
|
+
if (!isNonEmptyObject(data)) {
|
|
579
|
+
throw new Error('Data cannot be empty');
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
this.log.warn('replaceHandlerEnabledDisabled invoked (temporary method - see SITES-40312)');
|
|
583
|
+
|
|
584
|
+
const handlers = this.getHandlers();
|
|
585
|
+
if (!handlers[type]) {
|
|
586
|
+
throw new Error(`Handler "${type}" not found in configuration`);
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
const handler = handlers[type];
|
|
590
|
+
|
|
591
|
+
// Initialize enabled/disabled objects if they don't exist
|
|
592
|
+
if (!isNonEmptyObject(handler.enabled)) {
|
|
593
|
+
handler.enabled = { orgs: [], sites: [] };
|
|
594
|
+
}
|
|
595
|
+
if (!isNonEmptyObject(handler.disabled)) {
|
|
596
|
+
handler.disabled = { orgs: [], sites: [] };
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
// Replace enabled arrays if provided (use != null to catch both null and undefined)
|
|
600
|
+
if (data.enabled != null) {
|
|
601
|
+
if (data.enabled.sites !== undefined) {
|
|
602
|
+
if (!Array.isArray(data.enabled.sites)) {
|
|
603
|
+
throw new Error('enabled.sites must be an array');
|
|
604
|
+
}
|
|
605
|
+
handler.enabled.sites = data.enabled.sites;
|
|
606
|
+
}
|
|
607
|
+
if (data.enabled.orgs !== undefined) {
|
|
608
|
+
if (!Array.isArray(data.enabled.orgs)) {
|
|
609
|
+
throw new Error('enabled.orgs must be an array');
|
|
610
|
+
}
|
|
611
|
+
handler.enabled.orgs = data.enabled.orgs;
|
|
612
|
+
}
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
// Replace disabled arrays if provided (use != null to catch both null and undefined)
|
|
616
|
+
if (data.disabled != null) {
|
|
617
|
+
if (data.disabled.sites !== undefined) {
|
|
618
|
+
if (!Array.isArray(data.disabled.sites)) {
|
|
619
|
+
throw new Error('disabled.sites must be an array');
|
|
620
|
+
}
|
|
621
|
+
handler.disabled.sites = data.disabled.sites;
|
|
622
|
+
}
|
|
623
|
+
if (data.disabled.orgs !== undefined) {
|
|
624
|
+
if (!Array.isArray(data.disabled.orgs)) {
|
|
625
|
+
throw new Error('disabled.orgs must be an array');
|
|
626
|
+
}
|
|
627
|
+
handler.disabled.orgs = data.disabled.orgs;
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
handlers[type] = handler;
|
|
632
|
+
this.setHandlers(handlers);
|
|
633
|
+
}
|
|
634
|
+
|
|
557
635
|
/**
|
|
558
636
|
* Updates the configuration by merging changes into existing sections.
|
|
559
637
|
* This is a flexible update method that allows updating one or more sections at once.
|
|
@@ -40,6 +40,10 @@ export interface Configuration {
|
|
|
40
40
|
isHandlerEnabledForOrg(type: string, org: Organization): boolean;
|
|
41
41
|
isHandlerEnabledForSite(type: string, site: Site): boolean;
|
|
42
42
|
registerAudit(type: string, enabledByDefault?: boolean, interval?: string, productCodes?: string[]): void;
|
|
43
|
+
replaceHandlerEnabledDisabled(
|
|
44
|
+
type: string,
|
|
45
|
+
data: { enabled?: { sites?: string[]; orgs?: string[] }; disabled?: { sites?: string[]; orgs?: string[] } }
|
|
46
|
+
): void;
|
|
43
47
|
save(): Promise<Configuration>;
|
|
44
48
|
setHandlers(handlers: object): void;
|
|
45
49
|
setJobs(jobs: object[]): void;
|