public static string GetTranscriptInfo(TransScriptDetail detail, ProcessTranscript graph, out int minutesConsumed)

        {
            minutesConsumed = 0;
            StringBuilder   sb = new StringBuilder();
            FirefliesConfig firefliesConfig = graph.config.Select();
            string          userid          = string.Empty;

            if (firefliesConfig != null && (!string.IsNullOrEmpty(firefliesConfig.APIEndPoint) &&
                                            !string.IsNullOrEmpty(firefliesConfig.Apikey)))
            {
                var variables = new { id = detail.Id };

                var flAuthTranRqu = new GraphQLRequest
                {
                    Query     = @"query ($id: String!)
                                        {
                                               transcript (id: $id){
                                               id
                                               title
                                                user{
                                                  minutes_consumed
                                                 
                                                }

                                               sentences
                                               {
                                                  index
                                                  text
                                                  raw_text
                                                  start_time
                                                  end_time
                                                  speaker_id
                                                }
                                           }
                                        }
                                      ",
                    Variables = variables
                };
                var graphQLClient = new GraphQLClient(firefliesConfig.APIEndPoint);
                graphQLClient.DefaultRequestHeaders.Add("Authorization", String.Format("Bearer {0}", firefliesConfig.Apikey));
                var graphQLTranResponse = graphQLClient.PostAsync(flAuthTranRqu).Result;
                var transcript          = graphQLTranResponse.GetDataFieldAs <Transcript>("transcript");

                var sentences = transcript.sentences;

                foreach (Sentence sentence in sentences)
                {
                    sb.Append("- Speaker(" + sentence.speaker_id + "):");
                    sb.Append(sentence.text + "." + "<br>");
                }

                minutesConsumed = transcript.user.minutes_consumed;
            }

            return(sb.ToString());
        }
Esempio n. 2
0
        public virtual IEnumerable testConnection(PXAdapter adapter)
        {
            Persist();
            FirefliesConfig firefliesConfig = config.Current;

            var flAuthRequest = new GraphQLRequest
            {
                Query = @"
	                    {
                          user {
                            user_id
                            email
                            recent_transcript
                          }
                        }"
            };

            var graphQLClient = new GraphQLClient(firefliesConfig.APIEndPoint);

            graphQLClient.DefaultRequestHeaders.Add("Authorization", String.Format("Bearer {0}", firefliesConfig.Apikey));
            var graphQLResponse = graphQLClient.PostAsync(flAuthRequest).Result;

            //Dynamic
            var rTranscript = graphQLResponse.Data.user.recent_transcript.Value;
            //Strongly Typed
            User user = graphQLResponse.GetDataFieldAs <User>("user");

            //if (firefliesConfig != null && (!string.IsNullOrEmpty(firefliesConfig.APIEndPoint) && !string.IsNullOrEmpty(firefliesConfig.Apikey)))
            //{
            //    var client = new RestClient("https://api.fireflies.ai/graphql");
            //    client.Timeout = -1;
            //    var request = new RestRequest(Method.POST);
            //    string AuthCode = $"Bearer {firefliesConfig.Apikey}";
            //    request.AddHeader("Authorization", AuthCode);
            //    request.AddHeader("Content-Type", "application/json");
            //    request.AddParameter("application/json", "{\"query\":\"{\\r\\n  user {\\r\\n    email\\r\\n    recent_transcript\\r\\n  }\\r\\n}\",\"variables\":{}}",
            //               ParameterType.RequestBody);
            //    IRestResponse response = client.Execute(request);
            //    if (response.StatusCode.ToString().ToUpper() == "OK")
            //    {
            //        config.Ask("Connected Successfully..", MessageButtons.OK);
            //    }
            //    else
            //    {
            //        config.Ask("Failed to Connect..", MessageButtons.OK);
            //    }
            //}
            //else
            //{
            //    config.Ask("Missing Configuration", MessageButtons.OK);
            //}
            return(adapter.Get());
        }
        protected virtual IEnumerable tranScriptDetail()
        {
            int i = 0;

            foreach (var row in transcriptdetail.Cache.Cached)
            {
                i++;
                yield return(row);
            }
            if (i == 0)
            {
                FirefliesConfig firefliesConfig = config.Select();
                string          userid          = string.Empty;
                if (firefliesConfig != null && (!string.IsNullOrEmpty(firefliesConfig.APIEndPoint) && !string.IsNullOrEmpty(firefliesConfig.Apikey)))
                {
                    var flAuthRequest = new GraphQLRequest
                    {
                        Query = @"
                     {
                          user {
                            user_id
                            email
                            recent_transcript
                          }
                        }
                      "
                    };
                    var graphQLClient = new GraphQLClient(firefliesConfig.APIEndPoint);
                    graphQLClient.DefaultRequestHeaders.Add("Authorization", String.Format("Bearer {0}", firefliesConfig.Apikey));
                    var graphQLResponse = graphQLClient.PostAsync(flAuthRequest).Result;
                    if (graphQLResponse.Errors == null)
                    {
                        var oUser = graphQLResponse.GetDataFieldAs <User>("user");
                        if (!string.IsNullOrEmpty(oUser.user_id))
                        {
                            var variables     = new { login = oUser.user_id };
                            var flAuthTranRqu = new GraphQLRequest
                            {
                                Query     = @"query ($login: String!)
                                    {
                                           transcripts (user_id: $login){
                                           id
                                           title
                                           date
                                           transcript_url
                                           participants
                                       }
                                    }
                                  ",
                                Variables = variables
                            };
                            var graphQLTranResponse = graphQLClient.PostAsync(flAuthTranRqu).Result;
                            var transcripts         = graphQLTranResponse.GetDataFieldAs <Transcript[]>("transcripts");
                            foreach (Transcript transcript in transcripts)
                            {
                                var    sentences    = transcript.sentences;
                                string participants = String.Join(",", transcript.participants);

                                TransScriptDetail row = new TransScriptDetail();
                                row.Id            = transcript.id;
                                row.Title         = transcript.title;
                                row.Date          = Epoch2UTCNow(transcript.date);
                                row.Transcripturl = transcript.transcript_url;
                                row.Participants  = participants;
                                transcriptdetail.Cache.Insert(row);
                                yield return(row);
                            }
                        }
                    }
                }
            }
        }