padlocal-client-ts
Version:
Padlocal ts client
747 lines • 34 kB
JavaScript
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.PadLocalClientApi = void 0;
const pb = __importStar(require("./proto/padlocal_pb"));
const FileUtils_1 = require("./utils/FileUtils");
const PadLocalClientPlugin_1 = require("./PadLocalClientPlugin");
function checkRequiredField(field, fieldName) {
if (!field) {
throw new Error(`${fieldName} is required`);
}
}
class PadLocalClientApi extends PadLocalClientPlugin_1.PadLocalClientPlugin {
constructor(client) {
super(client);
this._revokeMessageSeq = 0;
}
login(loginPolicy, callback) {
return __awaiter(this, void 0, void 0, function* () {
const loginRequest = new pb.LoginRequest();
loginRequest.setPolicy(loginPolicy);
// 10 min timeout
const request = this.client.createRequest({
requestTimeout: 10 * 60 * 1000,
});
request.onMessageCallback = (actionMessage) => {
if (actionMessage.getPayloadCase() === pb.ActionMessage.PayloadCase.LOGINUPDATEEVENT) {
const loginUpdateEvent = actionMessage.getLoginupdateevent();
if (loginUpdateEvent.getStatus() === pb.LoginStatus.START) {
callback.onLoginStart(loginUpdateEvent.getLogintype());
}
else if (loginUpdateEvent.getStatus() === pb.LoginStatus.ONE_CLICK_EVENT) {
callback.onOneClickEvent(loginUpdateEvent.getQrcodeevent());
}
else if (loginUpdateEvent.getStatus() === pb.LoginStatus.QRCODE_EVENT) {
callback.onQrCodeEvent(loginUpdateEvent.getQrcodeevent());
}
else if (loginUpdateEvent.getStatus() === pb.LoginStatus.AUTH_SUCCESS) {
const authInfo = loginUpdateEvent.getAuthinfo();
this.client.selfContact = authInfo.getSelfcontact();
callback.onLoginSuccess(this.client.selfContact);
}
else if (loginUpdateEvent.getStatus() === pb.LoginStatus.SYNC) {
callback.onSync(loginUpdateEvent.getSyncevent());
}
}
};
yield request.request(loginRequest);
});
}
logout() {
return __awaiter(this, void 0, void 0, function* () {
return this.client.request(new pb.LogoutRequest());
});
}
sync(scene) {
return __awaiter(this, void 0, void 0, function* () {
const request = new pb.SyncRequest();
request.setScene(scene);
const response = yield this.client.request(request);
return response.getPayload();
});
}
/**
* @param toUserName
* @param text
* @param atList
* @param idempotentId: id used to forbidden idempotent problem caused by retry.
* @return
*/
sendTextMessage(idempotentId, toUserName, text, atList) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(idempotentId, "idempotentId");
checkRequiredField(toUserName, "toUserName");
checkRequiredField(text, "text");
const sendTextMessageRequest = new pb.SendTextMessageRequest();
sendTextMessageRequest.setTousername(toUserName).setContent(text);
if (atList) {
sendTextMessageRequest.setAtList(atList);
}
return yield this.client.request(sendTextMessageRequest, {
idempotentId,
});
});
}
/**
* @param toUserName
* @param image
* @param idempotentId: id used to forbidden idempotent problem caused by retry.
* @return
*/
sendImageMessage(idempotentId, toUserName, image) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(idempotentId, "idempotentId");
checkRequiredField(toUserName, "toUserName");
checkRequiredField(image.length, "image");
const imageUpload = yield FileUtils_1.prepareImageUpload(image);
const request = this.client.createRequest({
idempotentId,
requestTimeout: PadLocalClientApi.FILE_UPLOAD_REQUEST_TIMEOUT,
});
request.extraData = {
fileUploadStreamHandlerParams: {
aesKey: imageUpload.aesKey,
dataBag: imageUpload.dataBag,
},
};
return yield request.request(new pb.SendImageMessageRequest().setTousername(toUserName).setImageparams(imageUpload.params));
});
}
/**
*
* @param idempotentId
* @param toUserName
* @param voice
* @param voiceLength: voice length show to receiver, in milliseconds
*/
sendVoiceMessage(idempotentId, toUserName, voice, voiceLength) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(idempotentId, "idempotentId");
checkRequiredField(toUserName, "toUserName");
checkRequiredField(voice.length, "voice");
checkRequiredField(voiceLength, "voiceLength");
return yield this.client.request(new pb.SendVoiceMessageRequest().setTousername(toUserName).setVoice(voice).setVoicelength(voiceLength), {
idempotentId,
});
});
}
sendVideoMessage(idempotentId, toUserName, video) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(idempotentId, "idempotentId");
checkRequiredField(toUserName, "toUserName");
checkRequiredField(video.length, "video");
const videoUpload = yield FileUtils_1.prepareVideoUpload(video);
const request = this.client.createRequest({
idempotentId,
requestTimeout: PadLocalClientApi.FILE_UPLOAD_REQUEST_TIMEOUT,
});
request.extraData = {
fileUploadStreamHandlerParams: {
aesKey: videoUpload.aesKey,
dataBag: videoUpload.dataBag,
},
};
return yield request.request(new pb.SendVideoMessageRequest().setTousername(toUserName).setVideoparams(videoUpload.params));
});
}
sendFileMessage(idempotentId, toUserName, file, fileName) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(idempotentId, "idempotentId");
checkRequiredField(toUserName, "toUserName");
checkRequiredField(file.length, "file");
checkRequiredField(fileName, "fileName");
const fileUpload = yield FileUtils_1.prepareFileUpload(file);
const request = this.client.createRequest({
idempotentId,
requestTimeout: PadLocalClientApi.FILE_UPLOAD_REQUEST_TIMEOUT,
});
request.extraData = {
fileUploadStreamHandlerParams: {
aesKey: fileUpload.aesKey,
dataBag: fileUpload.dataBag,
},
};
return yield request.request(new pb.SendFileMessageRequest().setTousername(toUserName).setFileparams(fileUpload.params).setFilename(fileName));
});
}
/**
* @param idempotentId: id used to forbidden idempotent problem caused by retry.
* @param toUserName
* @param link
* @return
*/
sendMessageLink(idempotentId, toUserName, link) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(idempotentId, "idempotentId");
checkRequiredField(toUserName, "toUserName");
return yield this.client.request(new pb.SendAppMessageRequest().setTousername(toUserName).setLink(link), {
idempotentId,
});
});
}
sendMessageMiniProgram(idempotentId, toUserName, miniProgram, thumbImage) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(idempotentId, "idempotentId");
checkRequiredField(toUserName, "toUserName");
const request = this.client.createRequest({
idempotentId,
requestTimeout: PadLocalClientApi.FILE_UPLOAD_REQUEST_TIMEOUT,
});
if (thumbImage) {
const imageUpload = yield FileUtils_1.prepareImageUpload(thumbImage, false);
miniProgram.setThumbparams(imageUpload.params);
request.extraData = {
fileUploadStreamHandlerParams: {
aesKey: imageUpload.aesKey,
dataBag: imageUpload.dataBag,
},
};
}
else {
miniProgram.setThumbimage(new Buffer(0));
}
return yield request.request(new pb.SendAppMessageRequest().setTousername(toUserName).setMiniprogram(miniProgram));
});
}
sendContactCardMessage(idempotentId, toUserName, contact) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(idempotentId, "idempotentId");
checkRequiredField(toUserName, "toUserName");
return yield this.client.request(new pb.SendContactCardMessageRequest().setTousername(toUserName).setContact(contact), {
idempotentId,
});
});
}
sendMessageEmoji(idempotentId, toUserName, md5, len, type, gameExt) {
return __awaiter(this, void 0, void 0, function* () {
const request = new pb.SendEmojiMessageRequest().setTousername(toUserName).setMd5(md5).setLen(len);
if (type != undefined) {
request.setType(type);
}
if (gameExt != undefined) {
request.setGameext(gameExt);
}
return yield this.client.request(request, {
idempotentId,
});
});
}
forwardMessage(idempotentId, toUserName, messageContent, messageType, messageToUserName) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(idempotentId, "idempotentId");
checkRequiredField(toUserName, "toUserName");
checkRequiredField(messageContent, "messageContent");
checkRequiredField(messageToUserName, "messageToUserName");
return yield this.client.request(new pb.ForwardMessageRequest()
.setTousername(toUserName)
.setMessagetype(messageType)
.setMessagecontent(messageContent)
.setMessagetousername(messageToUserName), {
idempotentId,
});
});
}
getMessageImage(messageContent, messageToUserName, imageType) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(messageContent, "messageContent");
checkRequiredField(messageToUserName, "messageToUserName");
const request = this.client.createRequest();
const response = yield request.request(new pb.GetMessageImageRequest()
.setImagetype(imageType)
.setMessagecontent(messageContent)
.setMessagetousername(messageToUserName));
const imageData = yield FileUtils_1.downloadFile(response.getFiledownloadrequest(), request.traceId);
return {
imageType: response.getImagetype(),
imageData,
};
});
}
getMessageVoice(messageId, messageContent, messageToUserName) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(messageId, "messageId");
checkRequiredField(messageContent, "messageContent");
checkRequiredField(messageToUserName, "messageToUserName");
const response = yield this.client.request(new pb.GetMessageVoiceRequest()
.setMessageid(messageId)
.setMessagecontent(messageContent)
.setMessagetousername(messageToUserName));
return Buffer.from(response.getVoice());
});
}
getMessageVideoThumb(messageContent, messageToUserName) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(messageContent, "messageContent");
checkRequiredField(messageToUserName, "messageToUserName");
const request = this.client.createRequest();
const response = yield request.request(new pb.GetMessageVideoThumbRequest().setMessagecontent(messageContent).setMessagetousername(messageToUserName));
return FileUtils_1.downloadFile(response.getFiledownloadrequest(), request.traceId);
});
}
getMessageVideo(messageContent, messageToUserName) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(messageContent, "messageContent");
checkRequiredField(messageToUserName, "messageToUserName");
const request = this.client.createRequest();
const response = yield request.request(new pb.GetMessageVideoRequest().setMessagecontent(messageContent).setMessagetousername(messageToUserName));
return FileUtils_1.downloadFile(response.getFiledownloadrequest(), request.traceId);
});
}
getMessageAttach(messageContent, messageToUserName) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(messageContent, "messageContent");
checkRequiredField(messageToUserName, "messageToUserName");
const request = this.client.createRequest();
const response = yield request.request(new pb.GetMessageAttachRequest().setMessagecontent(messageContent).setMessagetousername(messageToUserName));
return FileUtils_1.downloadFile(response.getFiledownloadrequest(), request.traceId);
});
}
getMessageAttachThumb(messageContent, messageToUserName) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(messageContent, "messageContent");
checkRequiredField(messageToUserName, "messageToUserName");
const request = this.client.createRequest();
const response = yield request.request(new pb.GetMessageAttachThumbRequest().setMessagecontent(messageContent).setMessagetousername(messageToUserName));
return FileUtils_1.downloadFile(response.getFiledownloadrequest(), request.traceId);
});
}
getMessageMiniProgramThumb(messageContent, messageToUserName) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(messageContent, "messageContent");
checkRequiredField(messageToUserName, "messageToUserName");
const request = this.client.createRequest();
const response = yield request.request(new pb.GetMessageMiniProgramThumbRequest()
.setMessagecontent(messageContent)
.setMessagetousername(messageToUserName));
return FileUtils_1.downloadFile(response.getFiledownloadrequest(), request.traceId);
});
}
getEncryptedFile(fileType, fileId, fileKey, isChatRoomMessage) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(fileId, "fileId");
checkRequiredField(fileKey.length, "fileKey");
const getEncryptedFileRequest = new pb.GetEncryptedFileRequest()
.setFileid(fileId)
.setFilekey(fileKey)
.setFiletype(fileType);
if (isChatRoomMessage !== undefined) {
getEncryptedFileRequest.setIschatroommessage(isChatRoomMessage);
}
const request = this.client.createRequest();
const response = yield request.request(getEncryptedFileRequest);
return FileUtils_1.downloadFile(response.getFiledownloadrequest(), request.traceId);
});
}
revokeMessage(msgId, fromUserName, toUserName, messageRevokeInfo) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(msgId, "msgId");
checkRequiredField(fromUserName, "fromUserName");
checkRequiredField(toUserName, "toUserName");
const request = new pb.RevokeMessageRequest()
.setMsgid(msgId)
.setMessagerevokeinfo(messageRevokeInfo)
.setFromusername(fromUserName)
.setTousername(toUserName)
.setRevokeseq(this._revokeMessageSeq++);
yield this.client.request(request);
});
}
/**
* sync contact is very costly, may be last for minutes, so use wisely.
* @param callback
*/
syncContact(callback) {
return __awaiter(this, void 0, void 0, function* () {
// 10 min timeout
const request = this.client.createRequest({
requestTimeout: 10 * 60 * 1000,
});
request.onMessageCallback = (actionMessage) => {
if (actionMessage.getPayloadCase() === pb.ActionMessage.PayloadCase.SYNCEVENT) {
const syncEvent = actionMessage.getSyncevent();
callback.onSync(syncEvent.getContactList());
}
};
yield request.request(new pb.SyncContactRequest());
});
}
acceptUser(userName, ticket, stranger, scene) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(userName, "userName");
checkRequiredField(ticket, "ticket");
const request = new pb.AcceptUserRequest()
.setUsername(userName)
.setTicket(ticket)
.setStranger(stranger)
.setScene(scene);
yield this.client.request(request);
});
}
addContact(stranger, ticket, scene, hello, roomId, contactId) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(stranger, "stranger");
checkRequiredField(ticket, "ticket");
const request = new pb.AddContactRequest()
.setStranger(stranger)
.setTicket(ticket)
.setScene(scene)
.setContent(hello);
if (roomId) {
request.setRoomid(roomId);
}
if (contactId) {
request.setContactid(contactId);
}
yield this.client.request(request);
});
}
deleteContact(userName) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(userName, "userName");
yield this.client.request(new pb.DeleteContactRequest().setUsername(userName));
});
}
getContact(userName, ticket) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(userName, "userName");
const request = new pb.GetContactRequest().setUsername(userName);
if (ticket) {
request.setTicket(ticket);
}
const response = yield this.client.request(request);
return response.getContact();
});
}
getContactQRCode(userName, style) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(userName, "userName");
return this.client.request(new pb.GetContactQRCodeRequest().setUsername(userName).setStyle(style));
});
}
searchContact(userName) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(userName, "userName");
return this.client.request(new pb.SearchContactRequest().setUsername(userName));
});
}
updateSelfNickName(nickName) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(nickName, "nickName");
yield this.client.request(new pb.UpdateSelfNickNameRequest().setNickname(nickName));
});
}
updateSelfSignature(signature) {
return __awaiter(this, void 0, void 0, function* () {
yield this.client.request(new pb.UpdateSelfSignatureRequest().setSignature(signature));
});
}
zombieTest(userName) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(userName, "userName");
const response = yield this.client.request(new pb.ZombieTestRequest().setUsername(userName));
return response.getZombiestatues();
});
}
updateContactRemark(userName, remark) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(userName, "userName");
yield this.client.request(new pb.UpdateContactRemarkRequest().setUsername(userName).setRemark(remark));
});
}
/**
*
* @param userNameList
* @param idempotentId: id used to forbidden idempotent problem caused by retry.
* @return
*/
createChatRoom(idempotentId, userNameList) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(idempotentId, "idempotentId");
checkRequiredField(userNameList.length, "userNameList");
return this.client.request(new pb.CreateChatRoomRequest().setUsernamesList(userNameList), {
idempotentId,
});
});
}
getChatRoomMembers(roomId) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(roomId, "roomId");
const response = yield this.client.request(new pb.GetChatRoomMembersRequest().setRoomid(roomId));
return response.getMemberList();
});
}
getChatRoomQrCode(roomId) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(roomId, "roomId");
return this.client.request(new pb.GetChatRoomQrCodeRequest().setRoomid(roomId));
});
}
getChatRoomMember(roomId, userName) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(roomId, "roomId");
checkRequiredField(userName, "userName");
const response = yield this.client.request(new pb.GetChatRoomMemberRequest().setRoomid(roomId).setUsername(userName));
return response.getContact();
});
}
getChatRoomAnnouncement(roomId) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(roomId, "roomId");
const response = yield this.client.request(new pb.GetChatRoomAnnouncementRequest().setRoomid(roomId));
return response.getAnnouncement();
});
}
setChatRoomAnnouncement(roomId, announcement) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(roomId, "roomId");
yield this.client.request(new pb.SetChatRoomAnnouncementRequest().setRoomid(roomId).setAnnouncement(announcement));
});
}
addChatRoomMember(roomId, userName) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(roomId, "roomId");
checkRequiredField(userName, "userName");
const response = yield this.client.request(new pb.AddChatRoomMemberRequest().setRoomid(roomId).setUsername(userName));
return response.getAddtype();
});
}
deleteChatRoomMember(roomId, userName) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(roomId, "roomId");
checkRequiredField(userName, "userName");
yield this.client.request(new pb.DeleteChatRoomMemberRequest().setRoomid(roomId).setUsername(userName));
});
}
setChatRoomName(roomId, name) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(roomId, "roomId");
yield this.client.request(new pb.SetChatRoomNameRequest().setRoomid(roomId).setName(name));
});
}
quitChatRoom(roomId) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(roomId, "roomId");
yield this.client.request(new pb.QuitChatRoomRequest().setRoomid(roomId));
});
}
acceptChatRoomInvitation(inviterUserName, invitationURL) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(inviterUserName, "inviterUserName");
checkRequiredField(invitationURL, "invitationURL");
yield this.client.request(new pb.AcceptChatRoomInvitationRequest().setInviterid(inviterUserName).setInvitationurl(invitationURL));
});
}
getLabelList() {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.client.request(new pb.GetLabelListRequest());
return response.getLabelList();
});
}
addLabel(label) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(label, "label");
const response = yield this.client.request(new pb.AddLabelRequest().setLabel(label));
return response.getLabelid();
});
}
removeLabel(labelId) {
return __awaiter(this, void 0, void 0, function* () {
yield this.client.request(new pb.RemoveLabelRequest().setLabelid(labelId));
});
}
setContactLabel(userName, labelIdList) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(userName, "userName");
yield this.client.request(new pb.SetContactLabelRequest().setUsername(userName).setLabelidList(labelIdList));
});
}
/**
* @param maxId: 0 for the first page
* @return
*/
snsGetTimeline(maxId) {
return __awaiter(this, void 0, void 0, function* () {
const request = new pb.SnsGetTimelineRequest();
if (maxId !== undefined) {
request.setMaxid(maxId);
}
const response = yield this.client.request(request);
return response.getMomentList();
});
}
snsGetUserPage(userName, maxId) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(userName, "userName");
const request = new pb.SnsGetUserPageRequest().setUsername(userName);
if (maxId !== undefined) {
request.setMaxid(maxId);
}
const response = yield this.client.request(request);
return response.getMomentList();
});
}
snsGetMoment(momentId) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(momentId, "momentId");
const response = yield this.client.request(new pb.SnsGetMomentRequest().setMomentid(momentId));
return response.getMoment();
});
}
/**
*
* @param idempotentId: id used to forbidden idempotent problem caused by retry.
* @param payload
* @param options
* @return
*/
snsSendMoment(idempotentId, payload, options) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(idempotentId, "idempotentId");
const request = new pb.SnsSendMomentRequest();
if (options) {
request.setOptions(options);
}
if (payload instanceof pb.SnsSendMomentText) {
request.setText(payload);
}
else if (payload instanceof pb.SnsSendMomentImages) {
request.setImages(payload);
}
else {
request.setUrl(payload);
}
const response = yield this.client.request(request, {
idempotentId,
});
return response.getMoment();
});
}
snsForwardMoment(idempotentId, momentContentXml, options) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(idempotentId, "idempotentId");
checkRequiredField(momentContentXml, "momentContentXml");
const request = new pb.SnsForwardMomentRequest().setMomentcontentxml(momentContentXml);
if (options) {
request.setOptions(options);
}
const response = yield this.client.request(request, {
idempotentId,
});
return response.getMoment();
});
}
/**
*
* @param momentId
* @param idempotentId: id used to forbidden idempotent problem caused by retry.
* @param momentOwnerUserName
* @param commentText
* @param replyTo
* @return
*/
snsSendComment(idempotentId, momentId, momentOwnerUserName, commentText, replyTo) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(idempotentId, "idempotentId");
checkRequiredField(momentId, "momentId");
checkRequiredField(momentOwnerUserName, "momentOwnerUserName");
checkRequiredField(commentText, "commentText");
const request = new pb.SnsSendCommentRequest()
.setMomentid(momentId)
.setMomentownerusername(momentOwnerUserName)
.setCommenttext(commentText);
if (replyTo) {
request.setReplyto(replyTo);
}
const response = yield this.client.request(request, {
idempotentId,
});
return response.getMoment();
});
}
snsUploadImage(image, description) {
return __awaiter(this, void 0, void 0, function* () {
const request = new pb.SnsUploadImageRequest().setImage(image);
if (description) {
request.setDescription(description);
}
return this.client.request(request);
});
}
snsLikeMoment(momentId, momentOwnerUserName) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(momentId, "momentId");
checkRequiredField(momentOwnerUserName, "momentOwnerUserName");
const response = yield this.client.request(new pb.SnsLikeMomentRequest().setMomentid(momentId).setMomentownerusername(momentOwnerUserName));
return response.getMoment();
});
}
snsUnlikeMoment(momentId) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(momentId, "momentId");
yield this.client.request(new pb.SnsUnlikeMomentRequest().setMomentid(momentId));
});
}
snsRemoveMomentComment(momentId, commentId) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(momentId, "momentId");
checkRequiredField(commentId, "commentId");
yield this.client.request(new pb.SnsRemoveMomentCommentRequest().setMomentid(momentId).setCommentid(commentId));
});
}
snsMakeMomentPrivate(momentId) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(momentId, "momentId");
yield this.client.request(new pb.SnsMakeMomentPrivateRequest().setMomentid(momentId));
});
}
snsMakeMomentPublic(momentId) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(momentId, "momentId");
yield this.client.request(new pb.SnsMakeMomentPublicRequest().setMomentid(momentId));
});
}
snsRemoveMoment(momentId) {
return __awaiter(this, void 0, void 0, function* () {
checkRequiredField(momentId, "momentId");
yield this.client.request(new pb.SnsRemoveMomentRequest().setMomentid(momentId));
});
}
sendClientStopSignal() {
return __awaiter(this, void 0, void 0, function* () {
yield this.client.request(new pb.SystemEventRequest().setClientstopevent(new pb.ClientStopEvent()), {
requestTimeout: 1000,
});
});
}
}
exports.PadLocalClientApi = PadLocalClientApi;
PadLocalClientApi.FILE_UPLOAD_REQUEST_TIMEOUT = 5 * 60 * 1000; // 5 min
//# sourceMappingURL=PadLocalClientApi.js.map