@visus-io/notion-sdk-ts 2.0.0 → 2.1.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.
- package/README.md +66 -921
- package/dist/api/base.api.d.ts +161 -0
- package/dist/api/base.api.js +228 -0
- package/dist/api/blocks.api.d.ts +3867 -4
- package/dist/api/blocks.api.js +16 -47
- package/dist/api/comments.api.d.ts +259 -4
- package/dist/api/comments.api.js +11 -29
- package/dist/api/dataSources.api.d.ts +788 -4
- package/dist/api/dataSources.api.js +14 -28
- package/dist/api/databases.api.d.ts +491 -4
- package/dist/api/databases.api.js +20 -45
- package/dist/api/fileUploads.api.d.ts +25 -3
- package/dist/api/fileUploads.api.js +7 -2
- package/dist/api/index.d.ts +0 -1
- package/dist/api/index.js +0 -1
- package/dist/api/pages.api.d.ts +864 -3
- package/dist/api/pages.api.js +14 -28
- package/dist/api/search.api.d.ts +0 -1
- package/dist/api/search.api.js +5 -11
- package/dist/api/users.api.d.ts +40 -4
- package/dist/api/users.api.js +12 -35
- package/dist/client.d.ts +0 -1
- package/dist/client.js +0 -1
- package/dist/errors.d.ts +0 -1
- package/dist/errors.js +0 -1
- package/dist/helpers/block.helpers.d.ts +4 -1
- package/dist/helpers/block.helpers.js +11 -1
- package/dist/helpers/file.helpers.d.ts +0 -1
- package/dist/helpers/file.helpers.js +0 -1
- package/dist/helpers/filter.helpers.d.ts +0 -1
- package/dist/helpers/filter.helpers.js +0 -1
- package/dist/helpers/index.d.ts +0 -1
- package/dist/helpers/index.js +0 -1
- package/dist/helpers/pagination.helpers.d.ts +0 -1
- package/dist/helpers/pagination.helpers.js +0 -1
- package/dist/helpers/parent.helpers.d.ts +0 -1
- package/dist/helpers/parent.helpers.js +0 -1
- package/dist/helpers/property.helpers.d.ts +0 -1
- package/dist/helpers/property.helpers.js +0 -1
- package/dist/helpers/richText.helpers.d.ts +0 -1
- package/dist/helpers/richText.helpers.js +0 -1
- package/dist/helpers/sort.helpers.d.ts +0 -1
- package/dist/helpers/sort.helpers.js +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/models/base.model.d.ts +2 -3
- package/dist/models/base.model.js +0 -1
- package/dist/models/block.model.d.ts +0 -1
- package/dist/models/block.model.js +0 -1
- package/dist/models/comment.model.d.ts +0 -1
- package/dist/models/comment.model.js +0 -1
- package/dist/models/dataSource.model.d.ts +0 -1
- package/dist/models/dataSource.model.js +0 -1
- package/dist/models/database.model.d.ts +0 -1
- package/dist/models/database.model.js +0 -1
- package/dist/models/fileUpload.model.d.ts +0 -1
- package/dist/models/fileUpload.model.js +0 -1
- package/dist/models/index.d.ts +0 -1
- package/dist/models/index.js +0 -1
- package/dist/models/page.model.d.ts +0 -1
- package/dist/models/page.model.js +0 -1
- package/dist/models/richText.model.d.ts +0 -1
- package/dist/models/richText.model.js +0 -1
- package/dist/models/user.model.d.ts +0 -1
- package/dist/models/user.model.js +0 -1
- package/dist/notion.d.ts +0 -1
- package/dist/notion.js +0 -1
- package/dist/schemas/block.schema.d.ts +261 -82
- package/dist/schemas/block.schema.js +157 -82
- package/dist/schemas/codeLanguages.d.ts +0 -1
- package/dist/schemas/codeLanguages.js +0 -1
- package/dist/schemas/colors.d.ts +0 -1
- package/dist/schemas/colors.js +0 -1
- package/dist/schemas/comment.schema.d.ts +9 -10
- package/dist/schemas/comment.schema.js +54 -21
- package/dist/schemas/dataSource.schema.d.ts +13 -14
- package/dist/schemas/dataSource.schema.js +46 -13
- package/dist/schemas/database.schema.d.ts +13 -14
- package/dist/schemas/database.schema.js +51 -18
- package/dist/schemas/emoji.schema.d.ts +1 -2
- package/dist/schemas/emoji.schema.js +37 -5
- package/dist/schemas/file.schema.d.ts +3 -4
- package/dist/schemas/file.schema.js +49 -16
- package/dist/schemas/fileUpload.schema.d.ts +3 -4
- package/dist/schemas/fileUpload.schema.js +47 -14
- package/dist/schemas/index.d.ts +1 -1
- package/dist/schemas/index.js +1 -1
- package/dist/schemas/page.schema.d.ts +30 -31
- package/dist/schemas/page.schema.js +47 -14
- package/dist/schemas/pageProperties.schema.d.ts +47 -48
- package/dist/schemas/pageProperties.schema.js +162 -129
- package/dist/schemas/pagination.schema.d.ts +1 -2
- package/dist/schemas/pagination.schema.js +40 -8
- package/dist/schemas/parent.schema.d.ts +1 -2
- package/dist/schemas/parent.schema.js +51 -19
- package/dist/schemas/propertyObjects.schema.d.ts +1 -2
- package/dist/schemas/propertyObjects.schema.js +194 -162
- package/dist/schemas/richText.schema.d.ts +7 -8
- package/dist/schemas/richText.schema.js +95 -57
- package/dist/schemas/shared.schema.d.ts +15 -0
- package/dist/schemas/shared.schema.js +54 -0
- package/dist/schemas/user.schema.d.ts +3 -4
- package/dist/schemas/user.schema.js +63 -31
- package/dist/validation.d.ts +0 -1
- package/dist/validation.js +0 -1
- package/package.json +3 -1
- package/dist/api/blocks.api.d.ts.map +0 -1
- package/dist/api/blocks.api.js.map +0 -1
- package/dist/api/comments.api.d.ts.map +0 -1
- package/dist/api/comments.api.js.map +0 -1
- package/dist/api/dataSources.api.d.ts.map +0 -1
- package/dist/api/dataSources.api.js.map +0 -1
- package/dist/api/databases.api.d.ts.map +0 -1
- package/dist/api/databases.api.js.map +0 -1
- package/dist/api/fileUploads.api.d.ts.map +0 -1
- package/dist/api/fileUploads.api.js.map +0 -1
- package/dist/api/index.d.ts.map +0 -1
- package/dist/api/index.js.map +0 -1
- package/dist/api/pages.api.d.ts.map +0 -1
- package/dist/api/pages.api.js.map +0 -1
- package/dist/api/search.api.d.ts.map +0 -1
- package/dist/api/search.api.js.map +0 -1
- package/dist/api/users.api.d.ts.map +0 -1
- package/dist/api/users.api.js.map +0 -1
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js.map +0 -1
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js.map +0 -1
- package/dist/helpers/block.helpers.d.ts.map +0 -1
- package/dist/helpers/block.helpers.js.map +0 -1
- package/dist/helpers/file.helpers.d.ts.map +0 -1
- package/dist/helpers/file.helpers.js.map +0 -1
- package/dist/helpers/filter.helpers.d.ts.map +0 -1
- package/dist/helpers/filter.helpers.js.map +0 -1
- package/dist/helpers/index.d.ts.map +0 -1
- package/dist/helpers/index.js.map +0 -1
- package/dist/helpers/pagination.helpers.d.ts.map +0 -1
- package/dist/helpers/pagination.helpers.js.map +0 -1
- package/dist/helpers/parent.helpers.d.ts.map +0 -1
- package/dist/helpers/parent.helpers.js.map +0 -1
- package/dist/helpers/property.helpers.d.ts.map +0 -1
- package/dist/helpers/property.helpers.js.map +0 -1
- package/dist/helpers/richText.helpers.d.ts.map +0 -1
- package/dist/helpers/richText.helpers.js.map +0 -1
- package/dist/helpers/sort.helpers.d.ts.map +0 -1
- package/dist/helpers/sort.helpers.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/models/base.model.d.ts.map +0 -1
- package/dist/models/base.model.js.map +0 -1
- package/dist/models/block.model.d.ts.map +0 -1
- package/dist/models/block.model.js.map +0 -1
- package/dist/models/comment.model.d.ts.map +0 -1
- package/dist/models/comment.model.js.map +0 -1
- package/dist/models/dataSource.model.d.ts.map +0 -1
- package/dist/models/dataSource.model.js.map +0 -1
- package/dist/models/database.model.d.ts.map +0 -1
- package/dist/models/database.model.js.map +0 -1
- package/dist/models/fileUpload.model.d.ts.map +0 -1
- package/dist/models/fileUpload.model.js.map +0 -1
- package/dist/models/index.d.ts.map +0 -1
- package/dist/models/index.js.map +0 -1
- package/dist/models/page.model.d.ts.map +0 -1
- package/dist/models/page.model.js.map +0 -1
- package/dist/models/richText.model.d.ts.map +0 -1
- package/dist/models/richText.model.js.map +0 -1
- package/dist/models/user.model.d.ts.map +0 -1
- package/dist/models/user.model.js.map +0 -1
- package/dist/notion.d.ts.map +0 -1
- package/dist/notion.js.map +0 -1
- package/dist/schemas/block.schema.d.ts.map +0 -1
- package/dist/schemas/block.schema.js.map +0 -1
- package/dist/schemas/codeLanguages.d.ts.map +0 -1
- package/dist/schemas/codeLanguages.js.map +0 -1
- package/dist/schemas/colors.d.ts.map +0 -1
- package/dist/schemas/colors.js.map +0 -1
- package/dist/schemas/comment.schema.d.ts.map +0 -1
- package/dist/schemas/comment.schema.js.map +0 -1
- package/dist/schemas/dataSource.schema.d.ts.map +0 -1
- package/dist/schemas/dataSource.schema.js.map +0 -1
- package/dist/schemas/database.schema.d.ts.map +0 -1
- package/dist/schemas/database.schema.js.map +0 -1
- package/dist/schemas/emoji.schema.d.ts.map +0 -1
- package/dist/schemas/emoji.schema.js.map +0 -1
- package/dist/schemas/file.schema.d.ts.map +0 -1
- package/dist/schemas/file.schema.js.map +0 -1
- package/dist/schemas/fileUpload.schema.d.ts.map +0 -1
- package/dist/schemas/fileUpload.schema.js.map +0 -1
- package/dist/schemas/index.d.ts.map +0 -1
- package/dist/schemas/index.js.map +0 -1
- package/dist/schemas/page.schema.d.ts.map +0 -1
- package/dist/schemas/page.schema.js.map +0 -1
- package/dist/schemas/pageProperties.schema.d.ts.map +0 -1
- package/dist/schemas/pageProperties.schema.js.map +0 -1
- package/dist/schemas/pagination.schema.d.ts.map +0 -1
- package/dist/schemas/pagination.schema.js.map +0 -1
- package/dist/schemas/parent.schema.d.ts.map +0 -1
- package/dist/schemas/parent.schema.js.map +0 -1
- package/dist/schemas/propertyObjects.schema.d.ts.map +0 -1
- package/dist/schemas/propertyObjects.schema.js.map +0 -1
- package/dist/schemas/richText.schema.d.ts.map +0 -1
- package/dist/schemas/richText.schema.js.map +0 -1
- package/dist/schemas/user.schema.d.ts.map +0 -1
- package/dist/schemas/user.schema.js.map +0 -1
- package/dist/validation.d.ts.map +0 -1
- package/dist/validation.js.map +0 -1
|
@@ -4,12 +4,19 @@ exports.DatabasesAPI = void 0;
|
|
|
4
4
|
const schemas_1 = require("../schemas");
|
|
5
5
|
const models_1 = require("../models");
|
|
6
6
|
const validation_1 = require("../validation");
|
|
7
|
+
const base_api_1 = require("./base.api");
|
|
7
8
|
/**
|
|
8
9
|
* Databases API client for working with Notion databases.
|
|
9
10
|
*/
|
|
10
|
-
class DatabasesAPI {
|
|
11
|
+
class DatabasesAPI extends base_api_1.BaseAPI {
|
|
11
12
|
constructor(client) {
|
|
13
|
+
super(client);
|
|
12
14
|
this.client = client;
|
|
15
|
+
this.config = {
|
|
16
|
+
schema: schemas_1.databaseSchema,
|
|
17
|
+
ModelClass: models_1.Database,
|
|
18
|
+
listType: 'database',
|
|
19
|
+
};
|
|
13
20
|
}
|
|
14
21
|
/**
|
|
15
22
|
* Retrieve a database by ID.
|
|
@@ -21,18 +28,10 @@ class DatabasesAPI {
|
|
|
21
28
|
* @see https://developers.notion.com/reference/retrieve-a-database
|
|
22
29
|
*/
|
|
23
30
|
async retrieve(databaseId, options) {
|
|
24
|
-
const query = {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
const response = await this.client.request({
|
|
30
|
-
method: 'GET',
|
|
31
|
-
path: `/databases/${databaseId}`,
|
|
32
|
-
query: Object.keys(query).length > 0 ? query : undefined,
|
|
33
|
-
});
|
|
34
|
-
const parsed = schemas_1.databaseSchema.parse(response);
|
|
35
|
-
return new models_1.Database(parsed);
|
|
31
|
+
const query = {
|
|
32
|
+
...this.buildFilterPropertiesQuery(options?.filter_properties),
|
|
33
|
+
};
|
|
34
|
+
return this.retrieveResource(`/databases/${databaseId}`, query);
|
|
36
35
|
}
|
|
37
36
|
/**
|
|
38
37
|
* Query a database with optional filters and sorts.
|
|
@@ -45,23 +44,12 @@ class DatabasesAPI {
|
|
|
45
44
|
* @see https://developers.notion.com/reference/post-database-query
|
|
46
45
|
*/
|
|
47
46
|
async query(databaseId, options) {
|
|
48
|
-
const body = {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
if (options?.page_size) {
|
|
56
|
-
body.page_size = options.page_size;
|
|
57
|
-
}
|
|
58
|
-
if (options?.start_cursor) {
|
|
59
|
-
body.start_cursor = options.start_cursor;
|
|
60
|
-
}
|
|
61
|
-
if (options?.filter_properties) {
|
|
62
|
-
(0, validation_1.validateArrayLength)(options.filter_properties, validation_1.LIMITS.ARRAY_ELEMENTS, 'filter_properties');
|
|
63
|
-
body.filter_properties = options.filter_properties;
|
|
64
|
-
}
|
|
47
|
+
const body = {
|
|
48
|
+
...(options?.filter ? { filter: options.filter } : {}),
|
|
49
|
+
...(options?.sorts ? { sorts: options.sorts } : {}),
|
|
50
|
+
...this.buildPaginationBody(options),
|
|
51
|
+
...this.buildFilterPropertiesBody(options?.filter_properties),
|
|
52
|
+
};
|
|
65
53
|
const response = await this.client.request({
|
|
66
54
|
method: 'POST',
|
|
67
55
|
path: `/databases/${databaseId}/query`,
|
|
@@ -95,13 +83,7 @@ class DatabasesAPI {
|
|
|
95
83
|
if (options.initial_data_source.title) {
|
|
96
84
|
(0, validation_1.validateArrayLength)(options.initial_data_source.title, validation_1.LIMITS.ARRAY_ELEMENTS, 'initial_data_source.title');
|
|
97
85
|
}
|
|
98
|
-
|
|
99
|
-
method: 'POST',
|
|
100
|
-
path: '/databases',
|
|
101
|
-
body: options,
|
|
102
|
-
});
|
|
103
|
-
const parsed = schemas_1.databaseSchema.parse(response);
|
|
104
|
-
return new models_1.Database(parsed);
|
|
86
|
+
return this.createResource('/databases', options);
|
|
105
87
|
}
|
|
106
88
|
/**
|
|
107
89
|
* Update a database's properties, title, description, or archived status.
|
|
@@ -116,13 +98,7 @@ class DatabasesAPI {
|
|
|
116
98
|
if (options.title) {
|
|
117
99
|
(0, validation_1.validateArrayLength)(options.title, validation_1.LIMITS.ARRAY_ELEMENTS, 'title');
|
|
118
100
|
}
|
|
119
|
-
|
|
120
|
-
method: 'PATCH',
|
|
121
|
-
path: `/databases/${databaseId}`,
|
|
122
|
-
body: options,
|
|
123
|
-
});
|
|
124
|
-
const parsed = schemas_1.databaseSchema.parse(response);
|
|
125
|
-
return new models_1.Database(parsed);
|
|
101
|
+
return this.updateResource(`/databases/${databaseId}`, options);
|
|
126
102
|
}
|
|
127
103
|
/**
|
|
128
104
|
* Archive a database (convenience method).
|
|
@@ -144,4 +120,3 @@ class DatabasesAPI {
|
|
|
144
120
|
}
|
|
145
121
|
}
|
|
146
122
|
exports.DatabasesAPI = DatabasesAPI;
|
|
147
|
-
//# sourceMappingURL=databases.api.js.map
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { NotionClient } from '../client';
|
|
2
|
+
import { type NotionFileUpload } from '../schemas';
|
|
2
3
|
import { FileUpload } from '../models';
|
|
4
|
+
import { BaseAPI } from './base.api';
|
|
3
5
|
/**
|
|
4
6
|
* Options for initiating a file upload.
|
|
5
7
|
*/
|
|
@@ -18,8 +20,29 @@ export type FileData = Buffer | ArrayBuffer | Blob | ReadableStream;
|
|
|
18
20
|
/**
|
|
19
21
|
* FileUploads API client for uploading files to Notion.
|
|
20
22
|
*/
|
|
21
|
-
export declare class FileUploadsAPI {
|
|
22
|
-
|
|
23
|
+
export declare class FileUploadsAPI extends BaseAPI<NotionFileUpload, FileUpload> {
|
|
24
|
+
protected readonly client: NotionClient;
|
|
25
|
+
protected config: {
|
|
26
|
+
schema: import("zod").ZodObject<{
|
|
27
|
+
object: import("zod").ZodLiteral<"file_upload">;
|
|
28
|
+
id: import("zod").ZodUUID;
|
|
29
|
+
created_time: import("zod").ZodUnion<readonly [import("zod").ZodISODateTime, import("zod").ZodISODate]>;
|
|
30
|
+
expiry_time: import("zod").ZodNullable<import("zod").ZodUnion<readonly [import("zod").ZodISODateTime, import("zod").ZodISODate]>>;
|
|
31
|
+
status: import("zod").ZodEnum<{
|
|
32
|
+
pending: "pending";
|
|
33
|
+
uploaded: "uploaded";
|
|
34
|
+
expired: "expired";
|
|
35
|
+
failed: "failed";
|
|
36
|
+
}>;
|
|
37
|
+
filename: import("zod").ZodString;
|
|
38
|
+
content_type: import("zod").ZodNullable<import("zod").ZodString>;
|
|
39
|
+
content_length: import("zod").ZodNullable<import("zod").ZodNumber>;
|
|
40
|
+
upload_url: import("zod").ZodString;
|
|
41
|
+
complete_url: import("zod").ZodString;
|
|
42
|
+
file_import_result: import("zod").ZodString;
|
|
43
|
+
}, import("zod/v4/core").$strip>;
|
|
44
|
+
ModelClass: typeof FileUpload;
|
|
45
|
+
};
|
|
23
46
|
constructor(client: NotionClient);
|
|
24
47
|
/**
|
|
25
48
|
* Initiate a file upload and get the upload URL.
|
|
@@ -70,4 +93,3 @@ export declare class FileUploadsAPI {
|
|
|
70
93
|
*/
|
|
71
94
|
retrieve(fileUploadId: string): Promise<FileUpload>;
|
|
72
95
|
}
|
|
73
|
-
//# sourceMappingURL=fileUploads.api.d.ts.map
|
|
@@ -3,12 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.FileUploadsAPI = void 0;
|
|
4
4
|
const schemas_1 = require("../schemas");
|
|
5
5
|
const models_1 = require("../models");
|
|
6
|
+
const base_api_1 = require("./base.api");
|
|
6
7
|
/**
|
|
7
8
|
* FileUploads API client for uploading files to Notion.
|
|
8
9
|
*/
|
|
9
|
-
class FileUploadsAPI {
|
|
10
|
+
class FileUploadsAPI extends base_api_1.BaseAPI {
|
|
10
11
|
constructor(client) {
|
|
12
|
+
super(client);
|
|
11
13
|
this.client = client;
|
|
14
|
+
this.config = {
|
|
15
|
+
schema: schemas_1.fileUploadSchema,
|
|
16
|
+
ModelClass: models_1.FileUpload,
|
|
17
|
+
};
|
|
12
18
|
}
|
|
13
19
|
/**
|
|
14
20
|
* Initiate a file upload and get the upload URL.
|
|
@@ -119,4 +125,3 @@ class FileUploadsAPI {
|
|
|
119
125
|
}
|
|
120
126
|
}
|
|
121
127
|
exports.FileUploadsAPI = FileUploadsAPI;
|
|
122
|
-
//# sourceMappingURL=fileUploads.api.js.map
|
package/dist/api/index.d.ts
CHANGED
package/dist/api/index.js
CHANGED
|
@@ -17,4 +17,3 @@ var search_api_1 = require("./search.api");
|
|
|
17
17
|
Object.defineProperty(exports, "SearchAPI", { enumerable: true, get: function () { return search_api_1.SearchAPI; } });
|
|
18
18
|
var users_api_1 = require("./users.api");
|
|
19
19
|
Object.defineProperty(exports, "UsersAPI", { enumerable: true, get: function () { return users_api_1.UsersAPI; } });
|
|
20
|
-
//# sourceMappingURL=index.js.map
|