Skip to content

Commit

Permalink
fix(inbox): fix integration resolvers
Browse files Browse the repository at this point in the history
  • Loading branch information
soyombo-baterdene committed Dec 12, 2023
1 parent 077bebf commit 06e6d6d
Showing 1 changed file with 53 additions and 16 deletions.
69 changes: 53 additions & 16 deletions packages/plugin-inbox-api/src/graphql/resolvers/integration.ts
Expand Up @@ -90,7 +90,10 @@ export default {
_args,
{ subdomain }: IContext
) {
const kind = integration.kind.split('-')[0];
const kind = integration.kind.includes('facebook')
? 'facebook'
: integration.kind.split('-')[0];

if (kind === 'messenger') {
return { status: 'healthy' };
}
Expand Down Expand Up @@ -125,17 +128,31 @@ export default {
) {
const inboxId: string = integration._id;

const serviceName = integration.kind.includes('facebook')
? 'facebook'
: integration.kind;

if (integration.kind === 'messenger') {
return null;
}

return await sendCommonMessage({
serviceName: integration.kind,
subdomain,
action: 'api_to_integrations',
data: { inboxId, action: 'getConfigs', integrationId: inboxId },
isRPC: true
});
const serviceRunning = await isServiceRunning(serviceName);

if (serviceRunning) {
try {
return await sendCommonMessage({
serviceName,
subdomain,
action: 'api_to_integrations',
data: { inboxId, action: 'getData', integrationId: inboxId },
isRPC: true
});
} catch (e) {
console.error('error', e);

return null;
}
}
},

async details(
Expand All @@ -145,11 +162,18 @@ export default {
) {
const inboxId: string = integration._id;

const serviceName = integration.kind.includes('facebook')
? 'facebook'
: integration.kind;

if (integration.kind === 'messenger') {
return null;
}

if (integration.kind === 'callpro') {
if (
integration.kind === 'callpro' &&
(await isServiceRunning('integrations'))
) {
return await sendIntegrationsMessage({
subdomain,
action: 'api_to_integrations',
Expand All @@ -158,12 +182,25 @@ export default {
});
}

return await sendCommonMessage({
serviceName: integration.kind,
subdomain,
action: 'api_to_integrations',
data: { inboxId, integrationId: inboxId, action: 'getDetails' },
isRPC: true
});
const serviceRunning = await isServiceRunning(serviceName);

if (serviceRunning) {
try {
const a = await sendCommonMessage({
serviceName,
subdomain,
action: 'api_to_integrations',
data: { inboxId, integrationId: inboxId, action: 'getDetails' },
isRPC: true,
defaultValue: null
});

return a;
} catch (e) {
console.error('error', e);

return null;
}
}
}
};

0 comments on commit 06e6d6d

Please sign in to comment.