new cleanup entrypoint

This commit is contained in:
Pedro Howat 2024-08-26 17:44:06 -03:00
parent 8c7e444357
commit cfea686d8e
2 changed files with 35 additions and 0 deletions

View File

@ -105,4 +105,22 @@ export class KwikController {
return mm;
}
public async cleanup({ instanceName }: InstanceDto) {
const db = configService.get<Database>('DATABASE');
const connection = dbserver.getClient().db(db.CONNECTION.DB_PREFIX_NAME + '-whatsapp-api');
const messages = connection.collection('messages');
const messageUpdate = connection.collection('messageUpdate');
const chats = connection.collection('chats');
const contacts = connection.collection('contacts');
logger.error('DELETEME: Deleting messages for instance ' + instanceName);
const x = messages.deleteMany({ owner: instanceName });
logger.error(x);
const y = chats.deleteMany({ owner: instanceName });
logger.error(y);
const z = contacts.deleteMany({ owner: instanceName });
logger.error(z);
messageUpdate.deleteMany({ owner: instanceName });
return { status: 'ok' };
}
}

View File

@ -27,6 +27,23 @@ export class KwikRouter extends RouterBroker {
kwikController.fetchChats(instance, Number(req.query.limit), Number(req.query.skip), req.query.sort),
});
return res.status(HttpStatus.OK).json(response);
});
this.router.post(this.routerPath('cleanup'), ...guards, async (req, res) => {
logger.verbose('request received in findChats');
logger.verbose('request body: ');
logger.verbose(req.body);
logger.verbose('request query: ');
logger.verbose(req.query);
const response = await this.dataValidate<InstanceDto>({
request: req,
schema: null,
ClassRef: InstanceDto,
execute: (instance) => kwikController.cleanup(instance),
});
return res.status(HttpStatus.OK).json(response);
});
}