Skip to content
Snippets Groups Projects
Commit 2a6af9fc authored by Kenneth Tran's avatar Kenneth Tran
Browse files

Adding lost files and handle func on commits + most count

parent 5a3ec9fa
No related branches found
No related tags found
No related merge requests found
main.go 0 → 100644
package main
import (
"net/http"
A "oblig2/packs"
"log"
"os"
)
func main(){
port := os.Getenv("PORT")
port = "8080"
if port == "" {
log.Fatal("PORT must be set")
}
A.GetCommits()
log.Fatal(http.ListenAndServe(":"+port, nil))
// B.GetIssues()
// C.GetLanguages()
}
package packs
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"strconv"
)
const URL = "https://gitlab.example.com/api/v4/projects"
type Repo1 struct { //struct repo with most commits
Id int `json: "id"`
MostCommits string `json:"path_with_namespace"`
Counter Counter
// Counter1 //convert to Jsonformat
}
type Repo2 struct { // struct repo with second most commits
SecondCommits string `json:"path_with_namespace"`
// Counter2 int //convert to Jsonformat
}
type Counter struct {
Counter int `json:"counter"`
}
type MergeRep struct {
Repo1 Repo1
Repo2 Repo2
}
func GetCommits(){
http.HandleFunc("/repocheck/v1/commits", handlerCommits)
}
func countMost(w http.ResponseWriter, r *http.Request, pointer* []Repo1 , pointer2* []Counter){
for j := 0; j <= len(*pointer); j++ {
spesificPro := strconv.Itoa((*pointer)[j].Id)
url := URL + spesificPro + "/repository/commits"
response, err := http.Get(url)
if err != nil { //error handler
fmt.Println("Error: we have a problem", err)
}
// create an array of id`s
var buffer []Counter
err = json.NewDecoder(response.Body).Decode(&buffer)
counter := len(buffer)
(*pointer2)[j].Counter = counter
}
}
func handlerCommits(w http.ResponseWriter, r *http.Request) {
response, err := http.Get(URL)
if err != nil { //error handler
fmt.Println("Error: we have a problem", err)
}
var content Repo1
var content2 Repo2
var merged MergeRep
countMost(w,r,&content, &Repo2)
err = json.NewDecoder(response.Body).Decode(&content)
merged.Repo1 = content
merged.Repo2 = content2
var buffer = new(bytes.Buffer)
encode := json.NewEncoder(buffer)
encode.Encode(merged)
w.Header().Set("Content-type", "application/json")
io.Copy(w, buffer)
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment