add requester to api

This commit is contained in:
pakintada@gmail.com 2023-09-21 13:52:00 +07:00
parent 3301098aa1
commit da4110a47b
4 changed files with 41 additions and 19 deletions

View file

@ -36,13 +36,13 @@
<!-- Output path -->
<div class="flex">
<label class="flex-1 bg-yellow-100 font-bold rounded text-center" for="output_path">Output Path</label>
<label class="flex-1 bg-yellow-100 font-bold rounded text-center" for="output_path">Output Path (.json)</label>
<input class="flex-1 mx-1 bg-slate-300 hover:bg-blue-400 text-center border border-collapse rounded-md" id="output_path" formControlName="output_path" type="text" required>
</div>
<!-- Changelog path -->
<div class="flex">
<label class="flex-1 bg-yellow-100 font-bold rounded text-center" for="changelog_path">Changelog Path</label>
<label class="flex-1 bg-yellow-100 font-bold rounded text-center" for="changelog_path">Changelog Path (.json)</label>
<input class="flex-1 mx-1 bg-slate-300 hover:bg-blue-400 text-center border border-collapse rounded-md" id="changelog_path" formControlName="changelog_path" type="text" required>
</div>

View file

@ -25,12 +25,22 @@ export class MergeComponent<T> {
changelog_path: ""
});
mergeLogs: Map<string, string> | void | undefined
constructor(
private targets: MergeServiceService,
private formBuilder: FormBuilder,
private httpClient: HttpClient,
){}
){
// Default fetching logs
// fetch html
// this.fetchLogsToDisplay("", true, false);
// // fetch log file
// this.fetchLogsToDisplay("", false, false);
// // fetch json
// this.mergeLogs = this.fetchLogsToDisplay("", false, true);
}
private isException(value: any){
return this.exceptionValues.includes(value)
@ -46,7 +56,6 @@ export class MergeComponent<T> {
this.targets.changelog_path = this.mergeForm.value.changelog_path!;
// TODO: Fetch merge. Modify this to websocket
let mergeLogs;
this.httpClient.post<T>(environment.api+"/merge", {
master: this.targets.master_version,
dev: this.targets.dev_version,
@ -64,14 +73,14 @@ export class MergeComponent<T> {
// fetch log file
this.fetchLogsToDisplay("", false, false);
// fetch json
mergeLogs = this.fetchLogsToDisplay("", false, true);
this.mergeLogs = this.fetchLogsToDisplay("", false, true);
}
}
},
})
}
fetchLogsToDisplay(query: string, isDisplayOnly: boolean, requestJson: boolean){
fetchLogsToDisplay(query: string, isDisplayOnly: boolean, requestJson: boolean) : Map<string, string> | void{
let additionalParams:string = "?query=";
if(query != ""){
additionalParams += query

View file

@ -117,6 +117,10 @@ def merge(args):
global debug
debug = args[4] if args[4] != None else False
if len(args) > 5:
global requester
requester = args[5] if args[5] != None else ""
#
if (os.path.exists(master_path) == False) and str(master_path).isdigit():
master_path = CoffeeRecipeDirectory + "/coffeethai02_" + str(master_path) + ".json"
@ -135,6 +139,17 @@ def merge(args):
print("Master file size => ",os.stat(master_path).st_size)
print("Dev file size => ",os.stat(dev_path).st_size)
#
# Requester
events_json.append(create_map(
events_action="REQUESTER",
log="GetRequestFrom",
additional=[{
"timestamp": GetDateTimeString(),
"requester": requester
}]))
events.append(GetDateTimeString()+"\t[REQUEST]\t\tget request from \""+requester+"\"\n")
events_json.append(create_map(events_action="MERGE", log=devName.split("/")[-1]+" into "+masterName.split("/")[-1]))
events.append(GetDateTimeString()+"\t[MERGE]\t\tMerging "+devName.split("/")[-1]+" into "+masterName.split("/")[-1]+"\n")
# print(GetDateTimeString()+"\tMerging "+dev_file.name.split("/")[-1]+" into "+master_file.name.split("/")[-1]+"\n")
@ -187,7 +202,7 @@ def merge(args):
# log json file
if os.stat(file_path+".json").st_size == 0:
if not os.path.exists(file_path+".json") or os.stat(file_path+".json").st_size == 0:
with open(file_path+".json", "w+",encoding="utf-8") as outlogfile:
json.dump({"logs"+GetDateTimeString()+"*": events_json}, outlogfile, indent=2, ensure_ascii=False)
else:

View file

@ -103,7 +103,7 @@ func (s *Server) createHandler() {
}
// verify token by request to google api
res, err := http.Get("https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=" + url.QueryEscape(cookie.Value))
res, err := http.Get("https://www.googleapis.com/oauth2/v3/tokeninfo?access_token=" + url.QueryEscape(cookie.Value))
if err != nil {
w.WriteHeader(http.StatusUnauthorized)
@ -112,11 +112,12 @@ func (s *Server) createHandler() {
defer res.Body.Close()
log.Println("res: ", res)
var tokenInfo map[string]interface{}
json.NewDecoder(res.Body).Decode(&tokenInfo)
context := context.WithValue(r.Context(), "user", tokenInfo)
log.Println("decode res: ", tokenInfo["email"])
next.ServeHTTP(w, r.WithContext(context))
})
})
@ -152,13 +153,9 @@ func (s *Server) createHandler() {
master_path := repo_path + master_version + ".json"
dev_path := repo_path + dev_version + ".json"
// // output path
// output_path := ""
// // changelog path
// changelog_path := ""
// TODO: Call merge api if found
// Get who's requesting
user := r.Context().Value("user").(map[string]interface{})
log.Println("User: ", user["email"].(string))
// lookup for python exec
py_exec, err := exec.LookPath("python")
@ -176,7 +173,7 @@ func (s *Server) createHandler() {
}
defer merge_api.Close()
log.Println("Locate python api", merge_api.Name())
cmd := exec.Command(py_exec, merge_api.Name(), "merge", master_path, dev_path, output_path, changelog_path)
cmd := exec.Command(py_exec, merge_api.Name(), "merge", master_path, dev_path, output_path, changelog_path, "", user["email"].(string))
log.Println("Run merge command", cmd)
out, err := cmd.CombinedOutput()
@ -206,12 +203,13 @@ func (s *Server) createHandler() {
if rj, ok := postRequest["requestJson"].(bool); ok {
if rj {
file_ext = ".json"
}
} else if !rb {
} else if !rb && !rj {
file_ext = ".log"
}
}
}
log.Println("Log file ext: ", file_ext)
changelog_path := "cofffeemachineConfig/changelog/testlog" + file_ext
logFile, err := os.Open(changelog_path)
if err != nil {