mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-07-23 04:22:02 -06:00
Merge pull request #20 from EvolutionAPI/revert-18-fetch-profile
Revert "Adição de FetchProfile"
This commit is contained in:
commit
c252f5f8d9
@ -587,17 +587,6 @@ export const profilePictureSchema: JSONSchema7 = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export const profileSchema: JSONSchema7 = {
|
|
||||||
type: 'object',
|
|
||||||
properties: {
|
|
||||||
wuid: { type: 'string' },
|
|
||||||
name: { type: 'string' },
|
|
||||||
picture: { type: 'string' },
|
|
||||||
status: { type: 'string' },
|
|
||||||
isBusiness: { type: 'boolean' },
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
export const messageValidateSchema: JSONSchema7 = {
|
export const messageValidateSchema: JSONSchema7 = {
|
||||||
$id: v4(),
|
$id: v4(),
|
||||||
type: 'object',
|
type: 'object',
|
||||||
|
@ -47,11 +47,6 @@ export class ChatController {
|
|||||||
logger.verbose('requested fetchProfilePicture from ' + instanceName + ' instance');
|
logger.verbose('requested fetchProfilePicture from ' + instanceName + ' instance');
|
||||||
return await this.waMonitor.waInstances[instanceName].profilePicture(data.number);
|
return await this.waMonitor.waInstances[instanceName].profilePicture(data.number);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async fetchProfile({ instanceName }: InstanceDto, data: NumberDto) {
|
|
||||||
logger.verbose('requested fetchProfile from ' + instanceName + ' instance');
|
|
||||||
return await this.waMonitor.waInstances[instanceName].fetchProfile(instanceName, data.number);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async fetchContacts({ instanceName }: InstanceDto, query: ContactQuery) {
|
public async fetchContacts({ instanceName }: InstanceDto, query: ContactQuery) {
|
||||||
logger.verbose('requested fetchContacts from ' + instanceName + ' instance');
|
logger.verbose('requested fetchContacts from ' + instanceName + ' instance');
|
||||||
|
@ -26,19 +26,6 @@ export class NumberDto {
|
|||||||
number: string;
|
number: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class NumberBusiness {
|
|
||||||
wid?: string;
|
|
||||||
jid?: string;
|
|
||||||
exists?: boolean;
|
|
||||||
isBusiness: boolean;
|
|
||||||
name?: string;
|
|
||||||
message?: string;
|
|
||||||
description?: string;
|
|
||||||
email?: string;
|
|
||||||
website?: string[];
|
|
||||||
address?: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export class ProfileNameDto {
|
export class ProfileNameDto {
|
||||||
name: string;
|
name: string;
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,6 @@ import {
|
|||||||
privacySettingsSchema,
|
privacySettingsSchema,
|
||||||
profileNameSchema,
|
profileNameSchema,
|
||||||
profilePictureSchema,
|
profilePictureSchema,
|
||||||
profileSchema,
|
|
||||||
profileStatusSchema,
|
profileStatusSchema,
|
||||||
readMessageSchema,
|
readMessageSchema,
|
||||||
whatsappNumberSchema,
|
whatsappNumberSchema,
|
||||||
@ -130,23 +129,6 @@ export class ChatRouter extends RouterBroker {
|
|||||||
|
|
||||||
return res.status(HttpStatus.OK).json(response);
|
return res.status(HttpStatus.OK).json(response);
|
||||||
})
|
})
|
||||||
.post(this.routerPath('fetchProfile'), ...guards, async (req, res) => {
|
|
||||||
logger.verbose('request received in fetchProfile');
|
|
||||||
logger.verbose('request body: ');
|
|
||||||
logger.verbose(req.body);
|
|
||||||
|
|
||||||
logger.verbose('request query: ');
|
|
||||||
logger.verbose(req.query);
|
|
||||||
|
|
||||||
const response = await this.dataValidate<NumberDto>({
|
|
||||||
request: req,
|
|
||||||
schema: profileSchema,
|
|
||||||
ClassRef: NumberDto,
|
|
||||||
execute: (instance, data) => chatController.fetchProfile(instance, data),
|
|
||||||
});
|
|
||||||
|
|
||||||
return res.status(HttpStatus.OK).json(response);
|
|
||||||
})
|
|
||||||
.post(this.routerPath('findContacts'), ...guards, async (req, res) => {
|
.post(this.routerPath('findContacts'), ...guards, async (req, res) => {
|
||||||
logger.verbose('request received in findContacts');
|
logger.verbose('request received in findContacts');
|
||||||
logger.verbose('request body: ');
|
logger.verbose('request body: ');
|
||||||
|
@ -85,7 +85,6 @@ import {
|
|||||||
ArchiveChatDto,
|
ArchiveChatDto,
|
||||||
DeleteMessage,
|
DeleteMessage,
|
||||||
OnWhatsAppDto,
|
OnWhatsAppDto,
|
||||||
NumberBusiness,
|
|
||||||
PrivacySettingDto,
|
PrivacySettingDto,
|
||||||
ReadMessageDto,
|
ReadMessageDto,
|
||||||
WhatsAppNumberDto,
|
WhatsAppNumberDto,
|
||||||
@ -1444,79 +1443,6 @@ export class WAStartupService {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async getStatus(number: string) {
|
|
||||||
const jid = this.createJid(number);
|
|
||||||
|
|
||||||
this.logger.verbose('Getting profile status with jid:' + jid);
|
|
||||||
try {
|
|
||||||
this.logger.verbose('Getting status');
|
|
||||||
return {
|
|
||||||
wuid: jid,
|
|
||||||
status: (await this.client.fetchStatus(jid))?.status,
|
|
||||||
};
|
|
||||||
} catch (error) {
|
|
||||||
this.logger.verbose('Status not found');
|
|
||||||
return {
|
|
||||||
wuid: jid,
|
|
||||||
status: null,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public async fetchProfile(instanceName: string, number?: string) {
|
|
||||||
const jid = (number)
|
|
||||||
? this.createJid(number)
|
|
||||||
: this.client?.user?.id;
|
|
||||||
this.logger.verbose('Getting profile with jid: ' + jid);
|
|
||||||
try {
|
|
||||||
this.logger.verbose('Getting profile info');
|
|
||||||
const business = await this.fetchBusinessProfile(jid);
|
|
||||||
|
|
||||||
if (number) {
|
|
||||||
const info = (await this.whatsappNumber({ numbers: [jid] }))?.shift();
|
|
||||||
const picture = await this.profilePicture(jid);
|
|
||||||
const status = await this.getStatus(jid);
|
|
||||||
|
|
||||||
return {
|
|
||||||
wuid: jid,
|
|
||||||
name: info?.name,
|
|
||||||
numberExists: info?.exists,
|
|
||||||
picture: picture?.profilePictureUrl,
|
|
||||||
status: status?.status,
|
|
||||||
isBusiness: business.isBusiness,
|
|
||||||
email: business?.email,
|
|
||||||
description: business?.description,
|
|
||||||
website: business?.website?.shift(),
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
const info = await waMonitor.instanceInfo(instanceName);
|
|
||||||
|
|
||||||
return {
|
|
||||||
wuid: jid,
|
|
||||||
name: info?.instance?.profileName,
|
|
||||||
numberExists: true,
|
|
||||||
picture: info?.instance?.profilePictureUrl,
|
|
||||||
status: info?.instance?.profileStatus,
|
|
||||||
isBusiness: business.isBusiness,
|
|
||||||
email: business?.email,
|
|
||||||
description: business?.description,
|
|
||||||
website: business?.website?.shift(),
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
} catch (error) {
|
|
||||||
this.logger.verbose('Profile not found');
|
|
||||||
return {
|
|
||||||
wuid: jid,
|
|
||||||
name: null,
|
|
||||||
picture: null,
|
|
||||||
status: null,
|
|
||||||
os: null,
|
|
||||||
isBusiness: false,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private async sendMessageWithTyping<T = proto.IMessage>(
|
private async sendMessageWithTyping<T = proto.IMessage>(
|
||||||
number: string,
|
number: string,
|
||||||
@ -2534,31 +2460,29 @@ export class WAStartupService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async fetchBusinessProfile(number: string) : Promise<NumberBusiness> {
|
public async fetchBusinessProfile(number: string) {
|
||||||
this.logger.verbose('Fetching business profile');
|
this.logger.verbose('Fetching business profile');
|
||||||
try {
|
try {
|
||||||
const jid = (number)
|
let jid;
|
||||||
? this.createJid(number)
|
|
||||||
: this.instance.wuid;
|
if (!number) {
|
||||||
|
jid = this.instance.wuid;
|
||||||
|
} else {
|
||||||
|
jid = this.createJid(number);
|
||||||
|
}
|
||||||
|
|
||||||
const profile = await this.client.getBusinessProfile(jid);
|
const profile = await this.client.getBusinessProfile(jid);
|
||||||
this.logger.verbose('Trying to get business profile');
|
this.logger.verbose('Trying to get business profile');
|
||||||
|
|
||||||
if (!profile) {
|
if (!profile) {
|
||||||
const info = await this.whatsappNumber({ numbers: [jid] });
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
isBusiness: false,
|
exists: false,
|
||||||
message: 'Not is business profile',
|
message: 'Business profile not found',
|
||||||
...info?.shift()
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
this.logger.verbose('Business profile fetched');
|
this.logger.verbose('Business profile fetched');
|
||||||
return {
|
return profile;
|
||||||
isBusiness: true,
|
|
||||||
...profile
|
|
||||||
};
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
throw new InternalServerErrorException(
|
throw new InternalServerErrorException(
|
||||||
'Error updating profile name',
|
'Error updating profile name',
|
||||||
|
Loading…
Reference in New Issue
Block a user