Skip to content

Commit 4f5f0f6

Browse files
author
Kanishka
committed
feat: add sandbox audit configuration support
- Add sandboxAudits attribute to global configuration schema - Add helper methods for managing sandbox audit configurations - Enable sandbox sites to override regular audit handler settings
1 parent db8c339 commit 4f5f0f6

File tree

2 files changed

+1
-15
lines changed

2 files changed

+1
-15
lines changed

packages/spacecat-shared-data-access/src/models/configuration/configuration.model.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import { isNonEmptyObject, isNonEmptyArray } from '@adobe/spacecat-shared-utils'
1414

1515
import { sanitizeIdAndAuditFields } from '../../util/util.js';
1616
import BaseModel from '../base/base.model.js';
17-
import { checkConfiguration } from './configuration.schema.js';
1817

1918
/**
2019
* Configuration - A class representing an Configuration entity.
@@ -137,14 +136,12 @@ class Configuration extends BaseModel {
137136
updateSandboxAuditConfig(auditType, config = {}) {
138137
this.state.sandboxAudits = this.state.sandboxAudits || { enabledAudits: {} };
139138
this.state.sandboxAudits.enabledAudits[auditType] = config;
140-
checkConfiguration(this.state);
141139
}
142140

143141
// Remove a sandbox audit configuration
144142
removeSandboxAuditConfig(auditType) {
145143
if (this.state?.sandboxAudits?.enabledAudits) {
146144
delete this.state.sandboxAudits.enabledAudits[auditType];
147-
checkConfiguration(this.state);
148145
}
149146
}
150147

packages/spacecat-shared-data-access/src/models/configuration/configuration.schema.js

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -47,22 +47,11 @@ const jobsSchema = Joi.array().required();
4747

4848
const queueSchema = Joi.object().required();
4949

50-
const sandboxAuditConfigSchema = Joi.object({
51-
enabledAudits: Joi.object().pattern(
52-
Joi.string(), // audit type key
53-
Joi.object({
54-
expire: Joi.string(), // for cwv
55-
// other audit-specific configs as needed
56-
}).optional().default({}),
57-
),
58-
}).optional();
59-
6050
const configurationSchema = Joi.object({
6151
version: Joi.number().required(),
6252
queues: queueSchema,
6353
handlers: handlerSchema,
6454
jobs: jobsSchema,
65-
sandboxAudits: sandboxAuditConfigSchema,
6655
}).unknown(true);
6756

6857
export const checkConfiguration = (data, schema = configurationSchema) => {
@@ -108,7 +97,7 @@ const schema = new SchemaBuilder(Configuration, ConfigurationCollection)
10897
})
10998
.addAttribute('sandboxAudits', {
11099
type: 'any',
111-
validate: (value) => !value || checkConfiguration(value, sandboxAuditConfigSchema),
100+
validate: (value) => !value || isNonEmptyObject(value),
112101
})
113102
.addAttribute('version', {
114103
type: 'number',

0 commit comments

Comments
 (0)