@sanity/client 7.8.2 → 7.9.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.
@@ -4284,6 +4284,9 @@ export declare type ReleaseAction =
4284
4284
  | UnscheduleReleaseAction
4285
4285
  | DeleteReleaseAction
4286
4286
 
4287
+ /** @public */
4288
+ export declare type ReleaseCardinality = 'many' | 'one' | undefined
4289
+
4287
4290
  /** @internal */
4288
4291
  export declare interface ReleaseDocument extends SanityDocument {
4289
4292
  /**
@@ -4320,6 +4323,7 @@ export declare interface ReleaseDocument extends SanityDocument {
4320
4323
  description?: string
4321
4324
  intendedPublishAt?: string
4322
4325
  releaseType: ReleaseType
4326
+ cardinality?: ReleaseCardinality
4323
4327
  }
4324
4328
  }
4325
4329
 
@@ -4284,6 +4284,9 @@ export declare type ReleaseAction =
4284
4284
  | UnscheduleReleaseAction
4285
4285
  | DeleteReleaseAction
4286
4286
 
4287
+ /** @public */
4288
+ export declare type ReleaseCardinality = 'many' | 'one' | undefined
4289
+
4287
4290
  /** @internal */
4288
4291
  export declare interface ReleaseDocument extends SanityDocument {
4289
4292
  /**
@@ -4320,6 +4323,7 @@ export declare interface ReleaseDocument extends SanityDocument {
4320
4323
  description?: string
4321
4324
  intendedPublishAt?: string
4322
4325
  releaseType: ReleaseType
4326
+ cardinality?: ReleaseCardinality
4323
4327
  }
4324
4328
  }
4325
4329
 
package/dist/stega.d.cts CHANGED
@@ -4284,6 +4284,9 @@ export declare type ReleaseAction =
4284
4284
  | UnscheduleReleaseAction
4285
4285
  | DeleteReleaseAction
4286
4286
 
4287
+ /** @public */
4288
+ export declare type ReleaseCardinality = 'many' | 'one' | undefined
4289
+
4287
4290
  /** @internal */
4288
4291
  export declare interface ReleaseDocument extends SanityDocument {
4289
4292
  /**
@@ -4320,6 +4323,7 @@ export declare interface ReleaseDocument extends SanityDocument {
4320
4323
  description?: string
4321
4324
  intendedPublishAt?: string
4322
4325
  releaseType: ReleaseType
4326
+ cardinality?: ReleaseCardinality
4323
4327
  }
4324
4328
  }
4325
4329
 
package/dist/stega.d.ts CHANGED
@@ -4284,6 +4284,9 @@ export declare type ReleaseAction =
4284
4284
  | UnscheduleReleaseAction
4285
4285
  | DeleteReleaseAction
4286
4286
 
4287
+ /** @public */
4288
+ export declare type ReleaseCardinality = 'many' | 'one' | undefined
4289
+
4287
4290
  /** @internal */
4288
4291
  export declare interface ReleaseDocument extends SanityDocument {
4289
4292
  /**
@@ -4320,6 +4323,7 @@ export declare interface ReleaseDocument extends SanityDocument {
4320
4323
  description?: string
4321
4324
  intendedPublishAt?: string
4322
4325
  releaseType: ReleaseType
4326
+ cardinality?: ReleaseCardinality
4323
4327
  }
4324
4328
  }
4325
4329
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/client",
3
- "version": "7.8.2",
3
+ "version": "7.9.0",
4
4
  "description": "Client for retrieving, creating and patching data from Sanity.io",
5
5
  "keywords": [
6
6
  "sanity",
@@ -47,8 +47,16 @@ export class ObservableDatasetsClient {
47
47
  * Fetch a list of datasets for the configured project
48
48
  */
49
49
  list(): Observable<DatasetsResponse> {
50
+ validate.resourceGuard('dataset', this.#client.config())
51
+ const config = this.#client.config()
52
+ const projectId = config.projectId
53
+ let uri = '/datasets'
54
+ if (config.useProjectHostname === false) {
55
+ uri = `/projects/${projectId}/datasets`
56
+ }
57
+
50
58
  return _request<DatasetsResponse>(this.#client, this.#httpRequest, {
51
- uri: '/datasets',
59
+ uri,
52
60
  tag: null,
53
61
  })
54
62
  }
@@ -104,8 +112,15 @@ export class DatasetsClient {
104
112
  */
105
113
  list(): Promise<DatasetsResponse> {
106
114
  validate.resourceGuard('dataset', this.#client.config())
115
+ const config = this.#client.config()
116
+ const projectId = config.projectId
117
+ let uri = '/datasets'
118
+ if (config.useProjectHostname === false) {
119
+ uri = `/projects/${projectId}/datasets`
120
+ }
121
+
107
122
  return lastValueFrom(
108
- _request<DatasetsResponse>(this.#client, this.#httpRequest, {uri: '/datasets', tag: null}),
123
+ _request<DatasetsResponse>(this.#client, this.#httpRequest, {uri, tag: null}),
109
124
  )
110
125
  }
111
126
  }
@@ -119,6 +134,7 @@ function _modify<R = unknown>(
119
134
  ) {
120
135
  validate.resourceGuard('dataset', client.config())
121
136
  validate.dataset(name)
137
+
122
138
  return _request<R>(client, httpRequest, {
123
139
  method,
124
140
  uri: `/datasets/${name}`,
@@ -3,7 +3,6 @@ import {lastValueFrom, type Observable} from 'rxjs'
3
3
  import {_request} from '../data/dataMethods'
4
4
  import type {ObservableSanityClient, SanityClient} from '../SanityClient'
5
5
  import type {HttpRequest, SanityProject} from '../types'
6
- import * as validate from '../validators'
7
6
 
8
7
  /** @internal */
9
8
  export class ObservableProjectsClient {
@@ -25,7 +24,6 @@ export class ObservableProjectsClient {
25
24
  list(options?: {
26
25
  includeMembers?: boolean
27
26
  }): Observable<SanityProject[] | Omit<SanityProject, 'members'>[]> {
28
- validate.resourceGuard('projects', this.#client.config())
29
27
  const uri = options?.includeMembers === false ? '/projects?includeMembers=false' : '/projects'
30
28
  return _request<SanityProject[]>(this.#client, this.#httpRequest, {uri})
31
29
  }
@@ -36,7 +34,6 @@ export class ObservableProjectsClient {
36
34
  * @param projectId - ID of the project to fetch
37
35
  */
38
36
  getById(projectId: string): Observable<SanityProject> {
39
- validate.resourceGuard('projects', this.#client.config())
40
37
  return _request<SanityProject>(this.#client, this.#httpRequest, {uri: `/projects/${projectId}`})
41
38
  }
42
39
  }
@@ -59,7 +56,6 @@ export class ProjectsClient {
59
56
  list(options?: {includeMembers?: true}): Promise<SanityProject[]>
60
57
  list(options?: {includeMembers?: false}): Promise<Omit<SanityProject, 'members'>[]>
61
58
  list(options?: {includeMembers?: boolean}): Promise<SanityProject[]> {
62
- validate.resourceGuard('projects', this.#client.config())
63
59
  const uri = options?.includeMembers === false ? '/projects?includeMembers=false' : '/projects'
64
60
  return lastValueFrom(_request<SanityProject[]>(this.#client, this.#httpRequest, {uri}))
65
61
  }
@@ -70,7 +66,6 @@ export class ProjectsClient {
70
66
  * @param projectId - ID of the project to fetch
71
67
  */
72
68
  getById(projectId: string): Promise<SanityProject> {
73
- validate.resourceGuard('projects', this.#client.config())
74
69
  return lastValueFrom(
75
70
  _request<SanityProject>(this.#client, this.#httpRequest, {uri: `/projects/${projectId}`}),
76
71
  )
package/src/types.ts CHANGED
@@ -1476,6 +1476,9 @@ export type ReleaseState =
1476
1476
  /** @internal */
1477
1477
  export type ReleaseType = 'asap' | 'scheduled' | 'undecided'
1478
1478
 
1479
+ /** @public */
1480
+ export type ReleaseCardinality = 'many' | 'one' | undefined
1481
+
1479
1482
  /** @internal */
1480
1483
  export interface ReleaseDocument extends SanityDocument {
1481
1484
  /**
@@ -1512,6 +1515,7 @@ export interface ReleaseDocument extends SanityDocument {
1512
1515
  description?: string
1513
1516
  intendedPublishAt?: string
1514
1517
  releaseType: ReleaseType
1518
+ cardinality?: ReleaseCardinality
1515
1519
  }
1516
1520
  }
1517
1521
 
@@ -3509,8 +3509,11 @@ ${selectionOpts}`);
3509
3509
  * Fetch a list of datasets for the configured project
3510
3510
  */
3511
3511
  list() {
3512
- return _request(this.#client, this.#httpRequest, {
3513
- uri: "/datasets",
3512
+ resourceGuard("dataset", this.#client.config());
3513
+ const config = this.#client.config(), projectId2 = config.projectId;
3514
+ let uri = "/datasets";
3515
+ return config.useProjectHostname === false && (uri = `/projects/${projectId2}/datasets`), _request(this.#client, this.#httpRequest, {
3516
+ uri,
3514
3517
  tag: null
3515
3518
  });
3516
3519
  }
@@ -3555,8 +3558,11 @@ ${selectionOpts}`);
3555
3558
  * Fetch a list of datasets for the configured project
3556
3559
  */
3557
3560
  list() {
3558
- return resourceGuard("dataset", this.#client.config()), lastValueFrom(
3559
- _request(this.#client, this.#httpRequest, { uri: "/datasets", tag: null })
3561
+ resourceGuard("dataset", this.#client.config());
3562
+ const config = this.#client.config(), projectId2 = config.projectId;
3563
+ let uri = "/datasets";
3564
+ return config.useProjectHostname === false && (uri = `/projects/${projectId2}/datasets`), lastValueFrom(
3565
+ _request(this.#client, this.#httpRequest, { uri, tag: null })
3560
3566
  );
3561
3567
  }
3562
3568
  }
@@ -3575,7 +3581,6 @@ ${selectionOpts}`);
3575
3581
  this.#client = client, this.#httpRequest = httpRequest;
3576
3582
  }
3577
3583
  list(options) {
3578
- resourceGuard("projects", this.#client.config());
3579
3584
  const uri = options?.includeMembers === false ? "/projects?includeMembers=false" : "/projects";
3580
3585
  return _request(this.#client, this.#httpRequest, { uri });
3581
3586
  }
@@ -3585,7 +3590,7 @@ ${selectionOpts}`);
3585
3590
  * @param projectId - ID of the project to fetch
3586
3591
  */
3587
3592
  getById(projectId2) {
3588
- return resourceGuard("projects", this.#client.config()), _request(this.#client, this.#httpRequest, { uri: `/projects/${projectId2}` });
3593
+ return _request(this.#client, this.#httpRequest, { uri: `/projects/${projectId2}` });
3589
3594
  }
3590
3595
  }
3591
3596
  class ProjectsClient {
@@ -3595,7 +3600,6 @@ ${selectionOpts}`);
3595
3600
  this.#client = client, this.#httpRequest = httpRequest;
3596
3601
  }
3597
3602
  list(options) {
3598
- resourceGuard("projects", this.#client.config());
3599
3603
  const uri = options?.includeMembers === false ? "/projects?includeMembers=false" : "/projects";
3600
3604
  return lastValueFrom(_request(this.#client, this.#httpRequest, { uri }));
3601
3605
  }
@@ -3605,7 +3609,7 @@ ${selectionOpts}`);
3605
3609
  * @param projectId - ID of the project to fetch
3606
3610
  */
3607
3611
  getById(projectId2) {
3608
- return resourceGuard("projects", this.#client.config()), lastValueFrom(
3612
+ return lastValueFrom(
3609
3613
  _request(this.#client, this.#httpRequest, { uri: `/projects/${projectId2}` })
3610
3614
  );
3611
3615
  }