async submitChatInitiation()

in src/components/Chat/ChatContainer.js [84:103]


  async submitChatInitiation(input, success, failure) {
    this.setState({ status: "Initiating" });

    try {
      const chatDetails = await initiateChat(input);
      const chatSession = await this.openChatSession(chatDetails, input.name, input.region, input.stage);

      this.setState({
        status: "Initiated",
        chatSession: chatSession,
        composerConfig: {
          attachmentsEnabled: (input.featurePermissions && input.featurePermissions[CHAT_FEATURE_TYPES.ATTACHMENTS]) || (chatDetails.featurePermissions && chatDetails.featurePermissions[CHAT_FEATURE_TYPES.ATTACHMENTS])
        }
      });
      success && success(chatSession);
    } catch (error) {
      this.setState({ status: "InitiateFailed" });
      failure && failure(error);
    }
  }