export async function getChatSupport()

in src/common/chat/api/get_chat_support.ts [25:53]


export async function getChatSupport(
  platform?: GitLabPlatformForAccount | undefined,
): Promise<ChatSupportResponseInterface> {
  const request: GraphQLRequest<ChatAvailableResponseType> = {
    type: 'graphql',
    query: queryGetChatAvailability,
    variables: {},
  };
  const noSupportResponse: ChatSupportResponseInterface = { hasSupportForChat: false };

  if (!platform) {
    return noSupportResponse;
  }
  try {
    const {
      currentUser: { duoChatAvailable },
    } = await platform.fetchFromApi(request);
    if (duoChatAvailable) {
      return {
        hasSupportForChat: duoChatAvailable,
        platform,
      };
    }
    return noSupportResponse;
  } catch (e) {
    log.error(e);
    return noSupportResponse;
  }
}