@konomi-app/kintone-utilities 1.22.1 → 1.23.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.
@@ -0,0 +1,3 @@
1
+ import { kintoneAPI } from '../types/api';
2
+ export declare const api: <T = any>(path: string, method: kintoneAPI.rest.Method, body: any) => Promise<T>;
3
+ export declare const checkBrowser: () => void;
@@ -0,0 +1,9 @@
1
+ export const api = (path, method, body) => {
2
+ return kintone.api(kintone.api.url(path, true), method, body);
3
+ };
4
+ export const checkBrowser = () => {
5
+ if (typeof window === 'undefined') {
6
+ throw new Error('この関数はブラウザでのみ使用できます');
7
+ }
8
+ };
9
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/rest-api/common.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,GAAG,GAAG,CACjB,IAAY,EACZ,MAA8B,EAC9B,IAAS,EACG,EAAE;IACd,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAe,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;KACvC;AACH,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './record';
2
+ export * from './space';
@@ -0,0 +1,3 @@
1
+ export * from './record';
2
+ export * from './space';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rest-api/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,118 @@
1
+ import { kintoneAPI } from '../types/api';
2
+ type App = number | string;
3
+ export declare const backdoor: (props: {
4
+ apiToken: string;
5
+ method: kintoneAPI.rest.Method;
6
+ path: string;
7
+ body?: any;
8
+ }) => Promise<any>;
9
+ export declare const getRecord: <T extends kintoneAPI.rest.Frame = import("@kintone/rest-api-client/lib/client/types").Record>(props: kintoneAPI.rest.RecordGetRequest) => Promise<T>;
10
+ export declare const backdoorGetRecord: <T extends kintoneAPI.rest.Frame = import("@kintone/rest-api-client/lib/client/types").Record>(props: kintoneAPI.rest.RecordGetRequest & {
11
+ apiToken: string;
12
+ }) => Promise<T>;
13
+ export declare const updateRecord: <T extends kintoneAPI.rest.Frame = import("@kintone/rest-api-client/lib/client/types").Record>(props: kintoneAPI.rest.RecordPutRequest<T>) => Promise<kintoneAPI.rest.RecordPutResponse>;
14
+ export declare const addRecord: <T extends kintoneAPI.rest.Frame = import("@kintone/rest-api-client/lib/client/types").Record>(props: kintoneAPI.rest.RecordPostRequest<T>) => Promise<kintoneAPI.rest.RecordPostResponse>;
15
+ /**
16
+ * 対象アプリの指定されたクエリに一致するレコードを全件取得します
17
+ *
18
+ * クエリを解析し、order byが含まれている場合はカーソルAPIを使ってレコードを取得します
19
+ *
20
+ * order byが含まれていない場合は、レコードIDを使ってレコードを取得します
21
+ *
22
+ * @param props app: 対象アプリのID, query: 取得するレコードのクエリ, fields: 取得するフィールドコードの配列, onStep: 段階的にレコードを取得する過程で実行される関数
23
+ * @returns 取得したレコードの配列
24
+ */
25
+ export declare const getAllRecords: <T extends Record<string, any> = import("@kintone/rest-api-client/lib/client/types").Record>(props: kintoneAPI.rest.RecordsGetRequest & {
26
+ onStep?: OnStep<T> | undefined;
27
+ }) => Promise<T[]>;
28
+ type WithId<T> = T & {
29
+ $id: kintoneAPI.field.ID;
30
+ };
31
+ type OnStep<T> = (records: T[]) => void;
32
+ /**
33
+ * 対象アプリの指定されたクエリに一致するレコードを、レコードIDをもとに全件取得します
34
+ *
35
+ * @param props app: 対象アプリのID, query: 取得するレコードのクエリ, fields: 取得するフィールドコードの配列, onStep: 段階的にレコードを取得する過程で実行される関数
36
+ * @returns 取得したレコードの配列
37
+ */
38
+ export declare const getAllRecordsWithId: <T extends Record<string, any>>(props: {
39
+ app: App;
40
+ fields?: string[] | undefined;
41
+ onStep?: OnStep<T> | undefined;
42
+ condition?: string | undefined;
43
+ }) => Promise<WithId<T>[]>;
44
+ type OnTotalGet = (total: number) => void;
45
+ /**
46
+ * 対象アプリの指定されたクエリに一致するレコードを、カーソルAPIを使って全件取得します
47
+ *
48
+ * @param props app: 対象アプリのID, query: 取得するレコードのクエリ, fields: 取得するフィールドコードの配列, onTotalGet: 取得するレコードの総数を取得した際に実行される関数, onStep: 段階的にレコードを取得する過程で実行される関数
49
+ * @returns 取得したレコードの配列
50
+ */
51
+ export declare const getAllRecordsWithCursor: <T extends kintoneAPI.rest.Frame>(props: {
52
+ app: App;
53
+ fields?: string[] | undefined;
54
+ query?: string | undefined;
55
+ onTotalGet?: OnTotalGet | undefined;
56
+ onStep?: OnStep<T> | undefined;
57
+ }) => Promise<T[]>;
58
+ /**
59
+ * kintoneへファイルをアップロードします
60
+ *
61
+ * @param props
62
+ * @returns
63
+ */
64
+ export declare const uploadFile: (props: {
65
+ file: {
66
+ name: string;
67
+ data: Blob;
68
+ };
69
+ }) => Promise<{
70
+ fileKey: string;
71
+ }>;
72
+ export declare const downloadFile: (props: {
73
+ fileKey: string;
74
+ }) => Promise<Blob>;
75
+ export declare const getApp: (props: {
76
+ id: App;
77
+ }) => Promise<kintoneAPI.App>;
78
+ export declare const getAllApps: (offset?: number, _apps?: kintoneAPI.App[]) => Promise<kintoneAPI.App[]>;
79
+ export declare const getFormFields: (props: {
80
+ app: App;
81
+ preview?: boolean;
82
+ }) => Promise<{
83
+ properties: kintoneAPI.FieldProperties;
84
+ revision: string;
85
+ }>;
86
+ export declare const getFormLayout: (props: {
87
+ app: App;
88
+ preview?: boolean;
89
+ }) => Promise<{
90
+ layout: kintoneAPI.Layout;
91
+ revision: string;
92
+ }>;
93
+ export declare const getViews: (props: {
94
+ app: App;
95
+ lang?: 'ja' | 'en' | 'zh' | 'user' | 'default';
96
+ preview?: boolean;
97
+ }) => Promise<{
98
+ views: Record<string, kintoneAPI.view.Response>;
99
+ revision: string;
100
+ }>;
101
+ export declare const updateViews: (props: {
102
+ app: App;
103
+ views: Record<string, kintoneAPI.view.Parameter>;
104
+ }) => Promise<any>;
105
+ export declare const bulkRequest: (requests: ({
106
+ type: 'updateRecord';
107
+ props: kintoneAPI.rest.RecordPutRequest;
108
+ } | {
109
+ type: 'addRecord';
110
+ props: kintoneAPI.rest.RecordPostRequest;
111
+ } | {
112
+ type: 'updateRecords';
113
+ props: kintoneAPI.rest.RecordsPutRequest;
114
+ } | {
115
+ type: 'addRecords';
116
+ props: kintoneAPI.rest.RecordsPostRequest;
117
+ })[]) => Promise<kintoneAPI.rest.BulkResponse>;
118
+ export {};
@@ -0,0 +1,237 @@
1
+ import { api, checkBrowser } from './common';
2
+ const API_ENDPOINT_ROOT = '/k/v1';
3
+ const API_ENDPOINT_RECORD = `${API_ENDPOINT_ROOT}/record.json`;
4
+ const API_ENDPOINT_RECORDS = `${API_ENDPOINT_ROOT}/records.json`;
5
+ const API_ENDPOINT_CURSOR = `${API_ENDPOINT_ROOT}/records/cursor.json`;
6
+ const API_ENDPOINT_BULK = `${API_ENDPOINT_ROOT}/bulkRequest.json`;
7
+ const API_LIMIT_GET = 500;
8
+ const API_LIMIT_PUT = 100;
9
+ const API_LIMIT_POST = 100;
10
+ const API_LIMIT_APP = 100;
11
+ const API_LIMIT_BULK_REQUEST = 20;
12
+ export const backdoor = async (props) => {
13
+ const { apiToken, method, path, body } = props;
14
+ const header = {
15
+ 'X-Cybozu-API-Token': apiToken,
16
+ };
17
+ if (method !== 'GET') {
18
+ header['Content-Type'] = 'application/json';
19
+ }
20
+ const uri = kintone.api.url(path, true);
21
+ const response = await kintone.proxy(uri, method, header, body);
22
+ if (response[1] !== 200) {
23
+ throw new Error(`Backdoor API Error: ${response[1]} ${response[0]}`);
24
+ }
25
+ return JSON.parse(response[0]);
26
+ };
27
+ export const getRecord = async (props) => {
28
+ checkBrowser();
29
+ const { app, id } = props;
30
+ const { record } = await api(API_ENDPOINT_RECORD, 'GET', {
31
+ app,
32
+ id,
33
+ });
34
+ return record;
35
+ };
36
+ export const backdoorGetRecord = async (props) => {
37
+ checkBrowser();
38
+ const { app, id, apiToken } = props;
39
+ const { record } = await backdoor({
40
+ apiToken,
41
+ method: 'GET',
42
+ path: API_ENDPOINT_RECORD,
43
+ body: { app, id },
44
+ });
45
+ return record;
46
+ };
47
+ export const updateRecord = async (props) => {
48
+ checkBrowser();
49
+ return api(API_ENDPOINT_RECORD, 'PUT', props);
50
+ };
51
+ export const addRecord = async (props) => {
52
+ checkBrowser();
53
+ return api(API_ENDPOINT_RECORD, 'POST', props);
54
+ };
55
+ /**
56
+ * 対象アプリの指定されたクエリに一致するレコードを全件取得します
57
+ *
58
+ * クエリを解析し、order byが含まれている場合はカーソルAPIを使ってレコードを取得します
59
+ *
60
+ * order byが含まれていない場合は、レコードIDを使ってレコードを取得します
61
+ *
62
+ * @param props app: 対象アプリのID, query: 取得するレコードのクエリ, fields: 取得するフィールドコードの配列, onStep: 段階的にレコードを取得する過程で実行される関数
63
+ * @returns 取得したレコードの配列
64
+ */
65
+ export const getAllRecords = async (props) => {
66
+ if (props.query && props.query.includes('order by')) {
67
+ return getAllRecordsWithCursor(props);
68
+ }
69
+ return getAllRecordsWithId({ ...props, condition: props.query });
70
+ };
71
+ /**
72
+ * 対象アプリの指定されたクエリに一致するレコードを、レコードIDをもとに全件取得します
73
+ *
74
+ * @param props app: 対象アプリのID, query: 取得するレコードのクエリ, fields: 取得するフィールドコードの配列, onStep: 段階的にレコードを取得する過程で実行される関数
75
+ * @returns 取得したレコードの配列
76
+ */
77
+ export const getAllRecordsWithId = async (props) => {
78
+ checkBrowser();
79
+ const { fields: initFields, condition: initCondition = '' } = props;
80
+ const fields = initFields?.length ? [...new Set([...initFields, '$id'])] : undefined;
81
+ // order byは使用できないため、conditionに含まれている場合は除外する
82
+ const condition = initCondition.replace(/order by.*/g, '');
83
+ return getRecursive({ ...props, fields, condition });
84
+ };
85
+ const getRecursive = async (props) => {
86
+ const { app, fields, condition, id } = props;
87
+ const newCondition = id ? `${condition ? `${condition} and ` : ''} $id < ${id}` : condition;
88
+ const query = `${newCondition} order by $id desc limit ${API_LIMIT_GET}`;
89
+ const { records } = await api(API_ENDPOINT_RECORDS, 'GET', { app, fields, query });
90
+ if (!records.length) {
91
+ return props.stored ?? [];
92
+ }
93
+ const stored = [...(props.stored ?? []), ...records];
94
+ if (props.onStep) {
95
+ props.onStep(stored);
96
+ }
97
+ const lastRecord = stored[stored.length - 1];
98
+ const lastId = lastRecord.$id.value;
99
+ return records.length === API_LIMIT_GET ? getRecursive({ ...props, id: lastId, stored }) : stored;
100
+ };
101
+ /**
102
+ * 対象アプリの指定されたクエリに一致するレコードを、カーソルAPIを使って全件取得します
103
+ *
104
+ * @param props app: 対象アプリのID, query: 取得するレコードのクエリ, fields: 取得するフィールドコードの配列, onTotalGet: 取得するレコードの総数を取得した際に実行される関数, onStep: 段階的にレコードを取得する過程で実行される関数
105
+ * @returns 取得したレコードの配列
106
+ */
107
+ export const getAllRecordsWithCursor = async (props) => {
108
+ checkBrowser();
109
+ const { app, fields = [], query = '', onTotalGet = null, onStep = null } = props;
110
+ const param = { app, fields, size: API_LIMIT_GET, query };
111
+ const cursor = await api(API_ENDPOINT_CURSOR, 'POST', param);
112
+ if (onTotalGet) {
113
+ onTotalGet(Number(cursor.totalCount));
114
+ }
115
+ return getRecordsByCursorId({ id: cursor.id, onStep });
116
+ };
117
+ const getRecordsByCursorId = async (props) => {
118
+ const { id, onStep, loadedData = [] } = props;
119
+ const response = await api(API_ENDPOINT_CURSOR, 'GET', {
120
+ id,
121
+ });
122
+ const newRecords = [...loadedData, ...response.records];
123
+ if (onStep) {
124
+ onStep(newRecords);
125
+ }
126
+ return response.next ? getRecordsByCursorId({ id, onStep, loadedData: newRecords }) : newRecords;
127
+ };
128
+ /**
129
+ * kintoneへファイルをアップロードします
130
+ *
131
+ * @param props
132
+ * @returns
133
+ */
134
+ export const uploadFile = async (props) => {
135
+ checkBrowser();
136
+ const { file } = props;
137
+ const formData = new FormData();
138
+ formData.append('__REQUEST_TOKEN__', kintone.getRequestToken());
139
+ formData.append('file', file.data, file.name);
140
+ const headers = { 'X-Requested-With': 'XMLHttpRequest' };
141
+ const response = await fetch('/k/v1/file.json', {
142
+ method: 'POST',
143
+ headers,
144
+ body: formData,
145
+ });
146
+ return response.json();
147
+ };
148
+ export const downloadFile = async (props) => {
149
+ checkBrowser();
150
+ const { fileKey } = props;
151
+ const headers = { 'X-Requested-With': 'XMLHttpRequest' };
152
+ const response = await fetch(`/k/v1/file.json?fileKey=${fileKey}`, {
153
+ method: 'GET',
154
+ headers,
155
+ });
156
+ return response.blob();
157
+ };
158
+ export const getApp = async (props) => {
159
+ checkBrowser();
160
+ return api(`${API_ENDPOINT_ROOT}/app`, 'GET', props);
161
+ };
162
+ const getApps = async (props) => {
163
+ return api(`${API_ENDPOINT_ROOT}/apps`, 'GET', props);
164
+ };
165
+ export const getAllApps = async (offset = 0, _apps = []) => {
166
+ checkBrowser();
167
+ const { apps } = await getApps({ limit: API_LIMIT_APP, offset });
168
+ const allApps = [..._apps, ...apps];
169
+ return apps.length === API_LIMIT_APP ? getAllApps(offset + API_LIMIT_APP, allApps) : allApps;
170
+ };
171
+ export const getFormFields = async (props) => {
172
+ checkBrowser();
173
+ const { app, preview = false } = props;
174
+ return api(`${API_ENDPOINT_ROOT}/${preview ? 'preview/' : ''}app/form/fields`, 'GET', { app });
175
+ };
176
+ export const getFormLayout = async (props) => {
177
+ checkBrowser();
178
+ const { app, preview = false } = props;
179
+ return api(`${API_ENDPOINT_ROOT}/${preview ? 'preview/' : ''}app/form/layout`, 'GET', { app });
180
+ };
181
+ export const getViews = async (props) => {
182
+ checkBrowser();
183
+ const { app, preview = false, lang = 'default' } = props;
184
+ return api(`${API_ENDPOINT_ROOT}/${preview ? 'preview/' : ''}app/views`, 'GET', { app, lang });
185
+ };
186
+ export const updateViews = async (props) => {
187
+ checkBrowser();
188
+ const { app, views } = props;
189
+ return api(`${API_ENDPOINT_ROOT}/preview/app/views`, 'PUT', { app, views });
190
+ };
191
+ export const bulkRequest = (requests) => {
192
+ checkBrowser();
193
+ let reshapedRequests = [];
194
+ for (const request of requests) {
195
+ if (request.type === 'updateRecord') {
196
+ reshapedRequests.push({
197
+ method: 'PUT',
198
+ api: API_ENDPOINT_RECORD,
199
+ payloads: request.props,
200
+ });
201
+ }
202
+ else if (request.type === 'addRecord') {
203
+ reshapedRequests.push({
204
+ method: 'POST',
205
+ api: API_ENDPOINT_RECORD,
206
+ payloads: request.props,
207
+ });
208
+ }
209
+ else if (request.type === 'updateRecords') {
210
+ const records = request.props.records;
211
+ const requestsToPut = records.reduce((acc, record, index) => {
212
+ if (index % API_LIMIT_PUT === 0) {
213
+ acc.push({
214
+ api: API_ENDPOINT_RECORDS,
215
+ method: 'PUT',
216
+ payloads: {
217
+ app: request.props.app,
218
+ records: [],
219
+ },
220
+ });
221
+ }
222
+ acc[Math.floor(index / API_LIMIT_PUT)].payloads.records.push(record);
223
+ return acc;
224
+ }, []);
225
+ reshapedRequests.push(...requestsToPut);
226
+ }
227
+ else if (request.type === 'addRecords') {
228
+ reshapedRequests.push({
229
+ method: 'POST',
230
+ api: API_ENDPOINT_RECORDS,
231
+ payloads: request.props,
232
+ });
233
+ }
234
+ }
235
+ return api(API_ENDPOINT_BULK, 'POST', reshapedRequests);
236
+ };
237
+ //# sourceMappingURL=record.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/rest-api/record.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { kintoneAPI } from '../types/api';
2
+ export declare const getSpace: (props: kintoneAPI.rest.space.GetSpaceRequest) => Promise<kintoneAPI.rest.space.GetSpaceResponse>;
3
+ export declare const createSpace: (props: kintoneAPI.rest.space.CreateSpaceRequest) => Promise<kintoneAPI.rest.space.CreateSpaceResponse>;
4
+ export declare const deleteSpace: (props: kintoneAPI.rest.space.DeleteSpaceRequest) => Promise<kintoneAPI.rest.space.DeleteSpaceResponse>;
@@ -0,0 +1,17 @@
1
+ import { api, checkBrowser } from './common';
2
+ const API_ENDPOINT_ROOT = '/k/v1';
3
+ const API_ENDPOINT_SPACE = `${API_ENDPOINT_ROOT}/space.json`;
4
+ const API_ENDPOINT_TEMPLATE = `${API_ENDPOINT_ROOT}/template/space.json`;
5
+ export const getSpace = (props) => {
6
+ checkBrowser();
7
+ return api(API_ENDPOINT_SPACE, 'GET', props);
8
+ };
9
+ export const createSpace = (props) => {
10
+ checkBrowser();
11
+ return api(API_ENDPOINT_TEMPLATE, 'POST', props);
12
+ };
13
+ export const deleteSpace = (props) => {
14
+ checkBrowser();
15
+ return api(API_ENDPOINT_SPACE, 'DELETE', props);
16
+ };
17
+ //# sourceMappingURL=space.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"space.js","sourceRoot":"","sources":["../../src/rest-api/space.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAElC,MAAM,kBAAkB,GAAG,GAAG,iBAAiB,aAAa,CAAC;AAC7D,MAAM,qBAAqB,GAAG,GAAG,iBAAiB,sBAAsB,CAAC;AAEzE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAA4C,EAAE,EAAE;IACvE,YAAY,EAAE,CAAC;IACf,OAAO,GAAG,CAAyC,kBAAkB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACvF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAA+C,EAAE,EAAE;IAC7E,YAAY,EAAE,CAAC;IACf,OAAO,GAAG,CAA4C,qBAAqB,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC9F,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAA+C,EAAE,EAAE;IAC7E,YAAY,EAAE,CAAC;IACf,OAAO,GAAG,CAA4C,kBAAkB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC7F,CAAC,CAAC"}
@@ -48,7 +48,7 @@ type OnTotalGet = (total: number) => void;
48
48
  * @param props app: 対象アプリのID, query: 取得するレコードのクエリ, fields: 取得するフィールドコードの配列, onTotalGet: 取得するレコードの総数を取得した際に実行される関数, onStep: 段階的にレコードを取得する過程で実行される関数
49
49
  * @returns 取得したレコードの配列
50
50
  */
51
- export declare const getAllRecordsWithCursor: <T extends Record<string, any>>(props: {
51
+ export declare const getAllRecordsWithCursor: <T extends kintoneAPI.rest.Frame>(props: {
52
52
  app: App;
53
53
  fields?: string[] | undefined;
54
54
  query?: string | undefined;
@@ -102,4 +102,17 @@ export declare const updateViews: (props: {
102
102
  app: App;
103
103
  views: Record<string, kintoneAPI.view.Parameter>;
104
104
  }) => Promise<any>;
105
+ export declare const bulkRequest: (requests: ({
106
+ type: 'updateRecord';
107
+ props: kintoneAPI.rest.RecordPutRequest;
108
+ } | {
109
+ type: 'addRecord';
110
+ props: kintoneAPI.rest.RecordPostRequest;
111
+ } | {
112
+ type: 'updateRecords';
113
+ props: kintoneAPI.rest.RecordPutRequest[];
114
+ } | {
115
+ type: 'addRecords';
116
+ props: kintoneAPI.rest.RecordPostRequest[];
117
+ })[]) => Promise<kintoneAPI.rest.BulkResponse>;
105
118
  export {};
package/dist/rest-api.js CHANGED
@@ -1,11 +1,11 @@
1
1
  const API_ENDPOINT_ROOT = '/k/v1';
2
2
  const API_ENDPOINT_RECORD = `${API_ENDPOINT_ROOT}/record.json`;
3
3
  const API_ENDPOINT_RECORDS = `${API_ENDPOINT_ROOT}/records.json`;
4
- const API_ENDPOINT_CURSOR = `${API_ENDPOINT_RECORDS}/cursor.json`;
5
- const API_LIMIT = {
6
- GET: 500,
7
- APP: 100,
8
- };
4
+ const API_ENDPOINT_CURSOR = `${API_ENDPOINT_ROOT}/records/cursor.json`;
5
+ const API_ENDPOINT_BULK = `${API_ENDPOINT_ROOT}/bulkRequest.json`;
6
+ const API_LIMIT_GET = 500;
7
+ const API_LIMIT_APP = 100;
8
+ const API_LIMIT_BULK_REQUEST = 20;
9
9
  const api = (path, method, body) => {
10
10
  return kintone.api(kintone.api.url(path, true), method, body);
11
11
  };
@@ -27,7 +27,10 @@ export const backdoor = async (props) => {
27
27
  export const getRecord = async (props) => {
28
28
  checkBrowser();
29
29
  const { app, id } = props;
30
- const { record } = await api(API_ENDPOINT_RECORD, 'GET', { app, id });
30
+ const { record } = await api(API_ENDPOINT_RECORD, 'GET', {
31
+ app,
32
+ id,
33
+ });
31
34
  return record;
32
35
  };
33
36
  export const backdoorGetRecord = async (props) => {
@@ -82,12 +85,8 @@ export const getAllRecordsWithId = async (props) => {
82
85
  const getRecursive = async (props) => {
83
86
  const { app, fields, condition, id } = props;
84
87
  const newCondition = id ? `${condition ? `${condition} and ` : ''} $id < ${id}` : condition;
85
- const query = `${newCondition} order by $id desc limit ${API_LIMIT.GET}`;
86
- const { records } = await api(API_ENDPOINT_RECORDS, 'GET', {
87
- app,
88
- fields,
89
- query,
90
- });
88
+ const query = `${newCondition} order by $id desc limit ${API_LIMIT_GET}`;
89
+ const { records } = await api(API_ENDPOINT_RECORDS, 'GET', { app, fields, query });
91
90
  if (!records.length) {
92
91
  return props.stored ?? [];
93
92
  }
@@ -97,7 +96,7 @@ const getRecursive = async (props) => {
97
96
  }
98
97
  const lastRecord = stored[stored.length - 1];
99
98
  const lastId = lastRecord.$id.value;
100
- return records.length === API_LIMIT.GET ? getRecursive({ ...props, id: lastId, stored }) : stored;
99
+ return records.length === API_LIMIT_GET ? getRecursive({ ...props, id: lastId, stored }) : stored;
101
100
  };
102
101
  /**
103
102
  * 対象アプリの指定されたクエリに一致するレコードを、カーソルAPIを使って全件取得します
@@ -108,16 +107,18 @@ const getRecursive = async (props) => {
108
107
  export const getAllRecordsWithCursor = async (props) => {
109
108
  checkBrowser();
110
109
  const { app, fields = [], query = '', onTotalGet = null, onStep = null } = props;
111
- const param = { app, fields, size: API_LIMIT.GET, query };
110
+ const param = { app, fields, size: API_LIMIT_GET, query };
112
111
  const cursor = await api(API_ENDPOINT_CURSOR, 'POST', param);
113
112
  if (onTotalGet) {
114
- onTotalGet(cursor.totalCount);
113
+ onTotalGet(Number(cursor.totalCount));
115
114
  }
116
115
  return getRecordsByCursorId({ id: cursor.id, onStep });
117
116
  };
118
117
  const getRecordsByCursorId = async (props) => {
119
118
  const { id, onStep, loadedData = [] } = props;
120
- const response = await api(API_ENDPOINT_CURSOR, 'GET', { id });
119
+ const response = await api(API_ENDPOINT_CURSOR, 'GET', {
120
+ id,
121
+ });
121
122
  const newRecords = [...loadedData, ...response.records];
122
123
  if (onStep) {
123
124
  onStep(newRecords);
@@ -163,9 +164,9 @@ const getApps = async (props) => {
163
164
  };
164
165
  export const getAllApps = async (offset = 0, _apps = []) => {
165
166
  checkBrowser();
166
- const { apps } = await getApps({ limit: API_LIMIT.APP, offset });
167
+ const { apps } = await getApps({ limit: API_LIMIT_APP, offset });
167
168
  const allApps = [..._apps, ...apps];
168
- return apps.length === API_LIMIT.APP ? getAllApps(offset + API_LIMIT.APP, allApps) : allApps;
169
+ return apps.length === API_LIMIT_APP ? getAllApps(offset + API_LIMIT_APP, allApps) : allApps;
169
170
  };
170
171
  export const getFormFields = async (props) => {
171
172
  checkBrowser();
@@ -187,6 +188,20 @@ export const updateViews = async (props) => {
187
188
  const { app, views } = props;
188
189
  return api(`${API_ENDPOINT_ROOT}/preview/app/views`, 'PUT', { app, views });
189
190
  };
191
+ export const bulkRequest = (requests) => {
192
+ checkBrowser();
193
+ let reshapedRequests = [];
194
+ for (const request of requests) {
195
+ if (request.type === 'updateRecord') {
196
+ reshapedRequests.push({
197
+ method: 'PUT',
198
+ api: API_ENDPOINT_RECORD,
199
+ payloads: request.props,
200
+ });
201
+ }
202
+ }
203
+ return api(API_ENDPOINT_BULK, 'POST', reshapedRequests);
204
+ };
190
205
  const checkBrowser = () => {
191
206
  if (typeof window === 'undefined') {
192
207
  throw new Error('この関数はブラウザでのみ使用できます');
@@ -1 +1 @@
1
- {"version":3,"file":"rest-api.js","sourceRoot":"","sources":["../src/rest-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rest-api.js","sourceRoot":"","sources":["../src/rest-api.ts"],"names":[],"mappings":"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"}
@@ -199,6 +199,10 @@ export declare namespace kintoneAPI {
199
199
  type Revision = string | number;
200
200
  type Frame = Record<string, any>;
201
201
  type Method = 'GET' | 'PUT' | 'POST' | 'DELETE';
202
+ type People = {
203
+ code: string;
204
+ name: string;
205
+ };
202
206
  type TypeOmmited<T extends Record<string, any>> = {
203
207
  [P in keyof T]: Omit<T[P], 'type'>;
204
208
  };
@@ -239,21 +243,136 @@ export declare namespace kintoneAPI {
239
243
  fields?: string[];
240
244
  totalCount?: boolean | 'true' | 'false';
241
245
  };
246
+ type RecordsGetResponse<T extends Frame = kintoneAPI.RecordData> = {
247
+ records: T[];
248
+ totalCount?: string | null;
249
+ };
242
250
  type RecordsPostRequest<T extends Frame = kintoneAPI.RecordData> = {
243
251
  app: AppID;
244
252
  records: RecordToRequest<T>[];
245
253
  };
246
- type RecordsPostResponse<T extends Frame = kintoneAPI.RecordData> = {
247
- records: RecordToRequest<T>[];
254
+ type RecordsPostResponse = {
255
+ ids: string[];
256
+ revision: string[];
248
257
  };
249
258
  type RecordsPutRequest<T extends Frame = kintoneAPI.RecordData> = {
250
259
  app: AppID;
251
- records: RecordToRequest<T>[];
260
+ records: ({
261
+ record: RecordToRequest<T>;
262
+ revision?: Revision;
263
+ } & ({
264
+ id: RecordID;
265
+ } | {
266
+ updateKey: {
267
+ field: keyof T;
268
+ value: string | number;
269
+ };
270
+ }))[];
271
+ };
272
+ type RecordsPutResponse = {
273
+ records: {
274
+ id: string;
275
+ revision: string;
276
+ }[];
277
+ };
278
+ type RecordsDeleteRequest = {
279
+ app: AppID;
280
+ ids: number[];
281
+ revisions?: number[];
282
+ };
283
+ type RecordsDeleteResponse = {};
284
+ type CursorCreateRequest = {
285
+ app: AppID;
286
+ fields?: string[];
287
+ query?: string;
288
+ size?: number | string;
289
+ };
290
+ type CursorCreateResponse = {
291
+ id: string;
292
+ totalCount: string;
293
+ };
294
+ type CursorGetRequest = {
295
+ id: string;
296
+ };
297
+ type CursorGetResponse<T extends Frame = kintoneAPI.RecordData> = {
298
+ records: T[];
299
+ next: boolean;
252
300
  };
253
301
  type BulkRequest<T extends Frame = kintoneAPI.RecordData> = {
254
302
  method: Method;
255
303
  api: string;
256
- payloads: (RecordGetRequest | RecordPostRequest<T> | RecordPutRequest<T> | RecordsPostRequest<T> | RecordsPutRequest<T>)[];
304
+ payloads: RecordPostRequest<T> | RecordsPostRequest<T> | RecordPutRequest<T> | RecordsPutRequest<T> | RecordsDeleteRequest;
257
305
  }[];
306
+ type BulkResponse = (kintoneAPI.rest.RecordPutResponse | kintoneAPI.rest.RecordPostResponse | kintoneAPI.rest.RecordsPostResponse | kintoneAPI.rest.RecordsPutResponse | kintoneAPI.rest.RecordsDeleteResponse)[];
307
+ namespace space {
308
+ type SpaceIdToRequest = string | number;
309
+ type GetSpaceRequest = {
310
+ id: string | number;
311
+ };
312
+ type GetSpaceResponse = {
313
+ /** スペースID */
314
+ id: string;
315
+ /** スペース名 */
316
+ name: string;
317
+ /**
318
+ * スペースが作成されたときに初期作成されたスレッドのスレッド ID
319
+ *
320
+ * 1 つのスレッドのみ使用するスペースの場合はこのスレッドのみ存在します。
321
+ */
322
+ defaultThread: string;
323
+ /** 公開/非公開の区分 */
324
+ isPrivate: boolean;
325
+ creator: People;
326
+ modifier: People;
327
+ memberCount: string;
328
+ coverType: string;
329
+ /** スペースのカバー画像のキー文字列 */
330
+ coverKey: string;
331
+ /** スペースのカバー画像の URL */
332
+ coverUrl: string;
333
+ body: string;
334
+ useMultiThread: boolean;
335
+ isGuest: boolean;
336
+ attachedApps: {
337
+ threadId: string;
338
+ appId: string;
339
+ code: string;
340
+ name: string;
341
+ description: string;
342
+ createdAt: string;
343
+ creator: People;
344
+ modifiedAt: string;
345
+ modifier: People;
346
+ fixedMember: boolean;
347
+ showAnnouncement: boolean;
348
+ showThreadList: boolean;
349
+ showAppList: boolean;
350
+ showMemberList: boolean;
351
+ showRelatedLinkList: boolean;
352
+ }[];
353
+ };
354
+ type CreateSpaceRequest = {
355
+ id: SpaceIdToRequest;
356
+ name: string;
357
+ members: {
358
+ entity: {
359
+ type: 'USER' | 'GROUP' | 'ORGANIZATION';
360
+ code: string;
361
+ };
362
+ isAdmin: boolean;
363
+ includeSubs?: boolean;
364
+ }[];
365
+ isPrivate?: boolean;
366
+ isGuest?: boolean;
367
+ fixedMember?: boolean;
368
+ };
369
+ type CreateSpaceResponse = {
370
+ id: string;
371
+ };
372
+ type DeleteSpaceRequest = {
373
+ id: SpaceIdToRequest;
374
+ };
375
+ type DeleteSpaceResponse = {};
376
+ }
258
377
  }
259
378
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@konomi-app/kintone-utilities",
3
- "version": "1.22.1",
3
+ "version": "1.23.0",
4
4
  "types": "dist/index.d.ts",
5
5
  "main": "dist/index.js",
6
6
  "repository": "https://github.com/local-bias/kintone-utilities.git",