From c005e072c7d8f82fc1483e040c212847dc2cbc9a Mon Sep 17 00:00:00 2001 From: shabaraba Date: Thu, 27 Jun 2024 15:33:41 +0900 Subject: [PATCH 1/2] feat(rest-api-client): add space.addThread() method --- examples/rest-api-client-demo/src/space.ts | 9 ++++++++ packages/rest-api-client/docs/space.md | 21 +++++++++++++++++++ .../rest-api-client/src/client/SpaceClient.ts | 10 +++++++++ .../src/client/__tests__/SpaceClient.test.ts | 19 +++++++++++++++++ 4 files changed, 59 insertions(+) diff --git a/examples/rest-api-client-demo/src/space.ts b/examples/rest-api-client-demo/src/space.ts index a776117611..a0e8a6f786 100644 --- a/examples/rest-api-client-demo/src/space.ts +++ b/examples/rest-api-client-demo/src/space.ts @@ -83,6 +83,15 @@ export class Space { } } + public async addThread() { + const name = "Added Thread Name"; + try { + console.log(await this.client.space.addThread({ space: SPACE_ID, name })); + } catch (error) { + console.log(error); + } + } + public async updateThread() { const body = "This is an updated thread body"; const name = "Updated Thread Name"; diff --git a/packages/rest-api-client/docs/space.md b/packages/rest-api-client/docs/space.md index 9b799349da..d225fbd5a9 100644 --- a/packages/rest-api-client/docs/space.md +++ b/packages/rest-api-client/docs/space.md @@ -5,6 +5,7 @@ - [updateSpaceBody](#updateSpaceBody) - [getSpaceMembers](#getSpaceMembers) - [updateSpaceMembers](#updateSpaceMembers) +- [addThread](#addThread) - [updateThread](#updateThread) - [addThreadComment](#addThreadComment) - [addGuests](#addGuests) @@ -175,6 +176,26 @@ An empty object. - https://kintone.dev/en/docs/kintone/rest-api/spaces/update-space-members/ +### addThread + +Adds a Thread of a Space.
+The Enable multiple threads option must be enabled in the space settings. + +#### Parameters + +| Name | Type | Required | Description | +| ----- | :--------------: | :------: | -------------------------------------------------------------------- | +| space | Number or String | Yes | The space ID. | +| name | String | Yes | The new name of the Thread.
Must be between 1 - 128 characters. | + +#### Returns + +An empty object. + +#### Reference + +- https://kintone.dev/en/docs/kintone/rest-api/spaces/add-thread/ + ### updateThread Updates a Thread of a Space. diff --git a/packages/rest-api-client/src/client/SpaceClient.ts b/packages/rest-api-client/src/client/SpaceClient.ts index 83878167fd..2e8c6e25e0 100644 --- a/packages/rest-api-client/src/client/SpaceClient.ts +++ b/packages/rest-api-client/src/client/SpaceClient.ts @@ -52,6 +52,16 @@ export class SpaceClient extends BaseClient { return this.client.put(path, params); } + public addThread(params: { + space: SpaceID; + name: string; + }): Promise<{ id: string }> { + const path = this.buildPathWithGuestSpaceId({ + endpointName: "space/thread", + }); + return this.client.post(path, params); + } + public updateThread(params: { id: ThreadID; name?: string; diff --git a/packages/rest-api-client/src/client/__tests__/SpaceClient.test.ts b/packages/rest-api-client/src/client/__tests__/SpaceClient.test.ts index 2d95679579..ad855c8c4a 100644 --- a/packages/rest-api-client/src/client/__tests__/SpaceClient.test.ts +++ b/packages/rest-api-client/src/client/__tests__/SpaceClient.test.ts @@ -136,6 +136,25 @@ describe("SpaceClient", () => { }); }); + describe("addThread", () => { + const params = { + space: SPACE_ID, + name: "Added Thread Name", + }; + beforeEach(async () => { + await spaceClient.addThread(params); + }); + it("should pass the path to the http client", () => { + expect(mockClient.getLogs()[0].path).toBe("/k/v1/space/thread.json"); + }); + it("should send a POST request", () => { + expect(mockClient.getLogs()[0].method).toBe("post"); + }); + it("should pass space, name to the http client", () => { + expect(mockClient.getLogs()[0].params).toEqual(params); + }); + }); + describe("updateThread", () => { const params = { id: THREAD_ID, From f0dceaac121df00fce20e8bbf53af50393ff9d9b Mon Sep 17 00:00:00 2001 From: shabaraba Date: Fri, 28 Jun 2024 11:34:32 +0900 Subject: [PATCH 2/2] chore(rest-api-client): fix the reponse for Add Thread API in document and the demo script --- examples/rest-api-client-demo/src/space.ts | 2 +- packages/rest-api-client/docs/space.md | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/examples/rest-api-client-demo/src/space.ts b/examples/rest-api-client-demo/src/space.ts index a0e8a6f786..4af55b3c0e 100644 --- a/examples/rest-api-client-demo/src/space.ts +++ b/examples/rest-api-client-demo/src/space.ts @@ -84,7 +84,7 @@ export class Space { } public async addThread() { - const name = "Added Thread Name"; + const name = "The thread added via rest-api-client"; try { console.log(await this.client.space.addThread({ space: SPACE_ID, name })); } catch (error) { diff --git a/packages/rest-api-client/docs/space.md b/packages/rest-api-client/docs/space.md index d225fbd5a9..b56cf7ef2c 100644 --- a/packages/rest-api-client/docs/space.md +++ b/packages/rest-api-client/docs/space.md @@ -190,7 +190,9 @@ The Enable multiple threads option must be enabled in the space settings. #### Returns -An empty object. +| Name | Type | Description | +| ---- | :----: | ------------------------------------ | +| id | String | The thread ID of the created Thread. | #### Reference