OverviewFilesCommitsIssuesDocsReleasesPeers

keet-cli / deobfuscated / contract / labels.js

39 lines · javascript ref:
const REGISTER_ROUTES=require('./registration'),{
  isMemberActive,getMemberForDeviceKey}
=require('./query');
const b4a=require('b4a'),{
  KeetContractError}
=require('./errors'),{
  chatLabelStats}
=require('./stats');
async function handleAddChatLabel({header:_0x142ddf,oplog:_0x33fa49,label:_0x168263},{db:_0x50526d,writer:_0x31a808}){
  _0x429c12={
    _0x70a1aa:0x128},[_0x2fb231,_0x37622e,_0x4ef743,_0x346523]=await Promise.all([getMemberForDeviceKey(_0x50526d,_0x31a808.key),getMemberForDeviceKey(_0x50526d,_0x33fa49.key),_0x50526d.get("@keet/chat-by-message-id",{'oplog':_0x33fa49}),_0x50526d.get("@keet/threads",{'id':0x0})]);
  if(!isMemberActive(_0x2fb231)||!_0x4ef743||_0x4ef743.status.isDeleted||_0x2fb231.status.isMuted||b4a.equals(_0x2fb231.key,_0x37622e.key))return;
  const _0x83a8b2=await _0x50526d.get("@keet/chat-labels",{'id':_0x4ef743.id,'sender':_0x2fb231.key,'label':_0x168263});
  if(_0x83a8b2)throw KeetContractError.ABORT();
  const _0x5da3c4={
    'id':_0x4ef743.id,'sender':_0x2fb231.key,'clock':_0x346523.stats.chat.clock,'label':_0x168263}
  ;
  await _0x50526d.insert("@keet/chat-labels",_0x5da3c4),await chatLabelStats(_0x50526d,_0x346523,_0x5da3c4,null,_0x142ddf.timestamp);
}
async function handleRemoveChatLabel({header:_0x15393d,oplog:_0x54d8d7,label:_0x428321},{db:_0x130626,writer:_0x5c3625}){
  _0x312f38={
    _0x2d91ef:0x30e},[_0x4216b1,_0x34a9e9,_0x4d4ed3,_0x1e8250]=await Promise.all([getMemberForDeviceKey(_0x130626,_0x5c3625.key),getMemberForDeviceKey(_0x130626,_0x54d8d7.key),_0x130626.get("@keet/chat-by-message-id",{'oplog':_0x54d8d7}),_0x130626.get("@keet/threads",{'id':0x0})]);
  if(!isMemberActive(_0x4216b1)||!_0x4d4ed3||_0x4d4ed3.status.isDeleted||_0x4216b1.status.isMuted||b4a.equals(_0x4216b1.key,_0x34a9e9.key))return;
  const _0x5b1d63=await _0x130626.get("@keet/chat-labels",{'id':_0x4d4ed3.id,'sender':_0x4216b1.key,'label':_0x428321});
  if(!_0x5b1d63)throw KeetContractError.ABORT();
  await _0x130626.delete("@keet/chat-labels",_0x5b1d63),await chatLabelStats(_0x130626,_0x1e8250,null,_0x5b1d63,_0x15393d.timestamp);
}
function registerRoutes(_0x3d4d65){
  _0x1abc08={
    _0xa5bca4:0x2d5},_0x46879c={
    _0x314189:0xee}
  ;
  _0x3d4d65.add("@keet/add-chat-label",handleAddChatLabel);
  _0x3d4d65.add("@keet/remove-chat-label",handleRemoveChatLabel);
}
module.exports={
  [REGISTER_ROUTES]:registerRoutes}
;