-
Display log here !
+
-
diff --git a/client/src/app/features/merge/merge.component.ts b/client/src/app/features/merge/merge.component.ts
index c954692..dcae3bb 100644
--- a/client/src/app/features/merge/merge.component.ts
+++ b/client/src/app/features/merge/merge.component.ts
@@ -4,6 +4,8 @@ import { CommonModule } from '@angular/common';
import { FormBuilder, ReactiveFormsModule } from '@angular/forms';
import { MergeServiceService } from './merge-service.service';
import { HttpClient } from '@angular/common/http';
+import { environment } from 'src/environments/environment.development';
+import { Observable } from 'rxjs';
@Component({
selector: 'app-merge',
@@ -12,7 +14,7 @@ import { HttpClient } from '@angular/common/http';
templateUrl: './merge.component.html',
styleUrls: ['./merge.component.css']
})
-export class MergeComponent {
+export class MergeComponent
{
exceptionValues = [0, null, undefined]
@@ -45,7 +47,7 @@ export class MergeComponent {
// TODO: Fetch merge. Modify this to websocket
- this.httpClient.post("http://localhost:8080/merge", {
+ this.httpClient.post(environment.api+"/merge", {
master: this.targets.master_version,
dev: this.targets.dev_version,
output: this.targets.output_path,
@@ -53,8 +55,15 @@ export class MergeComponent {
}, {
withCredentials: true
}).subscribe({
- next(value) {
+ next: (value: T) => {
console.log(value)
+ if(typeof value === "object" && value !== null){
+ if("message" in value){
+ console.log(value.message)
+ // alert(value.message + " \n Fetching logs ...")
+ this.downloadLogs("");
+ }
+ }
},
})
}
@@ -66,20 +75,30 @@ export class MergeComponent {
} else {
additionalParams = ""
}
- this.httpClient.get("http://localhost:8080/dllog"+additionalParams, { responseType: 'blob' }).subscribe(
- (data) => {
- const blob = new Blob([data], { type: 'application/octet-stream' });
+ this.httpClient.get(environment.api+"/dllog"+additionalParams, {
+ responseType: 'blob',
+ withCredentials: true,
+ }).subscribe(
+ {
+ next: (value) => {
+ const blob = new Blob([value], { type: 'application/octet-stream' });
+ const url = window.URL.createObjectURL(blob);
+ const a = document.createElement('a');
+ a.href = url;
+ a.download = 'logfile.log';
+ a.innerText = "download log";
+ console.log("Blob: ",blob.text())
+ // document.body.appendChild(a);
+ document.getElementById("log-dl")?.appendChild(a);
+ document.getElementById("log-dl")!.className = "bg-yellow-500 rounded p-2";
+ blob.text().then(v => document.getElementById("log-disp-texts")!.innerHTML = v);
+ // a.click();
- const url = window.URL.createObjectURL(blob);
- const a = document.createElement('a');
- a.href = url;
- a.download = 'logfile.log';
- document.body.appendChild(a);
- a.click();
- window.URL.revokeObjectURL(url);
- },
- (error) => {
- console.error('Error downloading log file: ',error);
+ // window.URL.revokeObjectURL(url);
+ },
+ error: (err) => {
+ console.error('Error downloading log file: ',err);
+ }
}
)
}
diff --git a/server/server.go b/server/server.go
index 198987f..508bc70 100644
--- a/server/server.go
+++ b/server/server.go
@@ -4,6 +4,7 @@ import (
"context"
"encoding/json"
"fmt"
+ "io"
"log"
"net/http"
"net/url"
@@ -191,7 +192,22 @@ func (s *Server) createHandler() {
})
r.Get("/dllog", func(w http.ResponseWriter, r *http.Request) {
+ changelog_path := "cofffeemachineConfig/changelog/testlog.html"
+ logFile, err := os.Open(changelog_path)
+ if err != nil {
+ http.Error(w, err.Error(), http.StatusInternalServerError)
+ }
+ defer logFile.Close()
+
+ w.Header().Set("Content-Disposition", "attachment; filename=logfile.html")
+ w.Header().Set("Content-Type", "application/octet-stream")
+
+ _, err = io.Copy(w, logFile)
+ if err != nil {
+ http.Error(w, err.Error(), http.StatusInternalServerError)
+ return
+ }
})
// Recipe Router
rr := routers.NewRecipeRouter(database)