Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions lib/messaging-api/.openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ model/locationAction.ts
model/locationMessage.ts
model/lotteryAcquisitionConditionRequest.ts
model/lotteryAcquisitionConditionResponse.ts
model/markMessagesAsReadByTokenRequest.ts
model/markMessagesAsReadRequest.ts
model/membersIdsResponse.ts
model/membership.ts
Expand Down
34 changes: 34 additions & 0 deletions lib/messaging-api/api/messagingApiClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import { GroupMemberCountResponse } from "../model/groupMemberCountResponse.js";
import { GroupSummaryResponse } from "../model/groupSummaryResponse.js";
import { GroupUserProfileResponse } from "../model/groupUserProfileResponse.js";
import { IssueLinkTokenResponse } from "../model/issueLinkTokenResponse.js";
import { MarkMessagesAsReadByTokenRequest } from "../model/markMessagesAsReadByTokenRequest.js";
import { MarkMessagesAsReadRequest } from "../model/markMessagesAsReadRequest.js";
import { MembersIdsResponse } from "../model/membersIdsResponse.js";
import { MembershipListResponse } from "../model/membershipListResponse.js";
Expand Down Expand Up @@ -1632,6 +1633,39 @@ export class MessagingApiClient {
const parsedBody = text ? JSON.parse(text) : null;
return { httpResponse: res, body: parsedBody };
}
/**
* Mark messages from users as read by token
* @param markMessagesAsReadByTokenRequest
*
* @see <a href="https://developers.line.biz/en/reference/messaging-api/#mark-as-read"> Documentation</a>
*/
public async markMessagesAsReadByToken(
markMessagesAsReadByTokenRequest: MarkMessagesAsReadByTokenRequest,
): Promise<Types.MessageAPIResponseBase> {
return (
await this.markMessagesAsReadByTokenWithHttpInfo(
markMessagesAsReadByTokenRequest,
)
).body;
}

/**
* Mark messages from users as read by token.
* This method includes HttpInfo object to return additional information.
* @param markMessagesAsReadByTokenRequest
*
* @see <a href="https://developers.line.biz/en/reference/messaging-api/#mark-as-read"> Documentation</a>
*/
public async markMessagesAsReadByTokenWithHttpInfo(
markMessagesAsReadByTokenRequest: MarkMessagesAsReadByTokenRequest,
): Promise<Types.ApiResponseType<Types.MessageAPIResponseBase>> {
const params = markMessagesAsReadByTokenRequest;

const res = await this.httpClient.post("/v2/bot/chat/markAsRead", params);
const text = await res.text();
const parsedBody = text ? JSON.parse(text) : null;
return { httpResponse: res, body: parsedBody };
}
/**
* An API that efficiently sends the same message to multiple user IDs. You can\'t send messages to group chats or multi-person chats.
* @param multicastRequest
Expand Down
20 changes: 20 additions & 0 deletions lib/messaging-api/model/markMessagesAsReadByTokenRequest.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/**
* LINE Messaging API
* This document describes LINE Messaging API.
*
* The version of the OpenAPI document: 0.0.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/

export type MarkMessagesAsReadByTokenRequest = {
/**
* Token used to mark messages as read.
*
* @see <a href="https://developers.line.biz/en/reference/messaging-api/#mark-as-read-request-body">markAsReadToken Documentation</a>
*/
markAsReadToken: string /**/;
};
1 change: 1 addition & 0 deletions lib/messaging-api/model/models.ts
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ export * from "./locationAction.js";
export * from "./locationMessage.js";
export * from "./lotteryAcquisitionConditionRequest.js";
export * from "./lotteryAcquisitionConditionResponse.js";
export * from "./markMessagesAsReadByTokenRequest.js";
export * from "./markMessagesAsReadRequest.js";
export * from "./membersIdsResponse.js";
export * from "./membership.js";
Expand Down
81 changes: 81 additions & 0 deletions lib/messaging-api/tests/api/MessagingApiClientTest.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import { GroupMemberCountResponse } from "../../model/groupMemberCountResponse.j
import { GroupSummaryResponse } from "../../model/groupSummaryResponse.js";
import { GroupUserProfileResponse } from "../../model/groupUserProfileResponse.js";
import { IssueLinkTokenResponse } from "../../model/issueLinkTokenResponse.js";
import { MarkMessagesAsReadByTokenRequest } from "../../model/markMessagesAsReadByTokenRequest.js";
import { MarkMessagesAsReadRequest } from "../../model/markMessagesAsReadRequest.js";
import { MembersIdsResponse } from "../../model/membersIdsResponse.js";
import { MembershipListResponse } from "../../model/membershipListResponse.js";
Expand Down Expand Up @@ -4455,6 +4456,86 @@ describe("MessagingApiClient", () => {
server.close();
});

it("markMessagesAsReadByTokenWithHttpInfo", async () => {
let requestCount = 0;

const server = createServer((req, res) => {
requestCount++;

equal(req.method, "POST");
const reqUrl = new URL(req.url, "http://localhost/");
equal(reqUrl.pathname, "/v2/bot/chat/markAsRead");

equal(req.headers["authorization"], `Bearer ${channel_access_token}`);
equal(req.headers["user-agent"], "@line/bot-sdk/1.0.0-test");

res.writeHead(200, { "Content-Type": "application/json" });
res.end(JSON.stringify({}));
});
await new Promise(resolve => {
server.listen(0);
server.on("listening", resolve);
});

const serverAddress = server.address();
if (typeof serverAddress === "string" || serverAddress === null) {
throw new Error("Unexpected server address: " + serverAddress);
}

const client = new MessagingApiClient({
channelAccessToken: channel_access_token,
baseURL: `http://localhost:${String(serverAddress.port)}/`,
});

const res = await client.markMessagesAsReadByTokenWithHttpInfo(
// markMessagesAsReadByTokenRequest: MarkMessagesAsReadByTokenRequest
{} as unknown as MarkMessagesAsReadByTokenRequest, // paramName=markMessagesAsReadByTokenRequest
);

equal(requestCount, 1);
server.close();
});

it("markMessagesAsReadByToken", async () => {
let requestCount = 0;

const server = createServer((req, res) => {
requestCount++;

equal(req.method, "POST");
const reqUrl = new URL(req.url, "http://localhost/");
equal(reqUrl.pathname, "/v2/bot/chat/markAsRead");

equal(req.headers["authorization"], `Bearer ${channel_access_token}`);
equal(req.headers["user-agent"], "@line/bot-sdk/1.0.0-test");

res.writeHead(200, { "Content-Type": "application/json" });
res.end(JSON.stringify({}));
});
await new Promise(resolve => {
server.listen(0);
server.on("listening", resolve);
});

const serverAddress = server.address();
if (typeof serverAddress === "string" || serverAddress === null) {
throw new Error("Unexpected server address: " + serverAddress);
}

const client = new MessagingApiClient({
channelAccessToken: channel_access_token,
baseURL: `http://localhost:${String(serverAddress.port)}/`,
});

const res = await client.markMessagesAsReadByToken(
// markMessagesAsReadByTokenRequest: MarkMessagesAsReadByTokenRequest
{} as unknown as MarkMessagesAsReadByTokenRequest, // paramName=markMessagesAsReadByTokenRequest
);

equal(requestCount, 1);
server.close();
});

it("multicastWithHttpInfo", async () => {
let requestCount = 0;

Expand Down
4 changes: 4 additions & 0 deletions lib/webhook/model/audioMessageContent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,8 @@ export type AudioMessageContent = MessageContentBase & {
* Length of audio file (milliseconds)
*/
duration?: number /**/;
/**
* Token used to mark the message as read.
*/
markAsReadToken?: string /**/;
};
4 changes: 4 additions & 0 deletions lib/webhook/model/fileMessageContent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,8 @@ export type FileMessageContent = MessageContentBase & {
* File size in bytes
*/
fileSize: number /**/;
/**
* Token used to mark the message as read.
*/
markAsReadToken?: string /**/;
};
4 changes: 4 additions & 0 deletions lib/webhook/model/imageMessageContent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,8 @@ export type ImageMessageContent = MessageContentBase & {
* Quote token to quote this message.
*/
quoteToken: string /**/;
/**
* Token used to mark the message as read.
*/
markAsReadToken?: string /**/;
};
4 changes: 4 additions & 0 deletions lib/webhook/model/locationMessageContent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,8 @@ export type LocationMessageContent = MessageContentBase & {
* Longitude
*/
longitude: number /**/;
/**
* Token used to mark the message as read.
*/
markAsReadToken?: string /**/;
};
6 changes: 6 additions & 0 deletions lib/webhook/model/stickerMessageContent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,12 @@ export type StickerMessageContent = MessageContentBase & {
* @see <a href="https://developers.line.biz/en/reference/messaging-api/#wh-sticker">quotedMessageId Documentation</a>
*/
quotedMessageId?: string /**/;
/**
* Token used to mark the message as read.
*
* @see <a href="https://developers.line.biz/en/reference/messaging-api/#wh-sticker">markAsReadToken Documentation</a>
*/
markAsReadToken?: string /**/;
};

export namespace StickerMessageContent {
Expand Down
4 changes: 4 additions & 0 deletions lib/webhook/model/textMessageContent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,8 @@ export type TextMessageContent = MessageContentBase & {
* Message ID of a quoted message. Only included when the received message quotes a past message.
*/
quotedMessageId?: string /**/;
/**
* Token used to mark the message as read.
*/
markAsReadToken?: string /**/;
};
4 changes: 4 additions & 0 deletions lib/webhook/model/videoMessageContent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,8 @@ export type VideoMessageContent = MessageContentBase & {
* Quote token to quote this message.
*/
quoteToken: string /**/;
/**
* Token used to mark the message as read.
*/
markAsReadToken?: string /**/;
};
2 changes: 1 addition & 1 deletion line-openapi