@adobe/aio-commerce-lib-app 2.0.0-beta-20260820174436 → 2.0.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 +31 -5
- package/dist/cjs/actions/app-config/index.cjs +3 -3
- package/dist/cjs/actions/app-config/index.d.cts +3 -4
- package/dist/cjs/actions/association/index.d.cts +2 -3
- package/dist/cjs/actions/config/index.d.cts +2 -3
- package/dist/cjs/actions/installation/index.cjs +14 -7
- package/dist/cjs/actions/installation/index.d.cts +5 -5
- package/dist/cjs/actions/scope-tree/index.d.cts +2 -3
- package/dist/cjs/{app-Cf3EmtUh.d.cts → app-DwSqUkJA.d.cts} +122 -16
- package/dist/cjs/commands/index.cjs +91 -51
- package/dist/cjs/commands/templates/admin-ui/web-src/.babelrc +14 -0
- package/dist/cjs/commands/templates/business-configuration/config.js.template +7 -1
- package/dist/cjs/{common-B70f39vI.cjs → common-VSsQEHDv.cjs} +15 -2
- package/dist/cjs/config/index.browser.d.cts +1 -1
- package/dist/cjs/config/index.node.cjs +4 -3
- package/dist/cjs/config/index.node.d.cts +104 -50
- package/dist/{es/define-DSU8Kgu0.d.mts → cjs/define-Cc3AaVmY.d.cts} +1 -1
- package/dist/{es/index-COLnI6Ok.d.mts → cjs/index-C7dqTDHu.d.cts} +25 -3
- package/dist/cjs/index.d.cts +10 -10
- package/dist/cjs/{index.node-CXeIG8SS.cjs → index.node-vcOo1rt0.cjs} +1 -1
- package/dist/cjs/installation-D72LoQ_1.d.cts +39 -0
- package/dist/cjs/management/index.cjs +1 -1
- package/dist/cjs/management/index.d.cts +1 -1
- package/dist/cjs/{management-BhMdRr8i.cjs → management-Bki3hlxL.cjs} +207 -27
- package/dist/cjs/{openapi-DVJUTOXY.cjs → openapi-CAXgKam0.cjs} +317 -390
- package/dist/cjs/{validate-Dff0nrqM.cjs → validate-CwWYtRsS.cjs} +33 -2
- package/dist/cjs/{webhooks-E1KDx3Yu.cjs → webhooks-Bcq2Qy7q.cjs} +69 -8
- package/dist/es/actions/app-config/index.d.mts +3 -4
- package/dist/es/actions/app-config/index.mjs +3 -3
- package/dist/es/actions/association/index.d.mts +2 -3
- package/dist/es/actions/config/index.d.mts +2 -3
- package/dist/es/actions/installation/index.d.mts +5 -5
- package/dist/es/actions/installation/index.mjs +14 -7
- package/dist/es/actions/scope-tree/index.d.mts +2 -3
- package/dist/es/{app-Cf3EmtUh.d.mts → app-DwSqUkJA.d.mts} +122 -16
- package/dist/es/commands/index.mjs +92 -52
- package/dist/es/commands/templates/admin-ui/web-src/.babelrc +14 -0
- package/dist/es/commands/templates/business-configuration/config.js.template +7 -1
- package/dist/es/{common-BVG9tiX0.mjs → common-dy6NrZt8.mjs} +10 -3
- package/dist/es/config/index.browser.d.mts +1 -1
- package/dist/es/config/index.node.d.mts +104 -50
- package/dist/es/config/index.node.mjs +4 -4
- package/dist/{cjs/define-B-_oKmCe.d.cts → es/define-Bq1zw9Lr.d.mts} +1 -1
- package/dist/{cjs/index-CkwCGvut.d.cts → es/index-BryddQId.d.mts} +25 -3
- package/dist/es/index.d.mts +10 -10
- package/dist/es/{index.node-DRTF5Hue.mjs → index.node-CW46zuxW.mjs} +1 -1
- package/dist/es/installation-DqVDJ1ur.d.mts +39 -0
- package/dist/es/management/index.d.mts +1 -1
- package/dist/es/management/index.mjs +1 -1
- package/dist/es/{management-BTWQdJNO.mjs → management-DgwAhaaJ.mjs} +207 -27
- package/dist/es/{openapi-D18LT0Wp.mjs → openapi-BnR9OUac.mjs} +317 -390
- package/dist/es/{validate-8AXMGEwr.mjs → validate-NzW1FQwL.mjs} +29 -4
- package/dist/es/{webhooks-BQ8kSN2Z.mjs → webhooks-CHZ1SXxw.mjs} +64 -9
- package/package.json +19 -19
package/CHANGELOG.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# @adobe/aio-commerce-lib-app
|
|
2
2
|
|
|
3
|
-
## 2.0.0
|
|
3
|
+
## 2.0.0
|
|
4
4
|
|
|
5
5
|
### Major Changes
|
|
6
6
|
|
|
7
7
|
- [#637](https://github.com/adobe/aio-commerce-sdk/pull/637) [`9d9888f`](https://github.com/adobe/aio-commerce-sdk/commit/9d9888f95b2cf54d76e33ab75a4599d906f438c4) Thanks [@mariam21arauj](https://github.com/mariam21arauj)! - Remove the deprecated `PUT /config` action endpoint. It overwrote every value for a scope and could not express partial updates or unset a key, which caused data loss when only a subset of keys was meant to change.
|
|
8
|
-
|
|
8
|
+
|
|
9
9
|
**Migration:** Switch calls from `PUT /config` to `PATCH /config`. The request shape is unchanged (`{ scopeId, config: [{ name, value }] }`), but send only the entries you want to change; `PATCH` leaves unmentioned keys untouched and unsets a key when its value is `null`.
|
|
10
10
|
|
|
11
11
|
### Minor Changes
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
|
|
15
15
|
- [#627](https://github.com/adobe/aio-commerce-sdk/pull/627) [`e5cbdf1`](https://github.com/adobe/aio-commerce-sdk/commit/e5cbdf14f5bda56430eeeaf495889b8a1a514fe3) Thanks [@obarcelonap](https://github.com/obarcelonap)! - Apply webhook configuration changes during upgrades when fields, conditions, headers, or other mutable settings change without changing webhook identity.
|
|
16
16
|
|
|
17
|
+
- [#659](https://github.com/adobe/aio-commerce-sdk/pull/659) [`a1a7ee2`](https://github.com/adobe/aio-commerce-sdk/commit/a1a7ee273a4a0d81e3ed18e3855f1395f7b69e66) Thanks [@jcuerdo](https://github.com/jcuerdo)! - Reconcile custom installation steps during app upgrades, so previously installed steps are not re-run and removed steps are not uninstalled until the app itself is fully uninstalled.
|
|
18
|
+
|
|
17
19
|
- [#634](https://github.com/adobe/aio-commerce-sdk/pull/634) [`f8f13c1`](https://github.com/adobe/aio-commerce-sdk/commit/f8f13c139d449e7fd96afceddeed33ad103cae89) Thanks [@vinayrao2000](https://github.com/vinayrao2000)! - Reconcile configuration changes to existing Admin UI components during an upgrade. The Admin UI step now detects when a component present in both the installed and target versions has a changed configuration (ACL, labels, descriptions, notifications) and refreshes the extension to apply it, instead of leaving the change unapplied.
|
|
18
20
|
|
|
19
21
|
- [#625](https://github.com/adobe/aio-commerce-sdk/pull/625) [`e0852d1`](https://github.com/adobe/aio-commerce-sdk/commit/e0852d11e1b4f7c23a0c0dfd1d41acf984aeba7a) Thanks [@oshmyheliuk](https://github.com/oshmyheliuk)! - Reconcile Commerce event subscription configuration changes during an app upgrade. When an event that exists in both the installed baseline and the target config changes its fields, rules, priority or HIPAA flag, the upgrade now updates the live subscription instead of leaving it stale.
|
|
@@ -26,12 +28,20 @@
|
|
|
26
28
|
|
|
27
29
|
- [#621](https://github.com/adobe/aio-commerce-sdk/pull/621) [`03c4cc3`](https://github.com/adobe/aio-commerce-sdk/commit/03c4cc3958ccd9425f55c891b352d9804a466269) Thanks [@obarcelonap](https://github.com/obarcelonap)! - Add upgrade planning support for webhook additions and removals: the webhooks step now diffs the baseline snapshot against the target configuration to add newly configured webhooks and remove ones dropped from it.
|
|
28
30
|
|
|
31
|
+
- [#650](https://github.com/adobe/aio-commerce-sdk/pull/650) [`f3ea3a6`](https://github.com/adobe/aio-commerce-sdk/commit/f3ea3a64ac59c978f28865274fa282ec991ea529) Thanks [@jcuerdo](https://github.com/jcuerdo)! - Fix uninstallation failing for apps with a `dynamicList` Business Configuration field, caused by revalidating the recorded installation snapshot against a schema that required functions a JSON-serialized snapshot can never have. Uninstallation now validates the recorded config with `validateRecordedCommerceAppConfig`, which accepts a `dynamicList` field without `options`/`default`.
|
|
32
|
+
|
|
29
33
|
- [#614](https://github.com/adobe/aio-commerce-sdk/pull/614) [`01d5013`](https://github.com/adobe/aio-commerce-sdk/commit/01d5013015cac472220b6c69dcb25f101a682c33) Thanks [@iivvaannxx](https://github.com/iivvaannxx)! - Use `isConfigured` when defining lifecycle steps to identify whether their domain is present in app configuration. The deprecated `when` predicate remains supported for compatibility.
|
|
30
34
|
|
|
35
|
+
- [#653](https://github.com/adobe/aio-commerce-sdk/pull/653) [`c04983d`](https://github.com/adobe/aio-commerce-sdk/commit/c04983dfe04926094ab810c070598d5609004a61) Thanks [@oshmyheliuk](https://github.com/oshmyheliuk)! - Add support for declaring custom ACL resources under `adminUi.acl` (flat leaves or one-level groups) that are injected into the Commerce User Roles tree for app-checked permissions. An app declaring only ACL resources does not register a `commerce/backend-ui/2` extension point (in `app.config.yaml`, `install.yaml`, or generated ext.config), since ACL resources reach Commerce through the app-config payload.
|
|
36
|
+
|
|
31
37
|
### Patch Changes
|
|
32
38
|
|
|
39
|
+
- [#653](https://github.com/adobe/aio-commerce-sdk/pull/653) [`c04983d`](https://github.com/adobe/aio-commerce-sdk/commit/c04983dfe04926094ab810c070598d5609004a61) Thanks [@oshmyheliuk](https://github.com/oshmyheliuk)! - Reject Admin UI ids that would map to the same Commerce permission. Conflicting grid column, mass action, order view button, or custom ACL resource ids now fail config validation instead of silently overwriting one another.
|
|
40
|
+
|
|
33
41
|
- [#636](https://github.com/adobe/aio-commerce-sdk/pull/636) [`186d245`](https://github.com/adobe/aio-commerce-sdk/commit/186d245015bd405ce5f1ea45d796069ab2f03fac) Thanks [@oshmyheliuk](https://github.com/oshmyheliuk)! - Fix the Admin UI SDK installation step timing out by raising the Commerce HTTP client timeout to 2 minutes, matching the events and webhooks installation steps. Apply the same timeout to the Commerce scope sync endpoint.
|
|
34
42
|
|
|
43
|
+
- [#680](https://github.com/adobe/aio-commerce-sdk/pull/680) [`1612b38`](https://github.com/adobe/aio-commerce-sdk/commit/1612b38516e734155c50f545b8f41120f55d5351) Thanks [@iivvaannxx](https://github.com/iivvaannxx)! - Ensure required Admin UI web source support files are present, including an environment-aware Babel configuration that produces compatible production JSX.
|
|
44
|
+
|
|
35
45
|
- [#639](https://github.com/adobe/aio-commerce-sdk/pull/639) [`74b9a3b`](https://github.com/adobe/aio-commerce-sdk/commit/74b9a3b6274215ba2e97fa56a94e737c62e2b8bb) Thanks [@iivvaannxx](https://github.com/iivvaannxx)! - Ensure CLI commands find the project root before generating files or updating project configuration.
|
|
36
46
|
|
|
37
47
|
- [#642](https://github.com/adobe/aio-commerce-sdk/pull/642) [`79dcda0`](https://github.com/adobe/aio-commerce-sdk/commit/79dcda035d322d47d2e19566ae4a20fd6124682b) Thanks [@iivvaannxx](https://github.com/iivvaannxx)! - Install Node.js type definitions when initializing TypeScript projects.
|
|
@@ -39,9 +49,25 @@
|
|
|
39
49
|
- [#627](https://github.com/adobe/aio-commerce-sdk/pull/627) [`e5cbdf1`](https://github.com/adobe/aio-commerce-sdk/commit/e5cbdf14f5bda56430eeeaf495889b8a1a514fe3) Thanks [@obarcelonap](https://github.com/obarcelonap)! - Reject webhook configurations with unsupported webhook types or HTTP methods.
|
|
40
50
|
|
|
41
51
|
- [#643](https://github.com/adobe/aio-commerce-sdk/pull/643) [`d13ca97`](https://github.com/adobe/aio-commerce-sdk/commit/d13ca977cbe5c683e0515c24350863a46dc52792) Thanks [@iivvaannxx](https://github.com/iivvaannxx)! - Prune app-owned Commerce webhooks that are absent from the target configuration during upgrades.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
52
|
+
|
|
53
|
+
- [#672](https://github.com/adobe/aio-commerce-sdk/pull/672) [`4bed4e3`](https://github.com/adobe/aio-commerce-sdk/commit/4bed4e306f3a889fd1ea81d3f8d3f11609fd2a58) Thanks [@vinayrao2000](https://github.com/vinayrao2000)! - Fix upgrades failing with a 404 "no such event metadata" error when a duplicate event provider exists in the org.
|
|
54
|
+
- Updated dependencies [[`f012ae0`](https://github.com/adobe/aio-commerce-sdk/commit/f012ae0d8eaac5cac314a62de3902fca842bd936), [`c04983d`](https://github.com/adobe/aio-commerce-sdk/commit/c04983dfe04926094ab810c070598d5609004a61), [`e0852d1`](https://github.com/adobe/aio-commerce-sdk/commit/e0852d11e1b4f7c23a0c0dfd1d41acf984aeba7a), [`c04983d`](https://github.com/adobe/aio-commerce-sdk/commit/c04983dfe04926094ab810c070598d5609004a61), [`1837df1`](https://github.com/adobe/aio-commerce-sdk/commit/1837df107bd2b8d2211f77438a07b6e7ee0af03e), [`f3ea3a6`](https://github.com/adobe/aio-commerce-sdk/commit/f3ea3a64ac59c978f28865274fa282ec991ea529)]:
|
|
55
|
+
- @adobe/aio-commerce-lib-admin-ui@1.1.0
|
|
56
|
+
- @adobe/aio-commerce-lib-events@1.4.0
|
|
57
|
+
- @adobe/aio-commerce-lib-api@1.4.0
|
|
58
|
+
- @adobe/aio-commerce-lib-config@1.8.0
|
|
59
|
+
- @adobe/aio-commerce-lib-webhooks@1.2.2
|
|
60
|
+
|
|
61
|
+
## 1.11.0
|
|
62
|
+
|
|
63
|
+
### Minor Changes
|
|
64
|
+
|
|
65
|
+
- [#650](https://github.com/adobe/aio-commerce-sdk/pull/650) [`f3ea3a6`](https://github.com/adobe/aio-commerce-sdk/commit/f3ea3a64ac59c978f28865274fa282ec991ea529) Thanks [@jcuerdo](https://github.com/jcuerdo)! - Fix uninstallation failing for apps with a `dynamicList` Business Configuration field, caused by revalidating the recorded installation snapshot against a schema that required functions a JSON-serialized snapshot can never have. Uninstallation now validates the recorded config with `validateRecordedCommerceAppConfig`, which accepts a `dynamicList` field without `options`/`default`.
|
|
66
|
+
|
|
67
|
+
### Patch Changes
|
|
68
|
+
|
|
69
|
+
- Updated dependencies [[`f3ea3a6`](https://github.com/adobe/aio-commerce-sdk/commit/f3ea3a64ac59c978f28865274fa282ec991ea529)]:
|
|
70
|
+
- @adobe/aio-commerce-lib-config@1.7.0
|
|
45
71
|
|
|
46
72
|
## 1.10.1
|
|
47
73
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
16
16
|
const require_rolldown_runtime = require('../../rolldown-runtime-CDQd2xEI.cjs');
|
|
17
17
|
const require_environment = require('../../environment-B6533pAY.cjs');
|
|
18
|
-
const require_validate = require('../../validate-
|
|
18
|
+
const require_validate = require('../../validate-CwWYtRsS.cjs');
|
|
19
19
|
const require_router = require('../../router-CxDTb6r1.cjs');
|
|
20
20
|
let _adobe_aio_commerce_lib_config = require("@adobe/aio-commerce-lib-config");
|
|
21
21
|
let valibot = require("valibot");
|
|
@@ -29,7 +29,7 @@ let crypto = require("crypto");
|
|
|
29
29
|
* Loads the committed OpenAPI spec via dynamic import so it
|
|
30
30
|
* lands in its own chunk and is not parsed on every cold start.
|
|
31
31
|
*/
|
|
32
|
-
const importOpenApi = () => Promise.resolve().then(() => require("../../openapi-
|
|
32
|
+
const importOpenApi = () => Promise.resolve().then(() => require("../../openapi-CAXgKam0.cjs"));
|
|
33
33
|
/** Matches component schema `$ref` strings, capturing the schema name. */
|
|
34
34
|
const SCHEMA_REF_PATTERN = /"#\/components\/schemas\/(\w+)"/g;
|
|
35
35
|
/**
|
|
@@ -80,7 +80,7 @@ function pruneUnusedTags(spec) {
|
|
|
80
80
|
* @param domains - The active config domains.
|
|
81
81
|
*/
|
|
82
82
|
function getOpenApiCacheKey(domains) {
|
|
83
|
-
const input = `2.0.0
|
|
83
|
+
const input = `2.0.0:${[...domains].sort().join(",")}:3.0.0`;
|
|
84
84
|
return (0, crypto.createHash)("sha256").update(input).digest("hex").slice(0, 8);
|
|
85
85
|
}
|
|
86
86
|
/** Returns the server URL to be set in the OpenAPI spec, based on the current namespace. */
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
import "../../index-DWEigxhy.cjs";
|
|
16
|
-
import { n as CommerceAppConfig } from "../../app-
|
|
16
|
+
import { n as CommerceAppConfig } from "../../app-DwSqUkJA.cjs";
|
|
17
17
|
import { RuntimeActionParams } from "@adobe/aio-commerce-lib-core/params";
|
|
18
18
|
//#region source/actions/app-config/router.d.ts
|
|
19
19
|
/** The arguments required to create the runtime action for the app-config action. */
|
|
@@ -26,6 +26,5 @@ type RuntimeActionFactoryArgs = {
|
|
|
26
26
|
* Factory to create the route handler for the `app-config` action.
|
|
27
27
|
* @param args - The arguments required to create the runtime action.
|
|
28
28
|
*/
|
|
29
|
-
declare const appConfigRuntimeAction: (args: RuntimeActionFactoryArgs) => (params: RuntimeActionParams) => Promise<import("@adobe/aio-commerce-lib-core/responses").ActionResponse>;
|
|
30
|
-
//#endregion
|
|
31
|
-
export { appConfigRuntimeAction };
|
|
29
|
+
export declare const appConfigRuntimeAction: (args: RuntimeActionFactoryArgs) => (params: RuntimeActionParams) => Promise<import("@adobe/aio-commerce-lib-core/responses").ActionResponse>;
|
|
30
|
+
//#endregion
|
|
@@ -22,6 +22,5 @@ import { RuntimeActionParams } from "@adobe/aio-commerce-lib-core/params";
|
|
|
22
22
|
* and `DELETE /` clears it on unassociation. Runtime actions consume the data
|
|
23
23
|
* via `getCommerceInstance` / `getCommerceClient` from the root entrypoint.
|
|
24
24
|
*/
|
|
25
|
-
declare const associationRuntimeAction: () => (params: RuntimeActionParams) => Promise<import("@adobe/aio-commerce-lib-core/responses").ActionResponse>;
|
|
26
|
-
//#endregion
|
|
27
|
-
export { associationRuntimeAction };
|
|
25
|
+
export declare const associationRuntimeAction: () => (params: RuntimeActionParams) => Promise<import("@adobe/aio-commerce-lib-core/responses").ActionResponse>;
|
|
26
|
+
//#endregion
|
|
@@ -26,6 +26,5 @@ type ConfigActionFactoryArgs = {
|
|
|
26
26
|
* Factory to create the route handler for the `config` action.
|
|
27
27
|
* @param args - The arguments required to create the runtime action.
|
|
28
28
|
*/
|
|
29
|
-
declare const configRuntimeAction: (args: ConfigActionFactoryArgs) => (params: RuntimeActionParams) => Promise<import("@adobe/aio-commerce-lib-core/responses").ActionResponse>;
|
|
30
|
-
//#endregion
|
|
31
|
-
export { configRuntimeAction };
|
|
29
|
+
export declare const configRuntimeAction: (args: ConfigActionFactoryArgs) => (params: RuntimeActionParams) => Promise<import("@adobe/aio-commerce-lib-core/responses").ActionResponse>;
|
|
30
|
+
//#endregion
|
|
@@ -16,9 +16,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
16
16
|
const require_rolldown_runtime = require('../../rolldown-runtime-CDQd2xEI.cjs');
|
|
17
17
|
const require_repository = require('../../repository-CbceYZqc.cjs');
|
|
18
18
|
const require_schemas = require('../../schemas-3e49M8zz.cjs');
|
|
19
|
-
const require_validate = require('../../validate-
|
|
20
|
-
const require_common = require('../../common-
|
|
21
|
-
const require_management = require('../../management-
|
|
19
|
+
const require_validate = require('../../validate-CwWYtRsS.cjs');
|
|
20
|
+
const require_common = require('../../common-VSsQEHDv.cjs');
|
|
21
|
+
const require_management = require('../../management-Bki3hlxL.cjs');
|
|
22
22
|
const require_router = require('../../router-CxDTb6r1.cjs');
|
|
23
23
|
let valibot = require("valibot");
|
|
24
24
|
valibot = require_rolldown_runtime.__toESM(valibot, 1);
|
|
@@ -371,11 +371,16 @@ async function startUninstallation({ body, logger, rawParams }) {
|
|
|
371
371
|
return (0, _adobe_aio_commerce_lib_core_responses.conflict)("Uninstallation is already in progress. Wait for it to complete.");
|
|
372
372
|
}
|
|
373
373
|
const { baselineProvider, stateStore } = await require_common.createLifecyclePersistence();
|
|
374
|
-
const
|
|
374
|
+
const installationSnapshot = await require_common.getCurrentLifecycleBaseline(stateStore, baselineProvider);
|
|
375
|
+
const baselineAppConfig = installationSnapshot?.config;
|
|
375
376
|
const uninstallConfig = baselineAppConfig ?? rawParams.appConfig;
|
|
376
377
|
if (!uninstallConfig) return (0, _adobe_aio_commerce_lib_core_responses.internalServerError)("Cannot determine what to uninstall: no recorded lifecycle baseline and no app config was provided.");
|
|
377
378
|
logger.debug(baselineAppConfig ? "Sourcing uninstallation from recorded lifecycle baseline" : "No recorded lifecycle baseline found; falling back to request config");
|
|
378
|
-
const
|
|
379
|
+
const executedCustomInstallationSteps = require_common.getExecutedCustomInstallationSteps(installationSnapshot?.data);
|
|
380
|
+
const initialState = require_management.createInitialUninstallationState({
|
|
381
|
+
config: require_validate.validateRecordedCommerceAppConfig(uninstallConfig),
|
|
382
|
+
executedCustomInstallationSteps
|
|
383
|
+
});
|
|
379
384
|
logger.debug(`Created initial uninstall state: ${initialState.id}`);
|
|
380
385
|
await store.put(require_common.getStorageKey(), initialState);
|
|
381
386
|
const workflowParams = require_common.buildWorkflowParams(body, rawParams);
|
|
@@ -387,6 +392,7 @@ async function startUninstallation({ body, logger, rawParams }) {
|
|
|
387
392
|
__ow_method: "post",
|
|
388
393
|
__ow_path: "/uninstallation/execution",
|
|
389
394
|
appConfig: uninstallConfig,
|
|
395
|
+
executedCustomInstallationSteps,
|
|
390
396
|
initialState
|
|
391
397
|
},
|
|
392
398
|
result: false
|
|
@@ -400,16 +406,17 @@ async function startUninstallation({ body, logger, rawParams }) {
|
|
|
400
406
|
}
|
|
401
407
|
/** Runs the uninstallation workflow and clears lifecycle state on success. */
|
|
402
408
|
async function executeUninstallation({ logger, params }) {
|
|
403
|
-
const { initialState, appConfig: rawAppConfig, appData, AIO_COMMERCE_API_BASE_URL } = params;
|
|
409
|
+
const { initialState, appConfig: rawAppConfig, appData, AIO_COMMERCE_API_BASE_URL, executedCustomInstallationSteps = [] } = params;
|
|
404
410
|
if (!initialState) return (0, _adobe_aio_commerce_lib_core_responses.badRequest)("initialState is required for execution");
|
|
405
411
|
if (!rawAppConfig) return (0, _adobe_aio_commerce_lib_core_responses.badRequest)("appConfig is required for execution");
|
|
406
|
-
const appConfig = require_validate.
|
|
412
|
+
const appConfig = require_validate.validateRecordedCommerceAppConfig(rawAppConfig);
|
|
407
413
|
const store = await require_common.createUninstallationStore();
|
|
408
414
|
const hooks = require_common.createInstallationHooks(store, (msg) => logger.debug(msg));
|
|
409
415
|
const installationContext = require_common.buildLifecycleContext(params, appConfig, logger);
|
|
410
416
|
logger.debug(`Executing uninstallation ${initialState.id} for app "${appData.projectName}" (workspace: "${appData.workspaceName}", commerce: "${AIO_COMMERCE_API_BASE_URL}")`);
|
|
411
417
|
const result = await require_management.runUninstallation({
|
|
412
418
|
config: appConfig,
|
|
419
|
+
executedCustomInstallationSteps,
|
|
413
420
|
hooks,
|
|
414
421
|
initialState,
|
|
415
422
|
installationContext
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
import "../../index-DWEigxhy.cjs";
|
|
16
|
-
import { n as CommerceAppConfig, r as CommerceAppConfigOutputModel } from "../../app-
|
|
17
|
-
import { J as LifecycleContext } from "../../index-
|
|
16
|
+
import { n as CommerceAppConfig, r as CommerceAppConfigOutputModel } from "../../app-DwSqUkJA.cjs";
|
|
17
|
+
import { J as LifecycleContext } from "../../index-C7dqTDHu.cjs";
|
|
18
18
|
import { RuntimeActionParams } from "@adobe/aio-commerce-lib-core/params";
|
|
19
19
|
import "@adobe/aio-commerce-lib-core/responses";
|
|
20
20
|
//#region source/actions/installation/common.d.ts
|
|
@@ -31,11 +31,11 @@ type RuntimeActionFactoryArgs = {
|
|
|
31
31
|
* Defines a type-safe custom installation scripts loader.
|
|
32
32
|
* @param loader - The custom scripts loader implementation.
|
|
33
33
|
*/
|
|
34
|
-
declare function defineCustomScriptsLoader(loader: CustomScriptsLoader): CustomScriptsLoader;
|
|
34
|
+
export declare function defineCustomScriptsLoader(loader: CustomScriptsLoader): CustomScriptsLoader;
|
|
35
35
|
/**
|
|
36
36
|
* Factory to create the route handler for the `installation` action.
|
|
37
37
|
* @param args - The arguments required to create the runtime action.
|
|
38
38
|
*/
|
|
39
|
-
declare const installationRuntimeAction: (args: RuntimeActionFactoryArgs) => (params: RuntimeActionParams) => Promise<import("@adobe/aio-commerce-lib-core/responses").ActionResponse>;
|
|
39
|
+
export declare const installationRuntimeAction: (args: RuntimeActionFactoryArgs) => (params: RuntimeActionParams) => Promise<import("@adobe/aio-commerce-lib-core/responses").ActionResponse>;
|
|
40
40
|
//#endregion
|
|
41
|
-
export {
|
|
41
|
+
export type { CustomScriptsLoader };
|
|
@@ -14,6 +14,5 @@
|
|
|
14
14
|
|
|
15
15
|
//#region source/actions/scope-tree/index.d.ts
|
|
16
16
|
/** The handler method for the `scope-tree` action. */
|
|
17
|
-
declare const scopeTreeRuntimeAction: (args: import("@adobe/aio-commerce-lib-core/params").RuntimeActionParams) => Promise<import("@adobe/aio-commerce-lib-core/responses").ActionResponse>;
|
|
18
|
-
//#endregion
|
|
19
|
-
export { scopeTreeRuntimeAction };
|
|
17
|
+
export declare const scopeTreeRuntimeAction: (args: import("@adobe/aio-commerce-lib-core/params").RuntimeActionParams) => Promise<import("@adobe/aio-commerce-lib-core/responses").ActionResponse>;
|
|
18
|
+
//#endregion
|
|
@@ -17,6 +17,41 @@ import * as v from "valibot";
|
|
|
17
17
|
/** The individual validatable domains of the app config. */
|
|
18
18
|
declare const CommerceAppConfigSchemas: {
|
|
19
19
|
readonly adminUi: v.ObjectSchema<{
|
|
20
|
+
readonly acl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.StrictObjectSchema<{
|
|
21
|
+
readonly children: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.StrictObjectSchema<{
|
|
22
|
+
readonly id: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, "ACL resource ID may contain only lowercase letters, digits, and \"_\"">]>;
|
|
23
|
+
readonly label: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.MinLengthAction<string, 3, "acl resource label must be at least 3 characters">, v.MaxLengthAction<string, 50, "acl resource label must be at most 50 characters">]>;
|
|
24
|
+
}, undefined>, undefined>, v.MinLengthAction<{
|
|
25
|
+
id: string;
|
|
26
|
+
label: string;
|
|
27
|
+
}[], 1, "An ACL resource group must contain at least one child">, v.CheckAction<{
|
|
28
|
+
id: string;
|
|
29
|
+
label: string;
|
|
30
|
+
}[], "Child ACL resource ids must be unique within a group.">]>, undefined>;
|
|
31
|
+
readonly id: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, "ACL resource ID may contain only lowercase letters, digits, and \"_\"">]>;
|
|
32
|
+
readonly label: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.MinLengthAction<string, 3, "acl resource label must be at least 3 characters">, v.MaxLengthAction<string, 50, "acl resource label must be at most 50 characters">]>;
|
|
33
|
+
}, undefined>, undefined>, v.MinLengthAction<{
|
|
34
|
+
children?: {
|
|
35
|
+
id: string;
|
|
36
|
+
label: string;
|
|
37
|
+
}[] | undefined;
|
|
38
|
+
id: string;
|
|
39
|
+
label: string;
|
|
40
|
+
}[], 1, "At least one ACL resource is required when acl is defined">, v.CheckAction<{
|
|
41
|
+
children?: {
|
|
42
|
+
id: string;
|
|
43
|
+
label: string;
|
|
44
|
+
}[] | undefined;
|
|
45
|
+
id: string;
|
|
46
|
+
label: string;
|
|
47
|
+
}[], "Top-level ACL resource ids must be unique.">, v.CheckAction<{
|
|
48
|
+
children?: {
|
|
49
|
+
id: string;
|
|
50
|
+
label: string;
|
|
51
|
+
}[] | undefined;
|
|
52
|
+
id: string;
|
|
53
|
+
label: string;
|
|
54
|
+
}[], "Custom ACL resource ids must stay unique after Commerce derivation: a top-level resource id must not equal a group's \"<group>_<child>\" combination.">]>, undefined>;
|
|
20
55
|
readonly customer: v.OptionalSchema<v.ObjectSchema<{
|
|
21
56
|
readonly gridColumns: v.OptionalSchema<v.ObjectSchema<{
|
|
22
57
|
readonly columns: v.SchemaWithPipe<readonly [v.ArraySchema<v.StrictObjectSchema<{
|
|
@@ -31,7 +66,13 @@ declare const CommerceAppConfigSchemas: {
|
|
|
31
66
|
id: string;
|
|
32
67
|
label: string;
|
|
33
68
|
type: "string" | "boolean" | "date" | "datetime" | "float" | "integer";
|
|
34
|
-
}[], 1, "At least one grid column is required"
|
|
69
|
+
}[], 1, "At least one grid column is required">, v.CheckAction<{
|
|
70
|
+
aclProtected?: boolean | undefined;
|
|
71
|
+
align: "left" | "right" | "center";
|
|
72
|
+
id: string;
|
|
73
|
+
label: string;
|
|
74
|
+
type: "string" | "boolean" | "date" | "datetime" | "float" | "integer";
|
|
75
|
+
}[], "Grid column ids must be unique after Commerce id sanitization.">]>;
|
|
35
76
|
readonly description: v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>;
|
|
36
77
|
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>;
|
|
37
78
|
readonly runtimeAction: v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>;
|
|
@@ -108,7 +149,7 @@ declare const CommerceAppConfigSchemas: {
|
|
|
108
149
|
} | undefined;
|
|
109
150
|
selectionLimit?: number | undefined;
|
|
110
151
|
title?: string | undefined;
|
|
111
|
-
})[], "Mass action ids must be unique.">]>, undefined>;
|
|
152
|
+
})[], "Mass action ids must be unique after Commerce id sanitization.">]>, undefined>;
|
|
112
153
|
}, undefined>, undefined>;
|
|
113
154
|
readonly menu: v.OptionalSchema<v.ObjectSchema<{
|
|
114
155
|
readonly aclProtected: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
@@ -133,7 +174,13 @@ declare const CommerceAppConfigSchemas: {
|
|
|
133
174
|
id: string;
|
|
134
175
|
label: string;
|
|
135
176
|
type: "string" | "boolean" | "date" | "datetime" | "float" | "integer";
|
|
136
|
-
}[], 1, "At least one grid column is required"
|
|
177
|
+
}[], 1, "At least one grid column is required">, v.CheckAction<{
|
|
178
|
+
aclProtected?: boolean | undefined;
|
|
179
|
+
align: "left" | "right" | "center";
|
|
180
|
+
id: string;
|
|
181
|
+
label: string;
|
|
182
|
+
type: "string" | "boolean" | "date" | "datetime" | "float" | "integer";
|
|
183
|
+
}[], "Grid column ids must be unique after Commerce id sanitization.">]>;
|
|
137
184
|
readonly description: v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>;
|
|
138
185
|
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>;
|
|
139
186
|
readonly runtimeAction: v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>;
|
|
@@ -210,7 +257,7 @@ declare const CommerceAppConfigSchemas: {
|
|
|
210
257
|
} | undefined;
|
|
211
258
|
selectionLimit?: number | undefined;
|
|
212
259
|
title?: string | undefined;
|
|
213
|
-
})[], "Mass action ids must be unique.">]>, undefined>;
|
|
260
|
+
})[], "Mass action ids must be unique after Commerce id sanitization.">]>, undefined>;
|
|
214
261
|
readonly viewButtons: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.VariantSchema<"type", [v.StrictObjectSchema<{
|
|
215
262
|
readonly aclProtected: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
216
263
|
readonly confirm: v.OptionalSchema<v.ObjectSchema<{
|
|
@@ -283,7 +330,7 @@ declare const CommerceAppConfigSchemas: {
|
|
|
283
330
|
sortOrder?: number | undefined;
|
|
284
331
|
timeout?: number | undefined;
|
|
285
332
|
type: "worker";
|
|
286
|
-
})[], "Order view button ids must be unique.">]>, undefined>;
|
|
333
|
+
})[], "Order view button ids must be unique after Commerce id sanitization.">]>, undefined>;
|
|
287
334
|
}, undefined>, undefined>;
|
|
288
335
|
readonly product: v.OptionalSchema<v.ObjectSchema<{
|
|
289
336
|
readonly gridColumns: v.OptionalSchema<v.ObjectSchema<{
|
|
@@ -299,7 +346,13 @@ declare const CommerceAppConfigSchemas: {
|
|
|
299
346
|
id: string;
|
|
300
347
|
label: string;
|
|
301
348
|
type: "string" | "boolean" | "date" | "datetime" | "float" | "integer";
|
|
302
|
-
}[], 1, "At least one grid column is required"
|
|
349
|
+
}[], 1, "At least one grid column is required">, v.CheckAction<{
|
|
350
|
+
aclProtected?: boolean | undefined;
|
|
351
|
+
align: "left" | "right" | "center";
|
|
352
|
+
id: string;
|
|
353
|
+
label: string;
|
|
354
|
+
type: "string" | "boolean" | "date" | "datetime" | "float" | "integer";
|
|
355
|
+
}[], "Grid column ids must be unique after Commerce id sanitization.">]>;
|
|
303
356
|
readonly description: v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>;
|
|
304
357
|
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>;
|
|
305
358
|
readonly runtimeAction: v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>;
|
|
@@ -376,7 +429,7 @@ declare const CommerceAppConfigSchemas: {
|
|
|
376
429
|
} | undefined;
|
|
377
430
|
selectionLimit?: number | undefined;
|
|
378
431
|
title?: string | undefined;
|
|
379
|
-
})[], "Mass action ids must be unique.">]>, undefined>;
|
|
432
|
+
})[], "Mass action ids must be unique after Commerce id sanitization.">]>, undefined>;
|
|
380
433
|
}, undefined>, undefined>;
|
|
381
434
|
}, undefined>;
|
|
382
435
|
readonly businessConfig: v.ObjectSchema<{
|
|
@@ -1091,7 +1144,7 @@ declare const CommerceAppConfigSchemas: {
|
|
|
1091
1144
|
readonly description: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string for the ${string}`>, v.NonEmptyAction<string, `The ${string} must not be empty`>]>, v.MaxLengthAction<string, 255, "The metadata description must not be longer than 255 characters">]>;
|
|
1092
1145
|
readonly displayName: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string for the ${string}`>, v.NonEmptyAction<string, `The ${string} must not be empty`>]>, v.MaxLengthAction<string, 50, "The application display name must not be longer than 50 characters">]>;
|
|
1093
1146
|
readonly id: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.RegexAction<string, `Only alphanumeric characters and hyphens are allowed in string value of "${string}"${string}`>]>, v.MaxLengthAction<string, 100, "The application id must not be longer than 100 characters">]>;
|
|
1094
|
-
readonly upgradeMode: v.OptionalSchema<v.PicklistSchema<["auto", "manual"], undefined>, "
|
|
1147
|
+
readonly upgradeMode: v.OptionalSchema<v.PicklistSchema<["auto", "manual"], undefined>, "manual">;
|
|
1095
1148
|
readonly version: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string for the ${string}`>, v.NonEmptyAction<string, `The ${string} must not be empty`>]>, v.RegexAction<string, "The version must follow semantic versioning (semver) format: Major.Minor.Patch (e.g., '1.0.0', '2.3.1')">]>;
|
|
1096
1149
|
}, undefined>;
|
|
1097
1150
|
readonly webhooks: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.ObjectSchema<{
|
|
@@ -1248,6 +1301,41 @@ declare function hasConfigDomain(config: AnyCommerceAppConfig, domain: CommerceA
|
|
|
1248
1301
|
/** The schema used to validate the commerce app config file. */
|
|
1249
1302
|
declare const CommerceAppConfigSchema: v.LooseObjectSchema<{
|
|
1250
1303
|
readonly adminUi: v.OptionalSchema<v.ObjectSchema<{
|
|
1304
|
+
readonly acl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.StrictObjectSchema<{
|
|
1305
|
+
readonly children: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.StrictObjectSchema<{
|
|
1306
|
+
readonly id: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, "ACL resource ID may contain only lowercase letters, digits, and \"_\"">]>;
|
|
1307
|
+
readonly label: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.MinLengthAction<string, 3, "acl resource label must be at least 3 characters">, v.MaxLengthAction<string, 50, "acl resource label must be at most 50 characters">]>;
|
|
1308
|
+
}, undefined>, undefined>, v.MinLengthAction<{
|
|
1309
|
+
id: string;
|
|
1310
|
+
label: string;
|
|
1311
|
+
}[], 1, "An ACL resource group must contain at least one child">, v.CheckAction<{
|
|
1312
|
+
id: string;
|
|
1313
|
+
label: string;
|
|
1314
|
+
}[], "Child ACL resource ids must be unique within a group.">]>, undefined>;
|
|
1315
|
+
readonly id: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.RegexAction<string, "ACL resource ID may contain only lowercase letters, digits, and \"_\"">]>;
|
|
1316
|
+
readonly label: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>, v.MinLengthAction<string, 3, "acl resource label must be at least 3 characters">, v.MaxLengthAction<string, 50, "acl resource label must be at most 50 characters">]>;
|
|
1317
|
+
}, undefined>, undefined>, v.MinLengthAction<{
|
|
1318
|
+
children?: {
|
|
1319
|
+
id: string;
|
|
1320
|
+
label: string;
|
|
1321
|
+
}[] | undefined;
|
|
1322
|
+
id: string;
|
|
1323
|
+
label: string;
|
|
1324
|
+
}[], 1, "At least one ACL resource is required when acl is defined">, v.CheckAction<{
|
|
1325
|
+
children?: {
|
|
1326
|
+
id: string;
|
|
1327
|
+
label: string;
|
|
1328
|
+
}[] | undefined;
|
|
1329
|
+
id: string;
|
|
1330
|
+
label: string;
|
|
1331
|
+
}[], "Top-level ACL resource ids must be unique.">, v.CheckAction<{
|
|
1332
|
+
children?: {
|
|
1333
|
+
id: string;
|
|
1334
|
+
label: string;
|
|
1335
|
+
}[] | undefined;
|
|
1336
|
+
id: string;
|
|
1337
|
+
label: string;
|
|
1338
|
+
}[], "Custom ACL resource ids must stay unique after Commerce derivation: a top-level resource id must not equal a group's \"<group>_<child>\" combination.">]>, undefined>;
|
|
1251
1339
|
readonly customer: v.OptionalSchema<v.ObjectSchema<{
|
|
1252
1340
|
readonly gridColumns: v.OptionalSchema<v.ObjectSchema<{
|
|
1253
1341
|
readonly columns: v.SchemaWithPipe<readonly [v.ArraySchema<v.StrictObjectSchema<{
|
|
@@ -1262,7 +1350,13 @@ declare const CommerceAppConfigSchema: v.LooseObjectSchema<{
|
|
|
1262
1350
|
id: string;
|
|
1263
1351
|
label: string;
|
|
1264
1352
|
type: "string" | "boolean" | "date" | "datetime" | "float" | "integer";
|
|
1265
|
-
}[], 1, "At least one grid column is required"
|
|
1353
|
+
}[], 1, "At least one grid column is required">, v.CheckAction<{
|
|
1354
|
+
aclProtected?: boolean | undefined;
|
|
1355
|
+
align: "left" | "right" | "center";
|
|
1356
|
+
id: string;
|
|
1357
|
+
label: string;
|
|
1358
|
+
type: "string" | "boolean" | "date" | "datetime" | "float" | "integer";
|
|
1359
|
+
}[], "Grid column ids must be unique after Commerce id sanitization.">]>;
|
|
1266
1360
|
readonly description: v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>;
|
|
1267
1361
|
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>;
|
|
1268
1362
|
readonly runtimeAction: v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>;
|
|
@@ -1339,7 +1433,7 @@ declare const CommerceAppConfigSchema: v.LooseObjectSchema<{
|
|
|
1339
1433
|
} | undefined;
|
|
1340
1434
|
selectionLimit?: number | undefined;
|
|
1341
1435
|
title?: string | undefined;
|
|
1342
|
-
})[], "Mass action ids must be unique.">]>, undefined>;
|
|
1436
|
+
})[], "Mass action ids must be unique after Commerce id sanitization.">]>, undefined>;
|
|
1343
1437
|
}, undefined>, undefined>;
|
|
1344
1438
|
readonly menu: v.OptionalSchema<v.ObjectSchema<{
|
|
1345
1439
|
readonly aclProtected: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
@@ -1364,7 +1458,13 @@ declare const CommerceAppConfigSchema: v.LooseObjectSchema<{
|
|
|
1364
1458
|
id: string;
|
|
1365
1459
|
label: string;
|
|
1366
1460
|
type: "string" | "boolean" | "date" | "datetime" | "float" | "integer";
|
|
1367
|
-
}[], 1, "At least one grid column is required"
|
|
1461
|
+
}[], 1, "At least one grid column is required">, v.CheckAction<{
|
|
1462
|
+
aclProtected?: boolean | undefined;
|
|
1463
|
+
align: "left" | "right" | "center";
|
|
1464
|
+
id: string;
|
|
1465
|
+
label: string;
|
|
1466
|
+
type: "string" | "boolean" | "date" | "datetime" | "float" | "integer";
|
|
1467
|
+
}[], "Grid column ids must be unique after Commerce id sanitization.">]>;
|
|
1368
1468
|
readonly description: v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>;
|
|
1369
1469
|
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>;
|
|
1370
1470
|
readonly runtimeAction: v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>;
|
|
@@ -1441,7 +1541,7 @@ declare const CommerceAppConfigSchema: v.LooseObjectSchema<{
|
|
|
1441
1541
|
} | undefined;
|
|
1442
1542
|
selectionLimit?: number | undefined;
|
|
1443
1543
|
title?: string | undefined;
|
|
1444
|
-
})[], "Mass action ids must be unique.">]>, undefined>;
|
|
1544
|
+
})[], "Mass action ids must be unique after Commerce id sanitization.">]>, undefined>;
|
|
1445
1545
|
readonly viewButtons: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.VariantSchema<"type", [v.StrictObjectSchema<{
|
|
1446
1546
|
readonly aclProtected: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
1447
1547
|
readonly confirm: v.OptionalSchema<v.ObjectSchema<{
|
|
@@ -1514,7 +1614,7 @@ declare const CommerceAppConfigSchema: v.LooseObjectSchema<{
|
|
|
1514
1614
|
sortOrder?: number | undefined;
|
|
1515
1615
|
timeout?: number | undefined;
|
|
1516
1616
|
type: "worker";
|
|
1517
|
-
})[], "Order view button ids must be unique.">]>, undefined>;
|
|
1617
|
+
})[], "Order view button ids must be unique after Commerce id sanitization.">]>, undefined>;
|
|
1518
1618
|
}, undefined>, undefined>;
|
|
1519
1619
|
readonly product: v.OptionalSchema<v.ObjectSchema<{
|
|
1520
1620
|
readonly gridColumns: v.OptionalSchema<v.ObjectSchema<{
|
|
@@ -1530,7 +1630,13 @@ declare const CommerceAppConfigSchema: v.LooseObjectSchema<{
|
|
|
1530
1630
|
id: string;
|
|
1531
1631
|
label: string;
|
|
1532
1632
|
type: "string" | "boolean" | "date" | "datetime" | "float" | "integer";
|
|
1533
|
-
}[], 1, "At least one grid column is required"
|
|
1633
|
+
}[], 1, "At least one grid column is required">, v.CheckAction<{
|
|
1634
|
+
aclProtected?: boolean | undefined;
|
|
1635
|
+
align: "left" | "right" | "center";
|
|
1636
|
+
id: string;
|
|
1637
|
+
label: string;
|
|
1638
|
+
type: "string" | "boolean" | "date" | "datetime" | "float" | "integer";
|
|
1639
|
+
}[], "Grid column ids must be unique after Commerce id sanitization.">]>;
|
|
1534
1640
|
readonly description: v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>;
|
|
1535
1641
|
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>;
|
|
1536
1642
|
readonly runtimeAction: v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.NonEmptyAction<string, `The value of "${string}" must not be empty`>]>;
|
|
@@ -1607,7 +1713,7 @@ declare const CommerceAppConfigSchema: v.LooseObjectSchema<{
|
|
|
1607
1713
|
} | undefined;
|
|
1608
1714
|
selectionLimit?: number | undefined;
|
|
1609
1715
|
title?: string | undefined;
|
|
1610
|
-
})[], "Mass action ids must be unique.">]>, undefined>;
|
|
1716
|
+
})[], "Mass action ids must be unique after Commerce id sanitization.">]>, undefined>;
|
|
1611
1717
|
}, undefined>, undefined>;
|
|
1612
1718
|
}, undefined>, undefined>;
|
|
1613
1719
|
readonly businessConfig: v.OptionalSchema<v.ObjectSchema<{
|
|
@@ -1975,7 +2081,7 @@ declare const CommerceAppConfigSchema: v.LooseObjectSchema<{
|
|
|
1975
2081
|
readonly description: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string for the ${string}`>, v.NonEmptyAction<string, `The ${string} must not be empty`>]>, v.MaxLengthAction<string, 255, "The metadata description must not be longer than 255 characters">]>;
|
|
1976
2082
|
readonly displayName: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string for the ${string}`>, v.NonEmptyAction<string, `The ${string} must not be empty`>]>, v.MaxLengthAction<string, 50, "The application display name must not be longer than 50 characters">]>;
|
|
1977
2083
|
readonly id: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string value for '${string}'`>, v.RegexAction<string, `Only alphanumeric characters and hyphens are allowed in string value of "${string}"${string}`>]>, v.MaxLengthAction<string, 100, "The application id must not be longer than 100 characters">]>;
|
|
1978
|
-
readonly upgradeMode: v.OptionalSchema<v.PicklistSchema<["auto", "manual"], undefined>, "
|
|
2084
|
+
readonly upgradeMode: v.OptionalSchema<v.PicklistSchema<["auto", "manual"], undefined>, "manual">;
|
|
1979
2085
|
readonly version: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<`Expected a string for the ${string}`>, v.NonEmptyAction<string, `The ${string} must not be empty`>]>, v.RegexAction<string, "The version must follow semantic versioning (semver) format: Major.Minor.Patch (e.g., '1.0.0', '2.3.1')">]>;
|
|
1980
2086
|
}, undefined>;
|
|
1981
2087
|
readonly webhooks: v.OptionalSchema<v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.ObjectSchema<{
|