riverbankcms 0.2.2 → 0.4.2

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/README.md CHANGED
@@ -19,3 +19,14 @@ Safety notes: `--verify-noop` is an applied-write check and cannot be combined
19
19
  with `--dry-run`. Remote writes in JSON output or a non-interactive terminal
20
20
  must include `--yes`; otherwise the CLI refuses before loading or mutating the
21
21
  target.
22
+
23
+ ## Media conflict behavior
24
+
25
+ Media replacement flags have been removed. `--overwrite-media` and
26
+ `--force-update-asset` are rejected during option parsing. When the same bytes
27
+ or identifier already belong to another asset, keep the existing asset, choose
28
+ a new identifier, or delete and upload the asset again in the dashboard.
29
+
30
+ Every persisted media asset now has a canonical, site-unique identifier. Backup
31
+ restore preserves an existing asset's identifier and rejects an archive that
32
+ tries to replace it.
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
- import "../src-XEJYAKbQ.mjs";
3
- import "../sdk-event-upsert-BCZUdIrL.mjs";
4
- import { t as eventUpsertInputSchema } from "../eventUpsertInputSchema-CzMX5BZI.mjs";
2
+ import "../src-BRAF1Dee.mjs";
3
+ import "../sdk-event-upsert-C6zsxDcf.mjs";
4
+ import { t as eventUpsertInputSchema } from "../eventUpsertInputSchema-Dg60PKJI.mjs";
5
5
 
6
6
  //#region src/acceptance/matrix-builders.ts
7
7
  const workflow = (scenario, stepId) => ({
@@ -56,6 +56,13 @@ const writeFileStep = (id, path, content) => ({
56
56
  path,
57
57
  content: `${JSON.stringify(content, null, 2)}\n`
58
58
  });
59
+ const assertJsonFileStep = (id, path, jsonPath, expected) => ({
60
+ kind: "assert_json_file",
61
+ id,
62
+ path,
63
+ jsonPath,
64
+ expected
65
+ });
59
66
  const richText = (text) => ({
60
67
  type: "doc",
61
68
  content: [{
@@ -245,6 +252,55 @@ const navigationScenario = {
245
252
  ]
246
253
  };
247
254
 
255
+ //#endregion
256
+ //#region src/acceptance/booking-settings-scenario.ts
257
+ const bookingSettingsScenario = {
258
+ id: "booking-settings-lifecycle",
259
+ steps: [
260
+ commandStep("apply", "settings booking configure", [
261
+ "settings",
262
+ "booking",
263
+ "configure",
264
+ "--vertical",
265
+ "fitness_pt",
266
+ "--preset",
267
+ "fitness_pt.group_training",
268
+ "--env=local",
269
+ "--yes",
270
+ "--json"
271
+ ]),
272
+ commandStep("unchanged", "settings booking configure", [
273
+ "settings",
274
+ "booking",
275
+ "configure",
276
+ "--vertical",
277
+ "fitness_pt",
278
+ "--preset",
279
+ "fitness_pt.group_training",
280
+ "--env=local",
281
+ "--yes",
282
+ "--json"
283
+ ], { jsonAssertions: [{
284
+ jsonPath: [
285
+ "environments",
286
+ "0",
287
+ "effect",
288
+ "kind"
289
+ ],
290
+ expected: "unchanged"
291
+ }] }),
292
+ commandStep("pull-settings", "pull", [
293
+ "pull",
294
+ "settings",
295
+ "--env=local",
296
+ "--yes",
297
+ "--json"
298
+ ]),
299
+ assertJsonFileStep("assert-vertical", "content/settings.json", ["verticalConfig", "verticalId"], "fitness_pt"),
300
+ assertJsonFileStep("assert-presets", "content/settings.json", ["verticalConfig", "selectedPresetIds"], ["fitness_pt.group_training"])
301
+ ]
302
+ };
303
+
248
304
  //#endregion
249
305
  //#region src/acceptance/matrix.ts
250
306
  const entryScenario = {
@@ -692,6 +748,7 @@ const acceptanceTuples = [
692
748
  "--env=both",
693
749
  "--json"
694
750
  ])],
751
+ ["settings booking configure", workflow(bookingSettingsScenario, "apply")],
695
752
  ["login", scratchExecute([
696
753
  "login",
697
754
  "--account-env=local",