56 lines
1.3 KiB
TypeScript
56 lines
1.3 KiB
TypeScript
import {
|
|
ProtocolRequest,
|
|
ProtocolEncoder,
|
|
PacketBody,
|
|
ProtocolDecoder,
|
|
ProtocolMessage,
|
|
PacketBodyValue,
|
|
ProtocolResponse,
|
|
ProtocolNotification
|
|
} from '@ucap-webmessenger/protocol';
|
|
|
|
export interface DelRequest extends ProtocolRequest {
|
|
// 대화방SEQ(s)
|
|
roomSeq: string;
|
|
// 이벤트SEQ(n)
|
|
eventSeq: number;
|
|
}
|
|
export interface DelResponse extends ProtocolResponse {
|
|
// 대화방SEQ(s)
|
|
roomSeq: string;
|
|
// 이벤트SEQ(n)
|
|
eventSeq: number;
|
|
}
|
|
export interface DelNotification extends ProtocolNotification {
|
|
// 대화방SEQ(s)
|
|
roomSeq: string;
|
|
// 이벤트SEQ(n)
|
|
eventSeq: number;
|
|
}
|
|
|
|
export const encodeDel: ProtocolEncoder<DelRequest> = (req: DelRequest) => {
|
|
const bodyList: PacketBody[] = [];
|
|
|
|
bodyList.push(
|
|
{ type: PacketBodyValue.String, value: req.roomSeq },
|
|
{ type: PacketBodyValue.Integer, value: req.eventSeq }
|
|
);
|
|
return bodyList;
|
|
};
|
|
export const decodeDel: ProtocolDecoder<DelResponse> = (
|
|
message: ProtocolMessage
|
|
) => {
|
|
return {
|
|
roomSeq: message.bodyList[0],
|
|
eventSeq: message.bodyList[1]
|
|
} as DelResponse;
|
|
};
|
|
export const decodeDelNotification: ProtocolDecoder<DelNotification> = (
|
|
message: ProtocolMessage
|
|
) => {
|
|
return {
|
|
roomSeq: message.bodyList[0],
|
|
eventSeq: message.bodyList[1]
|
|
} as DelNotification;
|
|
};
|