Updated History view in front-end
This commit is contained in:
parent
e6c32b7162
commit
8d30d783fe
|
@ -319,7 +319,7 @@ internal static class Program
|
||||||
if (s3Bucket != null)
|
if (s3Bucket != null)
|
||||||
RabbitMqManager.InformMiddleware(currentSalimaxState);
|
RabbitMqManager.InformMiddleware(currentSalimaxState);
|
||||||
}
|
}
|
||||||
else if (_subscribedToQueue && _heartBitInterval >= 15)
|
else if (_subscribedToQueue && _heartBitInterval >= 30)
|
||||||
{
|
{
|
||||||
//Send a heartbit to the backend
|
//Send a heartbit to the backend
|
||||||
Console.WriteLine("----------------------------------------Sending Heartbit----------------------------------------");
|
Console.WriteLine("----------------------------------------Sending Heartbit----------------------------------------");
|
||||||
|
@ -676,38 +676,39 @@ internal static class Program
|
||||||
var s3Path = timeStamp.ToUnixTime() + ".csv";
|
var s3Path = timeStamp.ToUnixTime() + ".csv";
|
||||||
var request = s3Config.CreatePutRequest(s3Path);
|
var request = s3Config.CreatePutRequest(s3Path);
|
||||||
|
|
||||||
// This is temporary for Wittman, but now it's for all Instalattion
|
// This is temporary for Wittman, but now it's for all Installation
|
||||||
await File.WriteAllTextAsync("/var/www/html/status.csv", csv.SplitLines().Where(l => !l.Contains("Secret")).JoinLines());
|
await File.WriteAllTextAsync("/var/www/html/status.csv", csv.SplitLines().Where(l => !l.Contains("Secret")).JoinLines());
|
||||||
|
|
||||||
var response = await request.PutAsync(new StringContent(csv));
|
//Use this for no compression
|
||||||
|
//var response = await request.PutAsync(new StringContent(csv));
|
||||||
|
|
||||||
|
//Compress CSV data to a byte array
|
||||||
|
byte[] compressedBytes;
|
||||||
|
using (var memoryStream = new MemoryStream())
|
||||||
|
{
|
||||||
|
//Create a zip directory and put the compressed file inside
|
||||||
|
using (var archive = new ZipArchive(memoryStream, ZipArchiveMode.Create, true))
|
||||||
|
{
|
||||||
|
var entry = archive.CreateEntry("data.csv", CompressionLevel.SmallestSize); // Add CSV data to the ZIP archive
|
||||||
|
using (var entryStream = entry.Open())
|
||||||
|
using (var writer = new StreamWriter(entryStream))
|
||||||
|
{
|
||||||
|
writer.Write(csv);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
compressedBytes = memoryStream.ToArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Encode the compressed byte array as a Base64 string
|
||||||
|
string base64String = Convert.ToBase64String(compressedBytes);
|
||||||
|
|
||||||
|
// Create StringContent from Base64 string
|
||||||
|
var stringContent = new StringContent(base64String, Encoding.UTF8, "application/base64");
|
||||||
|
|
||||||
|
// Upload the compressed data (ZIP archive) to S3
|
||||||
|
var response = await request.PutAsync(stringContent);
|
||||||
|
|
||||||
// Compress CSV data to a byte array
|
|
||||||
// byte[] compressedBytes;
|
|
||||||
// using (var memoryStream = new MemoryStream())
|
|
||||||
// {
|
|
||||||
// //Create a zip directory and put the compressed file inside
|
|
||||||
// using (var archive = new ZipArchive(memoryStream, ZipArchiveMode.Create, true))
|
|
||||||
// {
|
|
||||||
// var entry = archive.CreateEntry("data.csv", CompressionLevel.SmallestSize); // Add CSV data to the ZIP archive
|
|
||||||
// using (var entryStream = entry.Open())
|
|
||||||
// using (var writer = new StreamWriter(entryStream))
|
|
||||||
// {
|
|
||||||
// writer.Write(csv);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// compressedBytes = memoryStream.ToArray();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // Encode the compressed byte array as a Base64 string
|
|
||||||
// string base64String = Convert.ToBase64String(compressedBytes);
|
|
||||||
//
|
|
||||||
// // Create StringContent from Base64 string
|
|
||||||
// var stringContent = new StringContent(base64String, Encoding.UTF8, "application/base64");
|
|
||||||
//
|
|
||||||
// // Upload the compressed data (ZIP archive) to S3
|
|
||||||
// var response = await request.PutAsync(stringContent);
|
|
||||||
//
|
|
||||||
if (response.StatusCode != 200)
|
if (response.StatusCode != 200)
|
||||||
{
|
{
|
||||||
Console.WriteLine("ERROR: PUT");
|
Console.WriteLine("ERROR: PUT");
|
||||||
|
|
|
@ -62,16 +62,9 @@ public record S3Config
|
||||||
String contentType = "application/base64",
|
String contentType = "application/base64",
|
||||||
String md5Hash = "")
|
String md5Hash = "")
|
||||||
{
|
{
|
||||||
// StringToSign = HTTP-Verb + "\n" +
|
|
||||||
// Content-MD5 + "\n" +
|
contentType = "application/base64; charset=utf-8";
|
||||||
// Content-Type + "\n" +
|
//contentType = "text/plain; charset=utf-8";
|
||||||
// Date + "\n" +
|
|
||||||
// CanonicalizedAmzHeaders +
|
|
||||||
// CanonicalizedResource;
|
|
||||||
|
|
||||||
|
|
||||||
//contentType = "application/base64; charset=utf-8";
|
|
||||||
contentType = "text/plain; charset=utf-8";
|
|
||||||
|
|
||||||
var payload = $"{method}\n{md5Hash}\n{contentType}\n{date}\n/{bucket.Trim('/')}/{s3Path.Trim('/')}";
|
var payload = $"{method}\n{md5Hash}\n{contentType}\n{date}\n/{bucket.Trim('/')}/{s3Path.Trim('/')}";
|
||||||
using var hmacSha1 = new HMACSHA1(UTF8.GetBytes(s3Secret));
|
using var hmacSha1 = new HMACSHA1(UTF8.GetBytes(s3Secret));
|
||||||
|
|
|
@ -124,7 +124,7 @@ function HistoryOfActions(props: HistoryProps) {
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
style={{
|
style={{
|
||||||
flex: 1,
|
flex: 6,
|
||||||
marginTop: '15px',
|
marginTop: '15px',
|
||||||
display: 'flex',
|
display: 'flex',
|
||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
|
@ -157,13 +157,13 @@ function HistoryOfActions(props: HistoryProps) {
|
||||||
|
|
||||||
// Extract the time part (e.g., "12:34:56")
|
// Extract the time part (e.g., "12:34:56")
|
||||||
const timePart = date.toLocaleTimeString();
|
const timePart = date.toLocaleTimeString();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<React.Fragment key={index}>
|
||||||
<Divider />
|
<Divider />
|
||||||
<div
|
<div
|
||||||
key={index}
|
|
||||||
style={{
|
style={{
|
||||||
height: '40px',
|
minHeight: '40px',
|
||||||
marginBottom: '10px',
|
marginBottom: '10px',
|
||||||
display: 'flex',
|
display: 'flex',
|
||||||
alignItems: 'center'
|
alignItems: 'center'
|
||||||
|
@ -183,7 +183,6 @@ function HistoryOfActions(props: HistoryProps) {
|
||||||
fontWeight="bold"
|
fontWeight="bold"
|
||||||
color="text.primary"
|
color="text.primary"
|
||||||
gutterBottom
|
gutterBottom
|
||||||
noWrap
|
|
||||||
>
|
>
|
||||||
{action.userName}
|
{action.userName}
|
||||||
</Typography>
|
</Typography>
|
||||||
|
@ -203,7 +202,6 @@ function HistoryOfActions(props: HistoryProps) {
|
||||||
fontWeight="bold"
|
fontWeight="bold"
|
||||||
color="text.primary"
|
color="text.primary"
|
||||||
gutterBottom
|
gutterBottom
|
||||||
noWrap
|
|
||||||
>
|
>
|
||||||
{datePart}
|
{datePart}
|
||||||
</Typography>
|
</Typography>
|
||||||
|
@ -222,7 +220,6 @@ function HistoryOfActions(props: HistoryProps) {
|
||||||
fontWeight="bold"
|
fontWeight="bold"
|
||||||
color="text.primary"
|
color="text.primary"
|
||||||
gutterBottom
|
gutterBottom
|
||||||
noWrap
|
|
||||||
>
|
>
|
||||||
{timePart}
|
{timePart}
|
||||||
</Typography>
|
</Typography>
|
||||||
|
@ -230,7 +227,7 @@ function HistoryOfActions(props: HistoryProps) {
|
||||||
|
|
||||||
<div
|
<div
|
||||||
style={{
|
style={{
|
||||||
flex: 3,
|
flex: 6,
|
||||||
display: 'flex',
|
display: 'flex',
|
||||||
marginTop: '15px',
|
marginTop: '15px',
|
||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
|
@ -242,13 +239,16 @@ function HistoryOfActions(props: HistoryProps) {
|
||||||
fontWeight="bold"
|
fontWeight="bold"
|
||||||
color="text.primary"
|
color="text.primary"
|
||||||
gutterBottom
|
gutterBottom
|
||||||
noWrap
|
style={{
|
||||||
|
whiteSpace: 'normal',
|
||||||
|
wordBreak: 'break-word'
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
{action.description}
|
{action.description}
|
||||||
</Typography>
|
</Typography>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</>
|
</React.Fragment>
|
||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue