@adobe/spacecat-shared-data-access 1.15.0 → 1.15.1
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,10 @@
|
|
|
1
|
+
# [@adobe/spacecat-shared-data-access-v1.15.1](https://github.com/adobe/spacecat-shared/compare/@adobe/spacecat-shared-data-access-v1.15.0...@adobe/spacecat-shared-data-access-v1.15.1) (2024-02-07)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* retrieve site candidate by base url ([#140](https://github.com/adobe/spacecat-shared/issues/140)) ([b37cb0b](https://github.com/adobe/spacecat-shared/commit/b37cb0b1948f87e0e791cfec1e2b1fef9c0abb07))
|
|
7
|
+
|
|
1
8
|
# [@adobe/spacecat-shared-data-access-v1.15.0](https://github.com/adobe/spacecat-shared/compare/@adobe/spacecat-shared-data-access-v1.14.1...@adobe/spacecat-shared-data-access-v1.15.0) (2024-02-06)
|
|
2
9
|
|
|
3
10
|
|
package/README.md
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adobe/spacecat-shared-data-access",
|
|
3
|
-
"version": "1.15.
|
|
3
|
+
"version": "1.15.1",
|
|
4
4
|
"description": "Shared modules of the Spacecat Services - Data Access",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.js",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"chai": "4.4.1",
|
|
42
42
|
"chai-as-promised": "7.1.1",
|
|
43
|
-
"dynamo-db-local": "
|
|
43
|
+
"dynamo-db-local": "8.0.0",
|
|
44
44
|
"sinon": "17.0.1",
|
|
45
45
|
"sinon-chai": "3.7.0"
|
|
46
46
|
}
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
* governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
+
import { createSiteCandidate } from '../models/site-candidate.js';
|
|
14
|
+
|
|
13
15
|
/**
|
|
14
16
|
* Data transfer object for Site Candidate.
|
|
15
17
|
*/
|
|
@@ -28,4 +30,23 @@ export const SiteCandidateDto = {
|
|
|
28
30
|
updatedAt: siteCandidate.getUpdatedAt(),
|
|
29
31
|
updatedBy: siteCandidate.getUpdatedBy(),
|
|
30
32
|
}),
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Converts a DynamoDB item into Site Candidate object;
|
|
36
|
+
* @param {object } dynamoItem - DynamoDB item.
|
|
37
|
+
* @returns {Readonly<SiteCandidate>} SiteCandidate object.
|
|
38
|
+
*/
|
|
39
|
+
fromDynamoItem: (dynamoItem) => {
|
|
40
|
+
const siteCandidateData = {
|
|
41
|
+
baseURL: dynamoItem.baseURL,
|
|
42
|
+
siteId: dynamoItem.siteId,
|
|
43
|
+
source: dynamoItem.source,
|
|
44
|
+
status: dynamoItem.status,
|
|
45
|
+
createdAt: dynamoItem.createdAt,
|
|
46
|
+
updatedAt: dynamoItem.updatedAt,
|
|
47
|
+
updatedBy: dynamoItem.updatedBy,
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
return createSiteCandidate(siteCandidateData);
|
|
51
|
+
},
|
|
31
52
|
};
|
package/src/index.d.ts
CHANGED
|
@@ -403,6 +403,7 @@ export interface DataAccess {
|
|
|
403
403
|
) => Promise<void>;
|
|
404
404
|
|
|
405
405
|
// site candidate functions
|
|
406
|
+
getSiteCandidateByBaseURL: (baseURL: string) => Promise<SiteCandidate>;
|
|
406
407
|
upsertSiteCandidate: (siteCandidateDate: object) => Promise<SiteCandidate>;
|
|
407
408
|
siteCandidateExists: (baseURL: string) => Promise<boolean>;
|
|
408
409
|
updateSiteCandidate: (siteCandidate: SiteCandidate) => Promise<SiteCandidate>;
|
|
@@ -27,6 +27,17 @@ export const exists = async (dynamoClient, config, baseURL) => {
|
|
|
27
27
|
return isObject(dynamoItem);
|
|
28
28
|
};
|
|
29
29
|
|
|
30
|
+
export const getSiteCandidateByBaseURL = async (
|
|
31
|
+
dynamoClient,
|
|
32
|
+
config,
|
|
33
|
+
log,
|
|
34
|
+
baseURL,
|
|
35
|
+
) => {
|
|
36
|
+
const dynamoItem = await dynamoClient.getItem(config.tableNameSiteCandidates, { baseURL });
|
|
37
|
+
|
|
38
|
+
return isObject(dynamoItem) ? SiteCandidateDto.fromDynamoItem(dynamoItem) : null;
|
|
39
|
+
};
|
|
40
|
+
|
|
30
41
|
/**
|
|
31
42
|
* Upserts a site candidate.
|
|
32
43
|
*
|
|
@@ -11,12 +11,19 @@
|
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
import {
|
|
14
|
+
getSiteCandidateByBaseURL,
|
|
14
15
|
upsertSiteCandidate,
|
|
15
16
|
exists,
|
|
16
17
|
updateSiteCandidate,
|
|
17
18
|
} from './accessPatterns.js';
|
|
18
19
|
|
|
19
20
|
export const siteCandidateFunctions = (dynamoClient, config, log) => ({
|
|
21
|
+
getSiteCandidateByBaseURL: (baseURL) => getSiteCandidateByBaseURL(
|
|
22
|
+
dynamoClient,
|
|
23
|
+
config,
|
|
24
|
+
log,
|
|
25
|
+
baseURL,
|
|
26
|
+
),
|
|
20
27
|
upsertSiteCandidate: (siteCandidateData) => upsertSiteCandidate(
|
|
21
28
|
dynamoClient,
|
|
22
29
|
config,
|