fix error after logout and try to get status or to connect again

This commit is contained in:
Davidson Gomes
2023-06-12 10:32:47 -03:00
parent 573e56cd8c
commit 75b48aa8ac
6 changed files with 39 additions and 10 deletions

View File

@@ -75,11 +75,13 @@ export class ChatController {
return await this.waMonitor.waInstances[instanceName].updatePrivacySettings(data);
}
public async getBusinessProfile(
public async fetchBusinessProfile(
{ instanceName }: InstanceDto,
data: ProfilePictureDto,
) {
return await this.waMonitor.waInstances[instanceName].getBusinessProfile(data.number);
return await this.waMonitor.waInstances[instanceName].fetchBusinessProfile(
data.number,
);
}
public async updateProfileName({ instanceName }: InstanceDto, data: ProfileNameDto) {

View File

@@ -100,7 +100,7 @@ export class InstanceController {
public async connectToWhatsapp({ instanceName }: InstanceDto) {
try {
const instance = this.waMonitor.waInstances[instanceName];
const state = instance.connectionStatus?.state;
const state = instance?.connectionStatus?.state ?? null;
switch (state) {
case 'close':
@@ -118,7 +118,7 @@ export class InstanceController {
}
public async connectionState({ instanceName }: InstanceDto) {
return this.waMonitor.waInstances[instanceName].connectionStatus;
return this.waMonitor.waInstances[instanceName]?.connectionStatus;
}
public async fetchInstances({ instanceName }: InstanceDto) {

View File

@@ -163,12 +163,13 @@ export class ChatRouter extends RouterBroker {
return res.status(HttpStatus.CREATED).json(response);
})
.post(this.routerPath('getBusinessProfile'), ...guards, async (req, res) => {
.post(this.routerPath('fetchBusinessProfile'), ...guards, async (req, res) => {
const response = await this.dataValidate<ProfilePictureDto>({
request: req,
schema: profilePictureSchema,
ClassRef: ProfilePictureDto,
execute: (instance, data) => chatController.getBusinessProfile(instance, data),
execute: (instance, data) =>
chatController.fetchBusinessProfile(instance, data),
});
return res.status(HttpStatus.OK).json(response);

View File

@@ -29,9 +29,6 @@ import makeWASocket, {
WAMessage,
WAMessageUpdate,
WASocket,
WAReadReceiptsValue,
WAPrivacyValue,
WAPrivacyOnlineValue,
} from '@evolution/base';
import {
Auth,
@@ -1502,6 +1499,9 @@ export class WAStartupService {
await this.client.updateOnlinePrivacy(settings.privacySettings.online);
await this.client.updateLastSeenPrivacy(settings.privacySettings.last);
await this.client.updateGroupsAddPrivacy(settings.privacySettings.groupadd);
// reinicia a instancia
return { update: 'success', data: await this.client.fetchPrivacySettings() };
} catch (error) {
throw new InternalServerErrorException(
@@ -1511,7 +1511,7 @@ export class WAStartupService {
}
}
public async getBusinessProfile(number: string) {
public async fetchBusinessProfile(number: string) {
try {
let jid;