@minipim/sdk 0.9.0 → 0.10.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.
@@ -1637,6 +1637,7 @@ interface paths {
1637
1637
  includeDescendants?: boolean | ('true' | 'false' | '1' | '0');
1638
1638
  brand?: string;
1639
1639
  brandId?: string;
1640
+ ids?: string | string[];
1640
1641
  /** @description Repeatable — `?tag=a&tag=b` matches records carrying ALL listed tags. Values are canonicalized exactly as writes are, so `?tag=Buying%20Guide` matches the stored `buying-guide`; you never have to pre-slugify a filter. Backed by the GIN index on `tags`. */
1641
1642
  tag?: string | string[];
1642
1643
  connectorId?: string;
@@ -1856,6 +1857,7 @@ interface paths {
1856
1857
  includeDescendants?: boolean | ('true' | 'false' | '1' | '0');
1857
1858
  brand?: string;
1858
1859
  brandId?: string;
1860
+ ids?: string | string[];
1859
1861
  /** @description Repeatable — `?tag=a&tag=b` matches records carrying ALL listed tags. Values are canonicalized exactly as writes are, so `?tag=Buying%20Guide` matches the stored `buying-guide`; you never have to pre-slugify a filter. Backed by the GIN index on `tags`. */
1860
1862
  tag?: string | string[];
1861
1863
  connectorId?: string;
@@ -1869,6 +1871,7 @@ interface paths {
1869
1871
  locale?: string;
1870
1872
  channel?: string;
1871
1873
  facetLimit?: number;
1874
+ includeEmpty?: boolean | ('true' | 'false' | '1' | '0');
1872
1875
  };
1873
1876
  header?: never;
1874
1877
  path?: never;
@@ -3639,6 +3642,7 @@ interface paths {
3639
3642
  status?: 'draft' | 'active' | 'archived';
3640
3643
  q?: string;
3641
3644
  slug?: string;
3645
+ ids?: string | string[];
3642
3646
  familyId?: string;
3643
3647
  categoryId?: string;
3644
3648
  includeDescendants?: boolean | ('true' | 'false' | '1' | '0');
@@ -4228,13 +4232,17 @@ interface paths {
4228
4232
  * - **With `channelId`** — the channel’s own page wins; if it has none, the org-wide page is returned. That makes a channel-specific page an override of shared content rather than a separate thing to look up.
4229
4233
  * - **Without `channelId`** — org-wide pages only. A caller with no channel context should never be handed one channel’s page by accident.
4230
4234
  *
4231
- * Returns pages in ANY status, exactly like `GET /v1/content/{id}`. Check `status` before rendering — a draft is reachable here on purpose so the admin and preview tooling can use the same lookup.
4235
+ * **By default this returns a page in ANY status**, exactly like `GET /v1/content/{id}` — a draft is reachable here on purpose, so admin and preview tooling can share one lookup. On a public storefront route that is a disclosure risk: an unpublished page is readable by anyone who guesses its slug, and the slug is usually the title.
4236
+ *
4237
+ * **Pass `?status=active` on any route a shopper can reach.** Unknown query parameters are now rejected with a 422 rather than ignored, so a filter that does not apply fails loudly instead of appearing to work.
4232
4238
  */
4233
4239
  get: {
4234
4240
  parameters: {
4235
4241
  query?: {
4236
4242
  /** @description Resolve within this channel first, falling back to the org-wide page. */
4237
4243
  channelId?: string;
4244
+ /** @description Restrict to this status. Omit to get the page in ANY status — which is what admin and preview tooling want, and what a storefront almost certainly does not. Pass `status=active` on a public route. */
4245
+ status?: 'draft' | 'active' | 'archived';
4238
4246
  };
4239
4247
  header?: never;
4240
4248
  path: {
package/dist/openapi.d.ts CHANGED
@@ -1637,6 +1637,7 @@ interface paths {
1637
1637
  includeDescendants?: boolean | ('true' | 'false' | '1' | '0');
1638
1638
  brand?: string;
1639
1639
  brandId?: string;
1640
+ ids?: string | string[];
1640
1641
  /** @description Repeatable — `?tag=a&tag=b` matches records carrying ALL listed tags. Values are canonicalized exactly as writes are, so `?tag=Buying%20Guide` matches the stored `buying-guide`; you never have to pre-slugify a filter. Backed by the GIN index on `tags`. */
1641
1642
  tag?: string | string[];
1642
1643
  connectorId?: string;
@@ -1856,6 +1857,7 @@ interface paths {
1856
1857
  includeDescendants?: boolean | ('true' | 'false' | '1' | '0');
1857
1858
  brand?: string;
1858
1859
  brandId?: string;
1860
+ ids?: string | string[];
1859
1861
  /** @description Repeatable — `?tag=a&tag=b` matches records carrying ALL listed tags. Values are canonicalized exactly as writes are, so `?tag=Buying%20Guide` matches the stored `buying-guide`; you never have to pre-slugify a filter. Backed by the GIN index on `tags`. */
1860
1862
  tag?: string | string[];
1861
1863
  connectorId?: string;
@@ -1869,6 +1871,7 @@ interface paths {
1869
1871
  locale?: string;
1870
1872
  channel?: string;
1871
1873
  facetLimit?: number;
1874
+ includeEmpty?: boolean | ('true' | 'false' | '1' | '0');
1872
1875
  };
1873
1876
  header?: never;
1874
1877
  path?: never;
@@ -3639,6 +3642,7 @@ interface paths {
3639
3642
  status?: 'draft' | 'active' | 'archived';
3640
3643
  q?: string;
3641
3644
  slug?: string;
3645
+ ids?: string | string[];
3642
3646
  familyId?: string;
3643
3647
  categoryId?: string;
3644
3648
  includeDescendants?: boolean | ('true' | 'false' | '1' | '0');
@@ -4228,13 +4232,17 @@ interface paths {
4228
4232
  * - **With `channelId`** — the channel’s own page wins; if it has none, the org-wide page is returned. That makes a channel-specific page an override of shared content rather than a separate thing to look up.
4229
4233
  * - **Without `channelId`** — org-wide pages only. A caller with no channel context should never be handed one channel’s page by accident.
4230
4234
  *
4231
- * Returns pages in ANY status, exactly like `GET /v1/content/{id}`. Check `status` before rendering — a draft is reachable here on purpose so the admin and preview tooling can use the same lookup.
4235
+ * **By default this returns a page in ANY status**, exactly like `GET /v1/content/{id}` — a draft is reachable here on purpose, so admin and preview tooling can share one lookup. On a public storefront route that is a disclosure risk: an unpublished page is readable by anyone who guesses its slug, and the slug is usually the title.
4236
+ *
4237
+ * **Pass `?status=active` on any route a shopper can reach.** Unknown query parameters are now rejected with a 422 rather than ignored, so a filter that does not apply fails loudly instead of appearing to work.
4232
4238
  */
4233
4239
  get: {
4234
4240
  parameters: {
4235
4241
  query?: {
4236
4242
  /** @description Resolve within this channel first, falling back to the org-wide page. */
4237
4243
  channelId?: string;
4244
+ /** @description Restrict to this status. Omit to get the page in ANY status — which is what admin and preview tooling want, and what a storefront almost certainly does not. Pass `status=active` on a public route. */
4245
+ status?: 'draft' | 'active' | 'archived';
4238
4246
  };
4239
4247
  header?: never;
4240
4248
  path: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@minipim/sdk",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "description": "Typed TypeScript client for the MiniPim API.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/Epic-Design-Labs/minipim",