MCPcopy Create free account
hub / github.com/Rello/analytics / submitContent

Method submitContent

lib/ContextChat/ContextChatManager.php:50–82  ·  view source on GitHub ↗

* Providers can use this to submit content for indexing in context chat * * @param int $datasetId * @return bool * @throws Exception */

(int $datasetId)

Source from the content-addressed store, hash-verified

48 * @throws Exception
49 */
50 public function submitContent(int $datasetId): bool {
51 $datasetMetadata = $this->DatasetService->read($datasetId);
52 if ($datasetMetadata['ai_index'] !== 1) return false;
53
54 $columns = $datasetMetadata['dimension1'] .', '.$datasetMetadata['dimension2'].', '.$datasetMetadata['value'];
55
56 $storageData = $this->StorageService->read($datasetId, null);
57 $data = array_map(function ($subArray) {
58 return implode(",", $subArray);
59 }, $storageData['data']);
60 $dataString = implode("\n", $data);
61
62 $content = 'This is a set of statistical data. The name of the report is: ' . $datasetMetadata['name'] . '. ';
63 $content .= 'The description of the data is: ' . $datasetMetadata['subheader'] . '. ';
64 $content .= 'The data comes in multiple rows which 3 columns separated by a comma. ';
65 $content .= 'The columns are ' . $columns . '. ';
66 $content .= 'The data is: ' . $dataString;
67
68 $contentItem = new ContentItem(
69 $datasetId,
70 'report',
71 $datasetMetadata['name'],
72 $content,
73 'Report',
74 new \DateTime(),
75 [$datasetMetadata['user_id']]
76 );
77
78 $contentItems = [$contentItem];
79 $this->logger->info('Adding Analytics to context chat: ' . json_encode($contentItem));
80 $this->ContentManager->submitContent('analytics', $contentItems);
81 return true;
82 }
83
84 /**
85 * Remove a dataset from context chat

Callers 1

providerMethod · 0.45

Calls 2

readMethod · 0.45
infoMethod · 0.45

Tested by

no test coverage detected