@adobe/spacecat-shared-data-access 3.40.0 → 3.42.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,15 @@
1
+ ## [@adobe/spacecat-shared-data-access-v3.42.0](https://github.com/adobe/spacecat-shared/compare/@adobe/spacecat-shared-data-access-v3.41.0...@adobe/spacecat-shared-data-access-v3.42.0) (2026-04-02)
2
+
3
+ ### Features
4
+
5
+ * **data-access:** update default import source from ahrefs to seo ([#1499](https://github.com/adobe/spacecat-shared/issues/1499)) ([99f66c0](https://github.com/adobe/spacecat-shared/commit/99f66c020e02469b84192ff354a9cf9a862c831f))
6
+
7
+ ## [@adobe/spacecat-shared-data-access-v3.41.0](https://github.com/adobe/spacecat-shared/compare/@adobe/spacecat-shared-data-access-v3.40.0...@adobe/spacecat-shared-data-access-v3.41.0) (2026-04-01)
8
+
9
+ ### Features
10
+
11
+ * add lastAuditedAt attribute to Opportunity schema ([#1479](https://github.com/adobe/spacecat-shared/issues/1479)) ([ee92ba9](https://github.com/adobe/spacecat-shared/commit/ee92ba9218016b8f7918358aa67db219287704dd))
12
+
1
13
  ## [@adobe/spacecat-shared-data-access-v3.40.0](https://github.com/adobe/spacecat-shared/compare/@adobe/spacecat-shared-data-access-v3.39.0...@adobe/spacecat-shared-data-access-v3.40.0) (2026-04-01)
2
14
 
3
15
  ### Features
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adobe/spacecat-shared-data-access",
3
- "version": "3.40.0",
3
+ "version": "3.42.0",
4
4
  "description": "Shared modules of the Spacecat Services - Data Access",
5
5
  "type": "module",
6
6
  "engines": {
@@ -31,12 +31,14 @@ export interface Opportunity extends BaseModel {
31
31
  getSuggestions(): Promise<Suggestion[]>;
32
32
  getSuggestionsByStatus(status: string): Promise<Suggestion[]>;
33
33
  getSuggestionsByStatusAndRank(status: string, rank: string): Promise<Suggestion[]>;
34
+ getLastAuditedAt(): string;
34
35
  getTags(): string[];
35
36
  getTitle(): string;
36
37
  getType(): string;
37
38
  setAuditId(auditId: string): Opportunity;
38
39
  setData(data: object): Opportunity;
39
40
  setDescription(description: string): Opportunity;
41
+ setLastAuditedAt(lastAuditedAt: string): Opportunity;
40
42
  setGuidance(guidance: string): Opportunity;
41
43
  setOrigin(origin: string): Opportunity;
42
44
  setRunbook(runbook: string): Opportunity;
@@ -12,7 +12,7 @@
12
12
 
13
13
  /* c8 ignore start */
14
14
 
15
- import { isNonEmptyObject, isValidUrl } from '@adobe/spacecat-shared-utils';
15
+ import { isIsoDate, isNonEmptyObject, isValidUrl } from '@adobe/spacecat-shared-utils';
16
16
 
17
17
  import SchemaBuilder from '../base/schema.builder.js';
18
18
  import Opportunity from './opportunity.model.js';
@@ -66,6 +66,10 @@ const schema = new SchemaBuilder(Opportunity, OpportunityCollection)
66
66
  .addAttribute('tags', {
67
67
  type: 'set',
68
68
  items: 'string',
69
+ })
70
+ .addAttribute('lastAuditedAt', {
71
+ type: 'string',
72
+ validate: (value) => !value || isIsoDate(value),
69
73
  });
70
74
 
71
75
  export default schema.build();
@@ -42,7 +42,7 @@ export const IMPORT_DESTINATIONS = {
42
42
  };
43
43
 
44
44
  export const IMPORT_SOURCES = {
45
- AHREFS: 'ahrefs',
45
+ SEO: 'seo',
46
46
  GSC: 'google',
47
47
  RUM: 'rum',
48
48
  };
@@ -186,37 +186,37 @@ export const DEFAULT_IMPORT_CONFIGS = {
186
186
  'organic-keywords': {
187
187
  type: 'organic-keywords',
188
188
  destinations: ['default'],
189
- sources: ['ahrefs'],
189
+ sources: ['seo'],
190
190
  enabled: true,
191
191
  },
192
192
  'organic-keywords-nonbranded': {
193
193
  type: 'organic-keywords-nonbranded',
194
194
  destinations: ['default'],
195
- sources: ['ahrefs'],
195
+ sources: ['seo'],
196
196
  enabled: true,
197
197
  },
198
198
  'organic-keywords-ai-overview': {
199
199
  type: 'organic-keywords-ai-overview',
200
200
  destinations: ['default'],
201
- sources: ['ahrefs'],
201
+ sources: ['seo'],
202
202
  enabled: true,
203
203
  },
204
204
  'organic-keywords-feature-snippets': {
205
205
  type: 'organic-keywords-feature-snippets',
206
206
  destinations: ['default'],
207
- sources: ['ahrefs'],
207
+ sources: ['seo'],
208
208
  enabled: true,
209
209
  },
210
210
  'organic-keywords-questions': {
211
211
  type: 'organic-keywords-questions',
212
212
  destinations: ['default'],
213
- sources: ['ahrefs'],
213
+ sources: ['seo'],
214
214
  enabled: true,
215
215
  },
216
216
  'organic-traffic': {
217
217
  type: 'organic-traffic',
218
218
  destinations: ['default'],
219
- sources: ['ahrefs'],
219
+ sources: ['seo'],
220
220
  enabled: true,
221
221
  },
222
222
  'all-traffic': {
@@ -228,14 +228,14 @@ export const DEFAULT_IMPORT_CONFIGS = {
228
228
  'top-pages': {
229
229
  type: 'top-pages',
230
230
  destinations: ['default'],
231
- sources: ['ahrefs'],
231
+ sources: ['seo'],
232
232
  enabled: true,
233
233
  geo: 'global',
234
234
  },
235
235
  'ahref-paid-pages': {
236
236
  type: 'ahref-paid-pages',
237
237
  destinations: ['default'],
238
- sources: ['ahrefs'],
238
+ sources: ['seo'],
239
239
  enabled: true,
240
240
  },
241
241
  'cwv-daily': {
@@ -57,13 +57,13 @@ export type IMPORT_DESTINATIONS = {
57
57
  };
58
58
 
59
59
  export type IMPORT_SOURCES = {
60
- readonly AHREFS: 'ahrefs';
60
+ readonly SEO: 'seo';
61
61
  readonly GSC: 'google';
62
62
  };
63
63
 
64
64
  export type ImportType = 'organic-keywords' | 'organic-traffic' | 'top-pages' | 'top-forms' | 'ahref-paid-pages' ;
65
65
  export type ImportDestination = 'default';
66
- export type ImportSource = 'ahrefs' | 'google';
66
+ export type ImportSource = 'seo' | 'google';
67
67
 
68
68
  export interface ImportConfig {
69
69
  type: ImportType;