48 lines
1.1 KiB
TypeScript
Raw Normal View History

2019-09-23 10:14:20 +09:00
import { DeviceType, LocaleCode } from '@ucap-webmessenger/core';
import {
ProtocolRequest,
ProtocolResponse,
ProtocolEncoder,
PacketBody,
PacketBodyValue,
ProtocolDecoder,
ProtocolMessage
} from '@ucap-webmessenger/protocol';
export interface BuddyUpdateRequest extends ProtocolRequest {
// 0. 사용자SEQ(n)
userSeq: number;
// 1. 즐겨찾기여부(y)
isFavorit: boolean;
2019-09-23 10:14:20 +09:00
}
export interface BuddyUpdateResponse extends ProtocolResponse {
// 0. 사용자SEQ(n)
userSeq: number;
// 1. 즐겨찾기여부(y)
isFavorit: boolean;
2019-09-23 10:14:20 +09:00
}
export const encodeBuddyUpdate: ProtocolEncoder<BuddyUpdateRequest> = (
req: BuddyUpdateRequest
) => {
const bodyList: PacketBody[] = [];
bodyList.push({ type: PacketBodyValue.Integer, value: req.userSeq });
bodyList.push({
type: PacketBodyValue.String,
value: req.isFavorit ? 'Y' : 'N'
2019-09-23 10:14:20 +09:00
});
return bodyList;
};
export const decodeBuddyUpdate: ProtocolDecoder<BuddyUpdateResponse> = (
message: ProtocolMessage
) => {
return {
userSeq: message.bodyList[0],
isFavorit: message.bodyList[1] === 'Y' ? true : false
2019-09-23 10:14:20 +09:00
} as BuddyUpdateResponse;
};