From 108b4e3266b1b6728ba2b01ac7c9d1bf04f24fb9 Mon Sep 17 00:00:00 2001 From: Leo Dev Date: Tue, 21 May 2024 19:32:38 +0200 Subject: [PATCH] added create, edit, delete --- src/commands.go | 23 ----------------------- src/fetcher.go | 21 ++++++++++----------- src/gh.go | 2 +- src/install.go | 3 +++ src/main.go | 21 +++++++++++++++++++++ 5 files changed, 35 insertions(+), 35 deletions(-) delete mode 100644 src/commands.go diff --git a/src/commands.go b/src/commands.go deleted file mode 100644 index b435247..0000000 --- a/src/commands.go +++ /dev/null @@ -1,23 +0,0 @@ -package main - -import ( - "fmt" - "strings" -) - -func showHelp() { - fmt.Println("wpm - Wyst Package Manager") - fmt.Println("Commands:") - fmt.Println(" install [:version] - Install a package (version is optional)") - fmt.Println(" version - Show the wpm version") - fmt.Println(" help - Show this help message") - fmt.Println(" info - Show package information (author, description, versions)") -} - -func parsePackageArg(arg string) (string, string) { - parts := strings.Split(arg, ":") - if len(parts) == 2 { - return parts[0], parts[1] - } - return parts[0], "" -} diff --git a/src/fetcher.go b/src/fetcher.go index 89cf3e5..2e0f5db 100644 --- a/src/fetcher.go +++ b/src/fetcher.go @@ -6,7 +6,6 @@ import ( "fmt" "io/ioutil" "net/http" - "os" ) type Request struct { @@ -27,33 +26,33 @@ type PackageIndex struct { Message string `json:"message"` } -func sendRequest(method, url string, jsonBody []byte) Request { +func sendRequest(method, url string, jsonBody []byte) (Request, error) { bodyReader := bytes.NewReader(jsonBody) req, err := http.NewRequest(method, url, bodyReader) if err != nil { - fmt.Printf("Error fetching package info: %v\n", err) - return Request{Body: []byte(""), StatusCode: 402} + return Request{Body: []byte(""), StatusCode: 400}, err } req.Header.Set("Content-Type", "application/json") res, err := http.DefaultClient.Do(req) if err != nil { - fmt.Printf("client: error making http request: %s\n", err) - os.Exit(1) + return Request{Body: []byte(""), StatusCode: 400}, err } defer res.Body.Close() resBody, err := ioutil.ReadAll(res.Body) if err != nil { - fmt.Printf("client: could not read response body: %s\n", err) - os.Exit(1) + return Request{Body: []byte(""), StatusCode: 400}, err } - return Request{Body: resBody, StatusCode: res.StatusCode} + return Request{Body: resBody, StatusCode: res.StatusCode}, nil } func getPackage(packageName string) (PackageIndex, error) { var pkgidx PackageIndex jsonBody := []byte(fmt.Sprintf(`{"name": "%s"}`, packageName)) - req := sendRequest(http.MethodGet, "http://localhost:3000", jsonBody) - err := json.Unmarshal(req.Body, &pkgidx) + req, err := sendRequest(http.MethodGet, "http://localhost:3000", jsonBody) + if err != nil { + fmt.Printf("Fetching error: %s\n", err) + } + err = json.Unmarshal(req.Body, &pkgidx) if err != nil { fmt.Println("Json Error: ", err) return pkgidx, err diff --git a/src/gh.go b/src/gh.go index 248ae8d..223c48f 100644 --- a/src/gh.go +++ b/src/gh.go @@ -137,4 +137,4 @@ func downloadPackage(repoU, tag string) error { return err } return nil -} +} \ No newline at end of file diff --git a/src/install.go b/src/install.go index d41bee7..93b9cf2 100644 --- a/src/install.go +++ b/src/install.go @@ -45,6 +45,9 @@ func installPackage(packageName, packageVersion string) { } progress.change(9, "", "Extracting") Unzip("temp.zip", "wyst_tmp") + if err := os.RemoveAll("lib/" + packageName); err != nil { + panic(err) + } entries, err := os.ReadDir("./wyst_tmp") if err != nil { panic(err) diff --git a/src/main.go b/src/main.go index a11eeca..8f37e67 100644 --- a/src/main.go +++ b/src/main.go @@ -33,6 +33,27 @@ func main() { return } showPackageInfo(os.Args[2]) + case "create": + if len(os.Args) < 3 { + fmt.Println("Usage: wpm create ") + return + } + createPackage(os.Args[2]) + + case "delete": + if len(os.Args) < 3 { + fmt.Println("Usage: wpm delete ") + return + } + deletePackage(os.Args[2]) + + case "edit": + if len(os.Args) < 3 { + fmt.Println("Usage: wpm edit ") + return + } + editPackage(os.Args[2]) + default: fmt.Println("Unknown command:", command) showHelp()