@cloudcannon/sdk 0.0.3 → 0.0.4
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 +1514 -0
- package/dist/index.d.ts +9 -8
- package/dist/index.js +3 -3
- package/dist/src/helpers/query.js +1 -1
- package/dist/src/inbox.d.ts +2 -1
- package/dist/src/org.d.ts +6 -3
- package/dist/src/site.d.ts +7 -3
- package/dist/src/site.js +9 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import type { components, operations, paths } from './schema.ts';
|
|
2
2
|
import { BackupClient } from './src/backup.ts';
|
|
3
3
|
import { BuildClient } from './src/build.ts';
|
|
4
|
-
import { type CommitEditingSessionOptions, type CommitEditingSessionResponse, EditingSessionClient } from './src/editing-session.ts';
|
|
5
|
-
import { EditingSessionFileClient } from './src/editing-session-file.ts';
|
|
4
|
+
import { type CommitEditingSessionOptions, type CommitEditingSessionResponse, type CreateEditingSessionFileOptions, EditingSessionClient } from './src/editing-session.ts';
|
|
5
|
+
import { type CreateContributionOptions, EditingSessionFileClient, type UnlockOptions } from './src/editing-session-file.ts';
|
|
6
6
|
import { type FilterOptions, type PaginatedResponse, type PaginationOptions, type SortingOptions } from './src/helpers/query.ts';
|
|
7
|
-
import { InboxClient } from './src/inbox.ts';
|
|
8
|
-
import { OrgClient } from './src/org.ts';
|
|
9
|
-
import { type BuildConfiguration, SiteClient } from './src/site.ts';
|
|
10
|
-
import { SiteInboxClient } from './src/site-inbox.ts';
|
|
7
|
+
import { InboxClient, type ListInboxSubmissionsOptions } from './src/inbox.ts';
|
|
8
|
+
import { type ConnectSiteOptions, type CreateDamOptions, type CreateInboxOptions, type ListOrgDamsOptions, type ListOrgInboxesOptions, type ListOrgSitesOptions, OrgClient } from './src/org.ts';
|
|
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
|
+
import { SiteInboxClient, type UpdateInboxOptions } from './src/site-inbox.ts';
|
|
11
11
|
import { SyncClient } from './src/sync.ts';
|
|
12
|
-
export type { BuildConfiguration, CommitEditingSessionOptions, CommitEditingSessionResponse, FilterOptions, PaginatedResponse, PaginationOptions, SortingOptions, };
|
|
12
|
+
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
13
|
export type Provider = operations['Providers_Repositories']['parameters']['path']['provider'];
|
|
14
14
|
export type Site = components['schemas']['SiteBlueprint'];
|
|
15
15
|
export type Backup = components['schemas']['SiteArchiveBlueprint'];
|
|
@@ -31,6 +31,7 @@ export type ProviderDetails = {
|
|
|
31
31
|
repository: string;
|
|
32
32
|
branch: string;
|
|
33
33
|
};
|
|
34
|
+
type ListOrgsOptions = PaginationOptions & SortingOptions<operations['Organizations_Index']> & FilterOptions<operations['Organizations_Index']>;
|
|
34
35
|
type ParamToString<S extends string> = S extends `${infer A}/{${string}}/${infer B}` ? `${A}/${string}/${ParamToString<B>}` : S extends `${infer A}/{${string}}` ? `${A}/${string}` : S;
|
|
35
36
|
type StripPrefix<S extends string> = S extends `/api/v0${infer Rest}` ? Rest : never;
|
|
36
37
|
type StripParams<S extends string> = S extends `${infer Path}?${string}` ? Path : S;
|
|
@@ -90,6 +91,6 @@ export default class CloudCannonClient {
|
|
|
90
91
|
build(uuid: string): BuildClient;
|
|
91
92
|
backup(uuid: string): BackupClient;
|
|
92
93
|
sync(uuid: string): SyncClient;
|
|
93
|
-
orgs(options?:
|
|
94
|
+
orgs(options?: ListOrgsOptions): Promise<PaginatedResponse<Org>>;
|
|
94
95
|
getUploadData(): Promise<UploadData>;
|
|
95
96
|
}
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { BackupClient } from "./src/backup.js";
|
|
2
2
|
import { BuildClient } from "./src/build.js";
|
|
3
3
|
import { EditingSessionClient, } from "./src/editing-session.js";
|
|
4
|
-
import { EditingSessionFileClient } from "./src/editing-session-file.js";
|
|
4
|
+
import { EditingSessionFileClient, } from "./src/editing-session-file.js";
|
|
5
5
|
import { buildQuery, paginatedResponse, } from "./src/helpers/query.js";
|
|
6
6
|
import { InboxClient } from "./src/inbox.js";
|
|
7
|
-
import { OrgClient } from "./src/org.js";
|
|
8
|
-
import { SiteClient } from "./src/site.js";
|
|
7
|
+
import { OrgClient, } from "./src/org.js";
|
|
8
|
+
import { SiteClient, } from "./src/site.js";
|
|
9
9
|
import { SiteInboxClient } from "./src/site-inbox.js";
|
|
10
10
|
import { SyncClient } from "./src/sync.js";
|
|
11
11
|
export default class CloudCannonClient {
|
|
@@ -3,7 +3,7 @@ export function buildQuery(options = {}) {
|
|
|
3
3
|
if (options.page !== undefined)
|
|
4
4
|
params.set('page', String(options.page));
|
|
5
5
|
if (options.items !== undefined)
|
|
6
|
-
params.set('
|
|
6
|
+
params.set('items', String(options.items));
|
|
7
7
|
if (options.sort_attribute !== undefined)
|
|
8
8
|
params.set('sort_attribute', options.sort_attribute);
|
|
9
9
|
if (options.sort_direction !== undefined)
|
package/dist/src/inbox.d.ts
CHANGED
|
@@ -2,8 +2,9 @@ import type CloudCannonClient from '../index.ts';
|
|
|
2
2
|
import type { FormSubmission } from '../index.ts';
|
|
3
3
|
import type { operations } from '../schema.js';
|
|
4
4
|
import { type FilterOptions, type PaginatedResponse, type PaginationOptions, type SortingOptions } from './helpers/query.ts';
|
|
5
|
+
export type ListInboxSubmissionsOptions = PaginationOptions & SortingOptions<operations['Inbox Form Hooks_Index']> & FilterOptions<operations['Inbox Form Hooks_Index']>;
|
|
5
6
|
export declare class InboxClient {
|
|
6
7
|
#private;
|
|
7
8
|
constructor(uuid: string, client: CloudCannonClient);
|
|
8
|
-
getSubmissions(options?:
|
|
9
|
+
getSubmissions(options?: ListInboxSubmissionsOptions): Promise<PaginatedResponse<FormSubmission>>;
|
|
9
10
|
}
|
package/dist/src/org.d.ts
CHANGED
|
@@ -6,18 +6,21 @@ export interface ConnectSiteOptions extends ProviderDetails {
|
|
|
6
6
|
folder?: string;
|
|
7
7
|
}
|
|
8
8
|
export type Repository = operations['Providers_Repositories']['responses']['200']['content']['application/json'][number];
|
|
9
|
+
export type ListOrgSitesOptions = PaginationOptions & SortingOptions<operations['Sites_Index']> & FilterOptions<operations['Sites_Index']>;
|
|
10
|
+
export type ListOrgInboxesOptions = PaginationOptions & SortingOptions<operations['Organization Inboxes_Index']> & FilterOptions<operations['Organization Inboxes_Index']>;
|
|
11
|
+
export type ListOrgDamsOptions = PaginationOptions & SortingOptions<operations['DAMs_Index']> & FilterOptions<operations['DAMs_Index']>;
|
|
9
12
|
export type CreateInboxOptions = operations['Organization Inboxes_Create']['requestBody']['content']['application/json'];
|
|
10
13
|
export type CreateDamOptions = operations['DAMs_Create']['requestBody']['content']['application/json'];
|
|
11
14
|
export declare class OrgClient {
|
|
12
15
|
#private;
|
|
13
16
|
constructor(uuid: string, client: CloudCannonClient);
|
|
14
|
-
sites(options?:
|
|
17
|
+
sites(options?: ListOrgSitesOptions): Promise<PaginatedResponse<Site>>;
|
|
15
18
|
createSite(name: string, stableDomain?: string): Promise<Site>;
|
|
16
19
|
connectSite(name: string, providerDetails: ConnectSiteOptions, stableDomain?: string): Promise<Site>;
|
|
17
20
|
get(): Promise<Org>;
|
|
18
|
-
getInboxes(options?:
|
|
21
|
+
getInboxes(options?: ListOrgInboxesOptions): Promise<PaginatedResponse<Inbox>>;
|
|
19
22
|
createInbox(body: CreateInboxOptions): Promise<Inbox>;
|
|
20
|
-
getDams(options?:
|
|
23
|
+
getDams(options?: ListOrgDamsOptions): Promise<PaginatedResponse<Dam>>;
|
|
21
24
|
createDam(body: CreateDamOptions): Promise<Dam>;
|
|
22
25
|
getRepositories(provider: Provider): Promise<Repository[]>;
|
|
23
26
|
}
|
package/dist/src/site.d.ts
CHANGED
|
@@ -23,6 +23,9 @@ export type BuildConfiguration = Partial<Omit<operations['Sites_UpdateBuild']['r
|
|
|
23
23
|
};
|
|
24
24
|
export type UpdateSiteOptions = operations['Sites_Update']['requestBody']['content']['application/json'];
|
|
25
25
|
export type CopySiteOptions = operations['Sites_Copy']['requestBody']['content']['application/json'];
|
|
26
|
+
export type ListSiteBuildsOptions = PaginationOptions & SortingOptions<operations['Builds_Index']> & FilterOptions<operations['Builds_Index']>;
|
|
27
|
+
export type ListSiteBackupsOptions = PaginationOptions & SortingOptions<operations['Backups_Index']> & FilterOptions<operations['Backups_Index']>;
|
|
28
|
+
export type ListSiteSyncsOptions = PaginationOptions & SortingOptions<operations['Syncs_Index']> & FilterOptions<operations['Syncs_Index']>;
|
|
26
29
|
export type CreateBackupOptions = operations['Backups_Create']['requestBody']['content']['application/json'];
|
|
27
30
|
export type ConnectInboxOptions = operations['Site Inboxes_Create']['requestBody']['content']['application/json'];
|
|
28
31
|
export type ConnectDamOptions = operations['Dams_Create']['requestBody']['content']['application/json'];
|
|
@@ -39,15 +42,15 @@ export declare class SiteClient {
|
|
|
39
42
|
delete(): Promise<void>;
|
|
40
43
|
copy(body: CopySiteOptions): Promise<Site>;
|
|
41
44
|
updateBuildConfig(options: BuildConfiguration): Promise<Site>;
|
|
42
|
-
getBuilds(options?:
|
|
45
|
+
getBuilds(options?: ListSiteBuildsOptions): Promise<PaginatedResponse<Build>>;
|
|
43
46
|
rebuild(): Promise<void>;
|
|
44
|
-
listBackups(options?:
|
|
47
|
+
listBackups(options?: ListSiteBackupsOptions): Promise<PaginatedResponse<Backup>>;
|
|
45
48
|
createBackup(body?: CreateBackupOptions): Promise<{
|
|
46
49
|
socket_message_id?: string;
|
|
47
50
|
}>;
|
|
48
51
|
listFiles(): Promise<FileListing[]>;
|
|
49
52
|
getFile(path: string): Promise<Response>;
|
|
50
|
-
getSyncs(options?:
|
|
53
|
+
getSyncs(options?: ListSiteSyncsOptions): Promise<PaginatedResponse<Sync>>;
|
|
51
54
|
getScan(): Promise<SiteScan>;
|
|
52
55
|
getScreenshotHashes(): Promise<Record<string, string>>;
|
|
53
56
|
getScreenshot(device: 'desktop' | 'mobile', path: string): Promise<Response>;
|
|
@@ -64,4 +67,5 @@ export declare class SiteClient {
|
|
|
64
67
|
createEditingSession(): Promise<EditingSession>;
|
|
65
68
|
getLatestEditingSession(): Promise<EditingSession>;
|
|
66
69
|
uploadFile(path: string, content: BlobPart, options?: UploadFileOptions): Promise<void>;
|
|
70
|
+
triggerPull(): Promise<void>;
|
|
67
71
|
}
|
package/dist/src/site.js
CHANGED
|
@@ -369,4 +369,13 @@ export class SiteClient {
|
|
|
369
369
|
previous_content_hash: contentHash,
|
|
370
370
|
});
|
|
371
371
|
}
|
|
372
|
+
async triggerPull() {
|
|
373
|
+
const resp = await this.#client.fetch(`/sites/${this.#uuid}/providers/sync`, {
|
|
374
|
+
method: 'POST',
|
|
375
|
+
});
|
|
376
|
+
if (resp.status === 422) {
|
|
377
|
+
const errorResp = await resp.json();
|
|
378
|
+
throw new ApiError('Error triggering pull on site. Invalid request', errorResp.errors, `/sites/${this.#uuid}/providers/sync`, { method: 'POST' }, resp.status);
|
|
379
|
+
}
|
|
380
|
+
}
|
|
372
381
|
}
|