@cloudcannon/sdk 0.0.5 → 0.0.6

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/dist/index.d.ts CHANGED
@@ -9,6 +9,7 @@ import { type ConnectSiteOptions, type CreateDamOptions, type CreateInboxOptions
9
9
  import { type BuildConfiguration, type ConnectDamOptions, type ConnectInboxOptions, type CopySiteOptions, type CreateBackupOptions, type ListSiteBackupsOptions, type ListSiteBuildsOptions, type ListSiteSyncsOptions, SiteClient, type UpdateSiteOptions, type UploadFileOptions } from './src/site.ts';
10
10
  import { SiteInboxClient, type UpdateInboxOptions } from './src/site-inbox.ts';
11
11
  import { SyncClient } from './src/sync.ts';
12
+ export { ApiError, AuthenticationError, } from './src/errors.ts';
12
13
  export type { BuildConfiguration, CommitEditingSessionOptions, CommitEditingSessionResponse, ConnectDamOptions, ConnectInboxOptions, ConnectSiteOptions, CopySiteOptions, CreateBackupOptions, CreateContributionOptions, CreateDamOptions, CreateEditingSessionFileOptions, CreateInboxOptions, FilterOptions, ListInboxSubmissionsOptions, ListOrgDamsOptions, ListOrgInboxesOptions, ListOrgSitesOptions, ListOrgsOptions, ListSiteBackupsOptions, ListSiteBuildsOptions, ListSiteSyncsOptions, PaginatedResponse, PaginationOptions, SortingOptions, UnlockOptions, UpdateInboxOptions, UpdateSiteOptions, UploadFileOptions, };
13
14
  export type Provider = operations['Providers_Repositories']['parameters']['path']['provider'];
14
15
  export type Site = components['schemas']['SiteBlueprint'];
package/dist/index.js CHANGED
@@ -3,12 +3,14 @@ import { BackupClient } from "./src/backup.js";
3
3
  import { BuildClient } from "./src/build.js";
4
4
  import { EditingSessionClient, } from "./src/editing-session.js";
5
5
  import { EditingSessionFileClient, } from "./src/editing-session-file.js";
6
+ import { AuthenticationError } from "./src/errors.js";
6
7
  import { buildQuery, paginatedResponse, } from "./src/helpers/query.js";
7
8
  import { InboxClient } from "./src/inbox.js";
8
9
  import { OrgClient, } from "./src/org.js";
9
10
  import { SiteClient, } from "./src/site.js";
10
11
  import { SiteInboxClient } from "./src/site-inbox.js";
11
12
  import { SyncClient } from "./src/sync.js";
13
+ export { ApiError, AuthenticationError, } from "./src/errors.js";
12
14
  export default class CloudCannonClient {
13
15
  #apiKey;
14
16
  #userAccessKey;
@@ -65,11 +67,16 @@ export default class CloudCannonClient {
65
67
  headers: {
66
68
  ...authHeaders,
67
69
  'Content-Type': 'application/json',
70
+ 'X-Requested-With': 'XMLHttpRequest',
68
71
  ...options?.headers,
69
72
  },
70
73
  body,
71
74
  };
72
- return fetch(fullUrl, requestInit);
75
+ const resp = (await fetch(fullUrl, requestInit));
76
+ if (resp.status === 401) {
77
+ throw new AuthenticationError('Failed to authenticate with the CloudCannon API.', fullUrl, options);
78
+ }
79
+ return resp;
73
80
  }
74
81
  org(uuid) {
75
82
  return new OrgClient(uuid, this);
@@ -5,3 +5,6 @@ export declare class ApiError extends Error {
5
5
  status: number | null;
6
6
  constructor(message: string, errors: unknown, url: string, options: unknown, status: number | null);
7
7
  }
8
+ export declare class AuthenticationError extends ApiError {
9
+ constructor(message: string, url: string, options: unknown);
10
+ }
@@ -11,3 +11,8 @@ export class ApiError extends Error {
11
11
  this.status = status;
12
12
  }
13
13
  }
14
+ export class AuthenticationError extends ApiError {
15
+ constructor(message, url, options) {
16
+ super(message, undefined, url, options, 401);
17
+ }
18
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcannon/sdk",
3
3
  "type": "module",
4
- "version": "0.0.5",
4
+ "version": "0.0.6",
5
5
  "description": "REST API client for the CloudCannon CMS.",
6
6
  "keywords": [
7
7
  "cloudcannon",