@nx-ddd/notion 19.0.0-preview.28 → 19.0.0-preview.3
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 +11 -0
- package/_testing/entity.d.ts +20 -0
- package/_testing/entity.js +44 -0
- package/_testing/entity.js.map +1 -0
- package/_testing/index.d.ts +1 -0
- package/_testing/index.js +5 -0
- package/_testing/index.js.map +1 -0
- package/converter/converter.js +37 -0
- package/converter/converter.js.map +1 -0
- package/converter/index.js +5 -0
- package/converter/index.js.map +1 -0
- package/decorators/decorators.js +58 -0
- package/decorators/decorators.js.map +1 -0
- package/decorators/index.js +5 -0
- package/decorators/index.js.map +1 -0
- package/index.d.ts +0 -1
- package/index.js +10 -0
- package/index.js.map +1 -0
- package/notion/index.js +5 -0
- package/notion/index.js.map +1 -0
- package/notion/notion.service.impl.d.ts +0 -5
- package/notion/notion.service.impl.js +142 -0
- package/notion/notion.service.impl.js.map +1 -0
- package/notion/notion.service.js +12 -0
- package/notion/notion.service.js.map +1 -0
- package/package.json +12 -18
- package/query/index.js +5 -0
- package/query/index.js.map +1 -0
- package/query/query.js +122 -0
- package/query/query.js.map +1 -0
- package/query-builder/index.js +5 -0
- package/query-builder/index.js.map +1 -0
- package/query-builder/query-builder.js +30 -0
- package/query-builder/query-builder.js.map +1 -0
- package/repository/index.js +5 -0
- package/repository/index.js.map +1 -0
- package/repository/repository.d.ts +5 -17
- package/repository/repository.js +112 -0
- package/repository/repository.js.map +1 -0
- package/utils.js +184 -0
- package/utils.js.map +1 -0
- package/fesm2022/nx-ddd-notion.mjs +0 -525
- package/fesm2022/nx-ddd-notion.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/notion/src/lib/query-builder/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NotionQueryBuilder = void 0;
|
|
4
|
+
class NotionQueryBuilder {
|
|
5
|
+
constructor() { }
|
|
6
|
+
build(filterQuery, sortQuery) {
|
|
7
|
+
return Object.assign(Object.assign({}, (filterQuery ? this.buildFilterQuery(filterQuery) : {})), (sortQuery ? this.buildSortQuery(sortQuery) : {}));
|
|
8
|
+
}
|
|
9
|
+
buildSortQuery(query) {
|
|
10
|
+
if (query.type === 'sort') {
|
|
11
|
+
return { sorts: [query.build()] };
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
return {};
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
buildFilterQuery(query) {
|
|
18
|
+
if (query.type === 'filter') {
|
|
19
|
+
return { filter: { and: [query.build()] } };
|
|
20
|
+
}
|
|
21
|
+
else if (['and', 'or'].includes(query.type)) {
|
|
22
|
+
return { filter: query.build() };
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
return {};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.NotionQueryBuilder = NotionQueryBuilder;
|
|
30
|
+
//# sourceMappingURL=query-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/notion/src/lib/query-builder/query-builder.ts"],"names":[],"mappings":";;;AAEA,MAAa,kBAAkB;IAC7B,gBAAgB,CAAC;IAEjB,KAAK,CAAC,WAA6B,EAAE,SAA2B;QAC9D,uCACK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GACvD,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EACrD;IACH,CAAC;IAES,cAAc,CAAC,KAAsB;QAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAES,gBAAgB,CAAC,KAAsB;QAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,CAAC;aAAM,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AA3BD,gDA2BC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/notion/src/lib/repository/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { Client } from '@notionhq/client';
|
|
2
|
-
import { Entity } from '@nx-ddd/common/domain';
|
|
3
|
-
import { Repository } from '@nx-ddd/common/domain';
|
|
2
|
+
import { Entity } from '@nx-ddd/common/domain/models';
|
|
3
|
+
import { Repository } from '@nx-ddd/common/domain/repository';
|
|
4
4
|
import { InjectionToken } from '@angular/core';
|
|
5
5
|
import { NotionConverter } from '../converter';
|
|
6
6
|
import { NotionBaseQuery } from '../query';
|
|
7
7
|
import { NotionQueryBuilder } from '../query-builder';
|
|
8
|
-
import { Observable } from 'rxjs';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
8
|
export declare const NOTION_ACCESS_TOKEN: InjectionToken<string>;
|
|
11
9
|
export declare const NOTION_DATABASE_ID: InjectionToken<unknown>;
|
|
12
10
|
export declare function provideNotionConfig(config: {
|
|
@@ -16,15 +14,16 @@ export declare function provideNotionConfig(config: {
|
|
|
16
14
|
useValue: string;
|
|
17
15
|
};
|
|
18
16
|
export declare abstract class NotionRepository<E extends Entity> extends Repository<E> {
|
|
17
|
+
protected token: string;
|
|
19
18
|
protected abstract databaseId: string;
|
|
20
19
|
protected abstract converter: NotionConverter<E>;
|
|
21
|
-
protected token: string;
|
|
22
20
|
protected client: Client;
|
|
23
21
|
protected queryBuilder: NotionQueryBuilder;
|
|
24
22
|
protected get parent(): {
|
|
25
23
|
type: 'database_id';
|
|
26
24
|
database_id: string;
|
|
27
25
|
};
|
|
26
|
+
constructor(token: string);
|
|
28
27
|
query(filterQuery?: NotionBaseQuery, sortQuery?: NotionBaseQuery, startCursor?: string, pageSize?: number): Promise<{
|
|
29
28
|
results: E[];
|
|
30
29
|
nextCursor: string;
|
|
@@ -38,23 +37,12 @@ export declare abstract class NotionRepository<E extends Entity> extends Reposit
|
|
|
38
37
|
list({ batchSize, }?: {
|
|
39
38
|
batchSize?: number;
|
|
40
39
|
}): Promise<E[]>;
|
|
41
|
-
listChanges(): Observable<E[]>;
|
|
42
40
|
get({ id }: {
|
|
43
41
|
id: string;
|
|
44
42
|
}): Promise<E>;
|
|
45
|
-
create(entity:
|
|
46
|
-
createMany(data: Omit<E, 'id' | 'createdAt' | 'updatedAt'>[]): Promise<E[]>;
|
|
43
|
+
create(entity: Partial<E>): Promise<E>;
|
|
47
44
|
update(entity: Partial<E>): Promise<void>;
|
|
48
|
-
save(data: Partial<E>): Promise<boolean | [E, boolean]>;
|
|
49
|
-
saveMany(entities: E[]): Promise<void>;
|
|
50
|
-
updateMany(data: Partial<E>[]): Promise<void>;
|
|
51
45
|
delete({ id }: {
|
|
52
46
|
id: string;
|
|
53
47
|
}): Promise<void>;
|
|
54
|
-
deleteMany(params: {
|
|
55
|
-
id: string;
|
|
56
|
-
}[]): Promise<number>;
|
|
57
|
-
deleteAll(): Promise<void>;
|
|
58
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NotionRepository<any>, never>;
|
|
59
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<NotionRepository<any>>;
|
|
60
48
|
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NotionRepository = exports.NOTION_DATABASE_ID = exports.NOTION_ACCESS_TOKEN = void 0;
|
|
4
|
+
exports.provideNotionConfig = provideNotionConfig;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const client_1 = require("@notionhq/client");
|
|
7
|
+
const repository_1 = require("@nx-ddd/common/domain/repository");
|
|
8
|
+
const core_1 = require("@angular/core");
|
|
9
|
+
const query_builder_1 = require("../query-builder");
|
|
10
|
+
exports.NOTION_ACCESS_TOKEN = new core_1.InjectionToken('[@nx-ddd/notion] Notion Access Token');
|
|
11
|
+
exports.NOTION_DATABASE_ID = new core_1.InjectionToken('[@nx-ddd/notion] Notion Database Id');
|
|
12
|
+
function provideNotionConfig(config) {
|
|
13
|
+
return { provide: exports.NOTION_ACCESS_TOKEN, useValue: config.accessToken };
|
|
14
|
+
}
|
|
15
|
+
let NotionRepository = class NotionRepository extends repository_1.Repository {
|
|
16
|
+
get parent() {
|
|
17
|
+
return { type: 'database_id', database_id: this.databaseId };
|
|
18
|
+
}
|
|
19
|
+
constructor(token) {
|
|
20
|
+
super();
|
|
21
|
+
this.token = token;
|
|
22
|
+
this.client = new client_1.Client({ auth: this.token });
|
|
23
|
+
this.queryBuilder = new query_builder_1.NotionQueryBuilder();
|
|
24
|
+
}
|
|
25
|
+
query(filterQuery, sortQuery, startCursor, pageSize) {
|
|
26
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
try {
|
|
28
|
+
const obj = this.queryBuilder.build(filterQuery, sortQuery);
|
|
29
|
+
const res = yield this.client.databases.query(Object.assign(Object.assign({ database_id: this.databaseId }, obj), { start_cursor: startCursor, page_size: pageSize }));
|
|
30
|
+
return {
|
|
31
|
+
results: res.results.map(result => this.converter.fromNotion(result)),
|
|
32
|
+
nextCursor: res.next_cursor,
|
|
33
|
+
hasMore: res.has_more,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
throw error;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
queryV2(args) {
|
|
42
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
try {
|
|
44
|
+
const res = yield this.client.databases.query(Object.assign({ database_id: this.databaseId }, (args !== null && args !== void 0 ? args : {})));
|
|
45
|
+
return {
|
|
46
|
+
results: res.results.map(result => this.converter.fromNotion(result)),
|
|
47
|
+
nextCursor: res.next_cursor,
|
|
48
|
+
hasMore: res.has_more,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
throw error;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
list() {
|
|
57
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ batchSize = 100, } = {}) {
|
|
58
|
+
const orders = [];
|
|
59
|
+
let nextCursor;
|
|
60
|
+
while (true) {
|
|
61
|
+
const res = yield this.query(undefined, undefined, nextCursor, batchSize);
|
|
62
|
+
console.debug(res.nextCursor);
|
|
63
|
+
orders.push(...res.results);
|
|
64
|
+
nextCursor = res.nextCursor;
|
|
65
|
+
if (!res.hasMore)
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
return orders;
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
get(_a) {
|
|
72
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ id }) {
|
|
73
|
+
const data = yield this.client.pages.retrieve({ page_id: id });
|
|
74
|
+
return this.converter.fromNotion(data);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
create(entity) {
|
|
78
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
79
|
+
try {
|
|
80
|
+
const res = yield this.client.pages.create({
|
|
81
|
+
parent: this.parent,
|
|
82
|
+
properties: Object.assign({}, this.converter.toNotion(entity)),
|
|
83
|
+
});
|
|
84
|
+
return this.converter.fromNotion(res);
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
throw error;
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
update(entity) {
|
|
92
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
93
|
+
const data = {
|
|
94
|
+
page_id: entity.id,
|
|
95
|
+
properties: Object.assign({}, this.converter.toNotion(entity)),
|
|
96
|
+
};
|
|
97
|
+
yield this.client.pages.update(data);
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
delete(_a) {
|
|
101
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ id }) {
|
|
102
|
+
throw new Error('NotionRepository.delete() is not implemented');
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
exports.NotionRepository = NotionRepository;
|
|
107
|
+
exports.NotionRepository = NotionRepository = tslib_1.__decorate([
|
|
108
|
+
(0, core_1.Injectable)(),
|
|
109
|
+
tslib_1.__param(0, (0, core_1.Inject)(exports.NOTION_ACCESS_TOKEN)),
|
|
110
|
+
tslib_1.__metadata("design:paramtypes", [String])
|
|
111
|
+
], NotionRepository);
|
|
112
|
+
//# sourceMappingURL=repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/notion/src/lib/repository/repository.ts"],"names":[],"mappings":"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"}
|
package/utils.js
ADDED
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NotionUtils = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
|
|
6
|
+
// | NotionCheckbox;
|
|
7
|
+
class NotionUtils {
|
|
8
|
+
static toNotionValue(value, annotation) {
|
|
9
|
+
switch (annotation.type) {
|
|
10
|
+
case 'title': return this.toNotionTitle(value);
|
|
11
|
+
case 'status': return this.toNotionStatus(value);
|
|
12
|
+
case 'relation':
|
|
13
|
+
if (annotation.options.multi) {
|
|
14
|
+
return this.toRelationMulti(value);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
return this.toRelation(value);
|
|
18
|
+
}
|
|
19
|
+
case 'formula': return this.toNotionFormula(value);
|
|
20
|
+
case 'rich_text': return this.toRichText(value);
|
|
21
|
+
case 'rollup': return this.toRollup(value);
|
|
22
|
+
case 'url': return this.toUrl(value);
|
|
23
|
+
case 'date': return this.toDate(value);
|
|
24
|
+
case 'select': return this.toSelect(value);
|
|
25
|
+
case 'number': return this.toNumber(value);
|
|
26
|
+
case 'phone_number': return this.toPhoneNumber(value);
|
|
27
|
+
case 'email': return this.toEmail(value);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
static toNotionTitle(value) {
|
|
31
|
+
return value ? { type: 'title', title: [{ text: { content: value } }] } : undefined;
|
|
32
|
+
}
|
|
33
|
+
static toNotionStatus(value) {
|
|
34
|
+
return value ? { type: 'status', status: { name: value } } : undefined;
|
|
35
|
+
}
|
|
36
|
+
static toRelationMulti(ids) {
|
|
37
|
+
return Array.isArray(ids) ? { type: 'relation', relation: (ids).map(id => ({ id })) } : undefined;
|
|
38
|
+
}
|
|
39
|
+
static toRelation(value) {
|
|
40
|
+
return value ? this.toRelationMulti([value]) : undefined;
|
|
41
|
+
}
|
|
42
|
+
static toRichText(text) {
|
|
43
|
+
return text ? { type: 'rich_text', rich_text: [{ text: { content: text } }] } : undefined;
|
|
44
|
+
}
|
|
45
|
+
static toNotionFormula(value) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
static toRollup(value) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
static toUrl(value) {
|
|
52
|
+
return value ? { type: 'url', url: value } : undefined;
|
|
53
|
+
}
|
|
54
|
+
static toDate(value) {
|
|
55
|
+
// TODO(nontangent): endも考慮する。
|
|
56
|
+
return value ? { type: 'date', date: { start: value.format() } } : undefined;
|
|
57
|
+
}
|
|
58
|
+
static toSelect(value) {
|
|
59
|
+
return value ? { type: 'select', select: { name: value } } : undefined;
|
|
60
|
+
}
|
|
61
|
+
static toPhoneNumber(value) {
|
|
62
|
+
return value ? { type: 'phone_number', phone_number: value } : undefined;
|
|
63
|
+
}
|
|
64
|
+
static toNumber(value) {
|
|
65
|
+
return value ? { type: 'number', number: value } : undefined;
|
|
66
|
+
}
|
|
67
|
+
static toEmail(value) {
|
|
68
|
+
return value ? { type: 'email', email: value } : undefined;
|
|
69
|
+
}
|
|
70
|
+
static fromNotionValue(value, annotation) {
|
|
71
|
+
switch (value.type) {
|
|
72
|
+
case 'title': return this.fromTitle(value);
|
|
73
|
+
case 'formula': return this.fromFormula(value);
|
|
74
|
+
case 'relation':
|
|
75
|
+
if (annotation.options.multi) {
|
|
76
|
+
return this.fromRelationMulti(value);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
return this.fromRelation(value);
|
|
80
|
+
}
|
|
81
|
+
case 'rich_text': return this.fromRichText(value);
|
|
82
|
+
case 'status': return this.fromStatus(value);
|
|
83
|
+
case 'url': return this.fromUrl(value);
|
|
84
|
+
case 'rollup':
|
|
85
|
+
if (annotation.options.multi) {
|
|
86
|
+
return this.fromRollupMulti(value);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return this.fromRollup(value);
|
|
90
|
+
}
|
|
91
|
+
case 'created_time': return this.fromCreatedTime(value);
|
|
92
|
+
case 'last_edited_time': return this.fromLastEditedTime(value);
|
|
93
|
+
case 'date': return this.fromDate(value);
|
|
94
|
+
case 'number': return this.fromNumber(value);
|
|
95
|
+
case 'select': return this.fromSelect(value);
|
|
96
|
+
case 'phone_number': return this.fromPhoneNumber(value);
|
|
97
|
+
case 'email': return this.fromEmail(value);
|
|
98
|
+
case 'unique_id': return this.fromUniqueID(value);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
static fromTitle(notionTitle) {
|
|
102
|
+
var _a, _b, _c, _d;
|
|
103
|
+
return (_d = (_c = (_b = (_a = notionTitle === null || notionTitle === void 0 ? void 0 : notionTitle.title) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.text) === null || _c === void 0 ? void 0 : _c.content) !== null && _d !== void 0 ? _d : '';
|
|
104
|
+
}
|
|
105
|
+
static fromUrl(notionUrl) {
|
|
106
|
+
return notionUrl.url;
|
|
107
|
+
}
|
|
108
|
+
static fromRichText(notionRichText) {
|
|
109
|
+
return notionRichText.rich_text.map(({ plain_text }) => plain_text).join('') || null;
|
|
110
|
+
}
|
|
111
|
+
static fromRelation(notionRelation) {
|
|
112
|
+
var _a, _b;
|
|
113
|
+
return (_b = (_a = this.fromRelationMulti(notionRelation)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : null;
|
|
114
|
+
}
|
|
115
|
+
static fromRelationMulti(notionRelation) {
|
|
116
|
+
return notionRelation.relation.map(r => r.id);
|
|
117
|
+
}
|
|
118
|
+
static fromStatus(notionStatus) {
|
|
119
|
+
var _a, _b;
|
|
120
|
+
return (_b = (_a = notionStatus.status) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : null;
|
|
121
|
+
}
|
|
122
|
+
static fromFormula(notionFormula) {
|
|
123
|
+
var _a;
|
|
124
|
+
switch ((_a = notionFormula.formula) === null || _a === void 0 ? void 0 : _a.type) {
|
|
125
|
+
case 'string': return notionFormula.formula.string;
|
|
126
|
+
case 'number': return notionFormula.formula.number;
|
|
127
|
+
case 'date': return this.fromDate(notionFormula.formula);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
static fromRollup(notionRollup) {
|
|
131
|
+
var _a, _b;
|
|
132
|
+
if (notionRollup.rollup.type === 'number') {
|
|
133
|
+
return this.fromNumber(notionRollup.rollup);
|
|
134
|
+
}
|
|
135
|
+
return (_b = (_a = this.fromRollupMulti(notionRollup)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : null;
|
|
136
|
+
}
|
|
137
|
+
static fromRollupMulti(notionRollup) {
|
|
138
|
+
var _a;
|
|
139
|
+
if (notionRollup.rollup.type === 'number') {
|
|
140
|
+
return [];
|
|
141
|
+
}
|
|
142
|
+
return ((_a = notionRollup.rollup.array) !== null && _a !== void 0 ? _a : []).map(notionValue => {
|
|
143
|
+
var _a, _b;
|
|
144
|
+
if (notionValue.type === 'rich_text') {
|
|
145
|
+
return ((_a = notionValue.rich_text) !== null && _a !== void 0 ? _a : []).map(text => text.plain_text).join();
|
|
146
|
+
}
|
|
147
|
+
else if (notionValue.type === 'number') {
|
|
148
|
+
return (_b = notionValue.number) !== null && _b !== void 0 ? _b : null;
|
|
149
|
+
}
|
|
150
|
+
return [];
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
static fromCreatedTime(notionCreatedTime) {
|
|
154
|
+
return (0, dayjs_1.default)(notionCreatedTime.created_time);
|
|
155
|
+
}
|
|
156
|
+
static fromLastEditedTime(notionLastEditedTime) {
|
|
157
|
+
return (0, dayjs_1.default)(notionLastEditedTime.last_edited_time);
|
|
158
|
+
}
|
|
159
|
+
static fromDate(notionDate) {
|
|
160
|
+
var _a, _b;
|
|
161
|
+
return ((_a = notionDate.date) === null || _a === void 0 ? void 0 : _a.start) ? (0, dayjs_1.default)((_b = notionDate.date) === null || _b === void 0 ? void 0 : _b.start) : null;
|
|
162
|
+
}
|
|
163
|
+
static fromNumber(notionNumber) {
|
|
164
|
+
var _a;
|
|
165
|
+
return (_a = notionNumber.number) !== null && _a !== void 0 ? _a : null;
|
|
166
|
+
}
|
|
167
|
+
static fromSelect(notionSelect) {
|
|
168
|
+
var _a, _b;
|
|
169
|
+
return (_b = (_a = notionSelect.select) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : null;
|
|
170
|
+
}
|
|
171
|
+
static fromPhoneNumber(notionPhoneNumber) {
|
|
172
|
+
var _a;
|
|
173
|
+
return (_a = notionPhoneNumber.phone_number) !== null && _a !== void 0 ? _a : null;
|
|
174
|
+
}
|
|
175
|
+
static fromEmail(notionEmail) {
|
|
176
|
+
var _a;
|
|
177
|
+
return (_a = notionEmail.email) !== null && _a !== void 0 ? _a : null;
|
|
178
|
+
}
|
|
179
|
+
static fromUniqueID(value) {
|
|
180
|
+
return value.unique_id.number;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
exports.NotionUtils = NotionUtils;
|
|
184
|
+
//# sourceMappingURL=utils.js.map
|
package/utils.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../packages/@nx-ddd/notion/src/lib/utils.ts"],"names":[],"mappings":"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"}
|