Merge branch 'v2.0.0' of github.com:EvolutionAPI/evolution-api into v2.0.0

This commit is contained in:
Davidson Gomes
2024-08-14 11:28:33 -03:00
4 changed files with 37 additions and 12 deletions

View File

@@ -1454,7 +1454,7 @@ export class BaileysStartupService extends ChannelStartupService {
const savedLabel = labelsRepository.find((l) => l.labelId === label.id);
if (label.deleted && savedLabel) {
await this.prismaRepository.label.delete({
where: { instanceId: this.instanceId, labelId: label.id },
where: { labelId_instanceId: { instanceId: this.instanceId, labelId: label.id } },
});
this.sendDataWebhook(Events.LABELS_EDIT, { ...label, instance: this.instance.name });
return;
@@ -1462,16 +1462,25 @@ export class BaileysStartupService extends ChannelStartupService {
const labelName = label.name.replace(/[^\x20-\x7E]/g, '');
if (!savedLabel || savedLabel.color !== `${label.color}` || savedLabel.name !== labelName) {
if (this.configService.get<Database>('DATABASE').SAVE_DATA.LABELS)
await this.prismaRepository.label.create({
data: {
color: `${label.color}`,
name: labelName,
labelId: label.id,
predefinedId: label.predefinedId,
instanceId: this.instanceId,
if (this.configService.get<Database>('DATABASE').SAVE_DATA.LABELS) {
const labelData = {
color: `${label.color}`,
name: labelName,
labelId: label.id,
predefinedId: label.predefinedId,
instanceId: this.instanceId,
};
await this.prismaRepository.label.upsert({
where: {
labelId_instanceId: {
instanceId: labelData.instanceId,
labelId: labelData.labelId,
},
},
update: labelData,
create: labelData,
});
}
this.sendDataWebhook(Events.LABELS_EDIT, { ...label, instance: this.instance.name });
}
},

View File

@@ -120,6 +120,7 @@ export class WAMonitoringService {
}
public async cleaningUp(instanceName: string) {
let instanceDbId: string;
if (this.db.ENABLED && this.db.SAVE_DATA.INSTANCE) {
const instance = await this.prismaRepository.instance.update({
where: { name: instanceName },
@@ -130,13 +131,15 @@ export class WAMonitoringService {
rmSync(join(INSTANCE_DIR, instance.id), { recursive: true, force: true });
instanceDbId = instance.id;
await this.prismaRepository.session.deleteMany({ where: { sessionId: instance.id } });
return;
}
if (this.redis.REDIS.ENABLED && this.redis.REDIS.SAVE_INSTANCES) {
await this.cache.delete(instanceName);
return;
if (instanceDbId) {
await this.cache.delete(instanceDbId);
}
}
if (this.providerSession?.ENABLED) {