package chat.message;

import chat.module.entity.MessageRelation;
import chat.persist.Message;
import cn.wildfirechat.proto.WFCMessage;

public class MessageServer {

	public WFCMessage.Message createOneMessage(Message message, MessageRelation messageRelation) {
		WFCMessage.Message messageWFC = null;
		
		try {
			 WFCMessage.Message.Builder builder = WFCMessage.Message.newBuilder();
			 builder.setMessageId(message.getMessageid());
			 builder.setFromUser(message.getSenderid());
			 
			 WFCMessage.Conversation.Builder cb = WFCMessage.Conversation.newBuilder();
			 cb.setType(messageRelation.getType());
			 cb.setTarget(messageRelation.getTargetid());
			 cb.setLine(messageRelation.getLine());
			 builder.setConversation(cb.build());
			 
			 WFCMessage.MessageContent.Builder contentBuilder = WFCMessage.MessageContent.newBuilder();
			 contentBuilder.setType(message.getType());
			 contentBuilder.setSearchableContent(message.getContent());
			 contentBuilder.setMediaType(0);
			 contentBuilder.setPersistFlag(message.getPersistflag());
	         contentBuilder.setExpireDuration(0);
	         contentBuilder.setMentionedType(0);
	         
	         WFCMessage.MessageContent messageContent = contentBuilder.build();
	         
	         builder.setContent(messageContent);
	         
	         messageWFC = builder.build();
			 
		} catch(Exception e) {
			 e.printStackTrace();
		}
		return messageWFC;
	}
}