@adobe/acc-js-sdk 1.0.6 → 1.0.7
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/.github/workflows/codeql-analysis.yml +70 -0
- package/CHANGELOG.md +11 -0
- package/README.md +14 -0
- package/package-lock.json +2156 -3344
- package/package.json +6 -7
- package/samples/002 - basics - schemas.js +3 -3
- package/samples/020 - encryption.js +5 -5
- package/src/application.js +55 -0
- package/src/campaign.js +4 -0
- package/src/client.js +43 -4
- package/src/soap.js +44 -18
- package/src/xtkCaster.js +58 -6
- package/test/application.test.js +40 -1
- package/test/client.test.js +167 -15
- package/test/crypto.test.js +16 -12
- package/test/mock.js +24 -6
- package/test/soap.test.js +0 -6
- package/test/xtkCaster.test.js +97 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# For most projects, this workflow file will not need changing; you simply need
|
|
2
|
+
# to commit it to your repository.
|
|
3
|
+
#
|
|
4
|
+
# You may wish to alter this file to override the set of languages analyzed,
|
|
5
|
+
# or to provide custom queries or build logic.
|
|
6
|
+
#
|
|
7
|
+
# ******** NOTE ********
|
|
8
|
+
# We have attempted to detect the languages in your repository. Please check
|
|
9
|
+
# the `language` matrix defined below to confirm you have the correct set of
|
|
10
|
+
# supported CodeQL languages.
|
|
11
|
+
#
|
|
12
|
+
name: "CodeQL"
|
|
13
|
+
|
|
14
|
+
on:
|
|
15
|
+
push:
|
|
16
|
+
branches: [ master ]
|
|
17
|
+
pull_request:
|
|
18
|
+
# The branches below must be a subset of the branches above
|
|
19
|
+
branches: [ master ]
|
|
20
|
+
schedule:
|
|
21
|
+
- cron: '34 13 * * 4'
|
|
22
|
+
|
|
23
|
+
jobs:
|
|
24
|
+
analyze:
|
|
25
|
+
name: Analyze
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
permissions:
|
|
28
|
+
actions: read
|
|
29
|
+
contents: read
|
|
30
|
+
security-events: write
|
|
31
|
+
|
|
32
|
+
strategy:
|
|
33
|
+
fail-fast: false
|
|
34
|
+
matrix:
|
|
35
|
+
language: [ 'javascript' ]
|
|
36
|
+
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
|
37
|
+
# Learn more about CodeQL language support at https://git.io/codeql-language-support
|
|
38
|
+
|
|
39
|
+
steps:
|
|
40
|
+
- name: Checkout repository
|
|
41
|
+
uses: actions/checkout@v2
|
|
42
|
+
|
|
43
|
+
# Initializes the CodeQL tools for scanning.
|
|
44
|
+
- name: Initialize CodeQL
|
|
45
|
+
uses: github/codeql-action/init@v1
|
|
46
|
+
with:
|
|
47
|
+
languages: ${{ matrix.language }}
|
|
48
|
+
# If you wish to specify custom queries, you can do so here or in a config file.
|
|
49
|
+
# By default, queries listed here will override any specified in a config file.
|
|
50
|
+
# Prefix the list here with "+" to use these queries and those in the config file.
|
|
51
|
+
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
|
52
|
+
|
|
53
|
+
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
|
54
|
+
# If this step fails, then you should remove it and run the build manually (see below)
|
|
55
|
+
- name: Autobuild
|
|
56
|
+
uses: github/codeql-action/autobuild@v1
|
|
57
|
+
|
|
58
|
+
# ℹ️ Command-line programs to run using the OS shell.
|
|
59
|
+
# 📚 https://git.io/JvXDl
|
|
60
|
+
|
|
61
|
+
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
|
62
|
+
# and modify them (or add more) to build your code if your project
|
|
63
|
+
# uses a compiled language
|
|
64
|
+
|
|
65
|
+
#- run: |
|
|
66
|
+
# make bootstrap
|
|
67
|
+
# make release
|
|
68
|
+
|
|
69
|
+
- name: Perform CodeQL Analysis
|
|
70
|
+
uses: github/codeql-action/analyze@v1
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,17 @@ This is a node.js SDK for Campaign API. It exposes the Campaign API exactly like
|
|
|
5
5
|
|
|
6
6
|
# Changelog
|
|
7
7
|
|
|
8
|
+
## Version 1.0.7
|
|
9
|
+
_2022_01_24_
|
|
10
|
+
* Added a hook `refreshClient` on connection parameters. This is a callback called when an authentication token expires. It can be used to implement reconnection logic
|
|
11
|
+
* New attributes on the schema API (application.getSchema)
|
|
12
|
+
* The `enum` attribute of a schema node returns the corresponding enum attribute, i.e. the enumeration name
|
|
13
|
+
* The `target` attribute of a schema node (of type link) returns the target (schema id) of the link
|
|
14
|
+
* The `integrity` attribute of a schema node (of type link) returns the link integrity ("define", "own", etc.)
|
|
15
|
+
* Added a github workflow for code analysis (CodeQL) to detect more potential issues before release
|
|
16
|
+
* Upgrade dependencies to fix some vulnerabilities
|
|
17
|
+
* Add new conversion functions in XtkCaster to support for int, timespan, uuid, html and blob
|
|
18
|
+
|
|
8
19
|
## Version 1.0.6
|
|
9
20
|
_2021/11/03_
|
|
10
21
|
* New ofBearerToken authentication for IMS access token
|
package/README.md
CHANGED
|
@@ -127,6 +127,7 @@ traceAPICalls|false| Activates tracing of API calls or not
|
|
|
127
127
|
transport|axios|Overrides the transport layer
|
|
128
128
|
noStorage|false|De-activate using of local storage
|
|
129
129
|
storage|localStorage|Overrides the local storage for caches
|
|
130
|
+
refreshClient|undefined|Async callback to run when the session token is expired
|
|
130
131
|
|
|
131
132
|
```js
|
|
132
133
|
const connectionParameters = sdk.ConnectionParameters.ofUserAndPassword(
|
|
@@ -219,6 +220,19 @@ await client.logon();
|
|
|
219
220
|
await client.logoff();
|
|
220
221
|
```
|
|
221
222
|
|
|
223
|
+
## refreshClient callback
|
|
224
|
+
The refreshClient is an async callback function with the SDK client as parameter, it is called when the ACC session is expired.
|
|
225
|
+
The callback must refresh the client session and return it. if a SOAP query fails with session expiration error then it will be retried when the callback is defined.
|
|
226
|
+
|
|
227
|
+
```js
|
|
228
|
+
const connectionParameters = sdk.ConnectionParameters.ofUserAndPassword(
|
|
229
|
+
url, "admin", "admin",
|
|
230
|
+
{ refreshClient: async (client) => {
|
|
231
|
+
await client.logon();
|
|
232
|
+
return client;
|
|
233
|
+
}});
|
|
234
|
+
```
|
|
235
|
+
|
|
222
236
|
## IP Whitelisting
|
|
223
237
|
|
|
224
238
|
Campaign includes an IP whitelisting component which prevents connections from unauthorized IP addresses. This is a common source of authentication errors.
|