func setProduct(target *models.Product, src *models.Product) { target.ID = src.ID target.ProductName = src.ProductName target.ProductDescription = src.ProductDescription target.ProductKey = src.ProductKey target.ProductConfig = src.ProductConfig target.VendorID = src.VendorID target.CreatedAt = src.CreatedAt target.UpdatedAt = src.UpdatedAt }
func addProduct() error { args := models.Product{} reader := bufio.NewReader(os.Stdin) fmt.Printf("vendor ID: ") id, err := reader.ReadString('\n') if err != nil { return err } vendor := strings.Replace(id, "\n", "", -1) vendorid, err := strconv.Atoi(vendor) if err != nil { return err } args.VendorID = int32(vendorid) fmt.Printf("product name: ") name, err := reader.ReadString('\n') if err != nil { return err } args.ProductName = strings.Replace(name, "\n", "", -1) fmt.Printf("product description: ") desc, err := reader.ReadString('\n') if err != nil { return err } args.ProductDescription = strings.Replace(desc, "\n", "", -1) fmt.Printf("product config json file: ") file, err := reader.ReadString('\n') if err != nil { return err } jsonfile := strings.Replace(file, "\n", "", -1) fi, err := os.Open(jsonfile) if err != nil { return err } content, err := ioutil.ReadAll(fi) config := string(content) fi.Close() _, err = productconfig.New(config) if err != nil { return err } args.ProductConfig = config reply := &models.Product{} err = server.RPCCallByName("registry", "Registry.SaveProduct", &args, reply) if err != nil { return err } fmt.Println("=======> product created successfully:") printStruct(reply) fmt.Println("=======") return nil }