Fix: Resolve conflicting star exports in WhatsApp instance service
The error "conflicting star exports for name 'updateUserWhatsAppInstance'" indicates a naming conflict when re-exporting modules. This commit resolves the issue by explicitly re-exporting the conflicting functions in `src/services/whatsAppInstance/index.ts` to avoid the conflict.
This commit is contained in:
parent
27cad3b98b
commit
7bf6cdd8ce
@ -7,7 +7,7 @@ import { Label } from '@/components/ui/label';
|
|||||||
import { Alert, AlertDescription } from '@/components/ui/alert';
|
import { Alert, AlertDescription } from '@/components/ui/alert';
|
||||||
import { Loader2, Plus, AlertCircle } from 'lucide-react';
|
import { Loader2, Plus, AlertCircle } from 'lucide-react';
|
||||||
import { useToast } from '@/hooks/use-toast';
|
import { useToast } from '@/hooks/use-toast';
|
||||||
import { createInstance } from '@/services/whatsAppService';
|
import { restartInstance } from '@/services/whatsAppService';
|
||||||
import { WhatsAppInstance } from '@/types/whatsAppTypes';
|
import { WhatsAppInstance } from '@/types/whatsAppTypes';
|
||||||
import { updateUserWhatsAppInstance } from '@/services/whatsAppInstanceService';
|
import { updateUserWhatsAppInstance } from '@/services/whatsAppInstanceService';
|
||||||
import { createEvolutionWebhook } from '@/services/whatsApp/webhookService';
|
import { createEvolutionWebhook } from '@/services/whatsApp/webhookService';
|
||||||
@ -23,7 +23,6 @@ const CreateInstanceForm = ({ onInstanceCreated, initialInstanceName = '' }: Cre
|
|||||||
const [userEmail, setUserEmail] = useState(initialInstanceName);
|
const [userEmail, setUserEmail] = useState(initialInstanceName);
|
||||||
const [ddd, setDdd] = useState('');
|
const [ddd, setDdd] = useState('');
|
||||||
const [phoneNumber, setPhoneNumber] = useState('');
|
const [phoneNumber, setPhoneNumber] = useState('');
|
||||||
const [showAdvanced, setShowAdvanced] = useState(false);
|
|
||||||
|
|
||||||
const handleCreateInstance = async (e: React.FormEvent) => {
|
const handleCreateInstance = async (e: React.FormEvent) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
@ -67,7 +66,7 @@ const CreateInstanceForm = ({ onInstanceCreated, initialInstanceName = '' }: Cre
|
|||||||
console.log(`🚀 Criando instância para: ${normalizedEmail} com número: ${fullPhoneNumber}`);
|
console.log(`🚀 Criando instância para: ${normalizedEmail} com número: ${fullPhoneNumber}`);
|
||||||
|
|
||||||
// Criar a instância no Evolution API
|
// Criar a instância no Evolution API
|
||||||
const response = await createInstance(normalizedEmail, fullPhoneNumber);
|
const response = await restartInstance(normalizedEmail, fullPhoneNumber);
|
||||||
|
|
||||||
if (response && response.instance) {
|
if (response && response.instance) {
|
||||||
const instanceData: WhatsAppInstance = {
|
const instanceData: WhatsAppInstance = {
|
||||||
@ -77,7 +76,6 @@ const CreateInstanceForm = ({ onInstanceCreated, initialInstanceName = '' }: Cre
|
|||||||
connectionState: response.instance.state || 'closed',
|
connectionState: response.instance.state || 'closed',
|
||||||
qrcode: response.qrcode || null,
|
qrcode: response.qrcode || null,
|
||||||
status: response.instance.state === 'open' ? 'connected' : 'disconnected',
|
status: response.instance.state === 'open' ? 'connected' : 'disconnected',
|
||||||
createdAt: new Date().toISOString(),
|
|
||||||
lastSeen: new Date().toISOString(),
|
lastSeen: new Date().toISOString(),
|
||||||
presence: 'offline'
|
presence: 'offline'
|
||||||
};
|
};
|
||||||
@ -210,7 +208,6 @@ const CreateInstanceForm = ({ onInstanceCreated, initialInstanceName = '' }: Cre
|
|||||||
)}
|
)}
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
{showAdvanced && (
|
|
||||||
<Alert>
|
<Alert>
|
||||||
<AlertCircle className="h-4 w-4" />
|
<AlertCircle className="h-4 w-4" />
|
||||||
<AlertDescription>
|
<AlertDescription>
|
||||||
@ -218,7 +215,6 @@ const CreateInstanceForm = ({ onInstanceCreated, initialInstanceName = '' }: Cre
|
|||||||
do seu celular para estabelecer a conexão.
|
do seu celular para estabelecer a conexão.
|
||||||
</AlertDescription>
|
</AlertDescription>
|
||||||
</Alert>
|
</Alert>
|
||||||
)}
|
|
||||||
</form>
|
</form>
|
||||||
</CardContent>
|
</CardContent>
|
||||||
</Card>
|
</Card>
|
||||||
|
|||||||
@ -39,7 +39,7 @@ export const createEvolutionWebhook = async (userEmail: string): Promise<any> =>
|
|||||||
return response;
|
return response;
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(`❌ Erro ao criar webhook for ${normalizedEmail}:`, error);
|
console.error(`❌ Erro ao criar webhook for ${userEmail}:`, error);
|
||||||
throw error;
|
throw error;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,6 +1,30 @@
|
|||||||
|
|
||||||
// Re-export all WhatsApp instance service functions
|
// Re-export all functions from the new modular structure
|
||||||
export * from './databaseOperations';
|
export * from './databaseOperations';
|
||||||
export * from './workflowOperations';
|
export * from './workflowOperations';
|
||||||
export * from './userOperations';
|
|
||||||
export * from './config';
|
export * from './config';
|
||||||
|
|
||||||
|
// For backwards compatibility, also export individual functions specifically
|
||||||
|
export {
|
||||||
|
updateUserWhatsAppInstance,
|
||||||
|
getUserWhatsAppInstance,
|
||||||
|
removeUserWhatsAppInstance,
|
||||||
|
getUserDebugInfo
|
||||||
|
} from './databaseOperations';
|
||||||
|
|
||||||
|
export {
|
||||||
|
activateUserWorkflow
|
||||||
|
} from './workflowOperations';
|
||||||
|
|
||||||
|
// Export a helper function to check if user has instance
|
||||||
|
export async function checkUserHasInstance(userEmail: string): Promise<boolean> {
|
||||||
|
try {
|
||||||
|
const { getUserWhatsAppInstance } = await import('./databaseOperations');
|
||||||
|
const instanceData = await getUserWhatsAppInstance(userEmail.trim().toLowerCase());
|
||||||
|
|
||||||
|
return !!(instanceData && instanceData.instancia_zap && instanceData.instancia_zap.trim() !== '');
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Erro ao verificar se usuário tem instância:', error);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -34,8 +34,7 @@ export async function updateUserWhatsAppInstance(
|
|||||||
.from('usuarios')
|
.from('usuarios')
|
||||||
.update({
|
.update({
|
||||||
instancia_zap: normalizedInstanceName,
|
instancia_zap: normalizedInstanceName,
|
||||||
status_instancia: status,
|
status_instancia: status
|
||||||
updated_at: new Date().toISOString()
|
|
||||||
})
|
})
|
||||||
.eq('email', normalizedEmail);
|
.eq('email', normalizedEmail);
|
||||||
|
|
||||||
@ -52,9 +51,7 @@ export async function updateUserWhatsAppInstance(
|
|||||||
.insert({
|
.insert({
|
||||||
email: normalizedEmail,
|
email: normalizedEmail,
|
||||||
instancia_zap: normalizedInstanceName,
|
instancia_zap: normalizedInstanceName,
|
||||||
status_instancia: status,
|
status_instancia: status
|
||||||
created_at: new Date().toISOString(),
|
|
||||||
updated_at: new Date().toISOString()
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if (insertError) {
|
if (insertError) {
|
||||||
@ -122,8 +119,7 @@ export async function removeUserWhatsAppInstance(userEmail: string): Promise<voi
|
|||||||
.update({
|
.update({
|
||||||
instancia_zap: null,
|
instancia_zap: null,
|
||||||
status_instancia: null,
|
status_instancia: null,
|
||||||
whatsapp: null,
|
whatsapp: null
|
||||||
updated_at: new Date().toISOString()
|
|
||||||
})
|
})
|
||||||
.eq('email', normalizedEmail);
|
.eq('email', normalizedEmail);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user