tested google sheet it workgit add!!!
This commit is contained in:
parent
6193d1f4a8
commit
529477887b
3 changed files with 43 additions and 19 deletions
|
|
@ -5,6 +5,7 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
"recipe-manager/data"
|
"recipe-manager/data"
|
||||||
"recipe-manager/models"
|
"recipe-manager/models"
|
||||||
|
"recipe-manager/services/sheet"
|
||||||
"sort"
|
"sort"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
@ -13,12 +14,14 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
type RecipeRouter struct {
|
type RecipeRouter struct {
|
||||||
data *data.Data
|
data *data.Data
|
||||||
|
sheetService sheet.SheetService
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewRecipeRouter(data *data.Data) *RecipeRouter {
|
func NewRecipeRouter(data *data.Data, sheetService sheet.SheetService) *RecipeRouter {
|
||||||
return &RecipeRouter{
|
return &RecipeRouter{
|
||||||
data: data,
|
data: data,
|
||||||
|
sheetService: sheetService,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -99,5 +102,10 @@ func (rr *RecipeRouter) Route(r chi.Router) {
|
||||||
r.Get("/versions", func(w http.ResponseWriter, r *http.Request) {
|
r.Get("/versions", func(w http.ResponseWriter, r *http.Request) {
|
||||||
json.NewEncoder(w).Encode(rr.data.AllVersions)
|
json.NewEncoder(w).Encode(rr.data.AllVersions)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
r.Get("/test/sheet", func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
result := rr.sheetService.GetSheet(r.Context(), "1rSUKcc5POR1KeZFGoeAZIoVoI7LPGztBhPw5Z_ConDE")
|
||||||
|
json.NewEncoder(w).Encode(result)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ import (
|
||||||
"recipe-manager/services/cli"
|
"recipe-manager/services/cli"
|
||||||
"recipe-manager/services/logger"
|
"recipe-manager/services/logger"
|
||||||
"recipe-manager/services/oauth"
|
"recipe-manager/services/oauth"
|
||||||
|
"recipe-manager/services/sheet"
|
||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
@ -437,7 +438,14 @@ func (s *Server) createHandler() {
|
||||||
})
|
})
|
||||||
|
|
||||||
// Recipe Router
|
// Recipe Router
|
||||||
rr := routers.NewRecipeRouter(database)
|
sheetService, err := sheet.NewSheetService(context.Background())
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
Log.Fatal("Error while trying to create sheet service: ", zap.Error(err))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
rr := routers.NewRecipeRouter(database, sheetService)
|
||||||
rr.Route(r)
|
rr.Route(r)
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
type SheetService interface {
|
type SheetService interface {
|
||||||
|
GetSheet(ctx context.Context, sheetID string) [][]interface{}
|
||||||
}
|
}
|
||||||
|
|
||||||
type sheetService struct {
|
type sheetService struct {
|
||||||
|
|
@ -42,28 +43,35 @@ func NewSheetService(ctx context.Context) (SheetService, error) {
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *sheetService) GetSheet(ctx context.Context, sheetID string) {
|
func (s *sheetService) GetSheet(ctx context.Context, sheetID string) [][]interface{} {
|
||||||
spreadSheet, err := s.service.Spreadsheets.Get(sheetID).Do()
|
spreadSheet, err := s.service.Spreadsheets.Get(sheetID).Do()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, sheet := range spreadSheet.Sheets {
|
var sheetIndex int
|
||||||
|
for i, sheet := range spreadSheet.Sheets {
|
||||||
// print data collumn C
|
// print data collumn C
|
||||||
readRange := sheet.Properties.Title + "!C:C"
|
if sheet.Properties.Title == "menu-name" {
|
||||||
resp, err := s.service.Spreadsheets.Values.Get(sheetID, readRange).Do()
|
sheetIndex = i
|
||||||
|
break
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(resp.Values) == 0 {
|
|
||||||
println("No data found")
|
|
||||||
} else {
|
|
||||||
for _, row := range resp.Values {
|
|
||||||
println(row[0].(string))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sheet, err := s.service.Spreadsheets.Values.Get(sheetID, spreadSheet.Sheets[sheetIndex].Properties.Title).Do()
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
result := [][]interface{}{}
|
||||||
|
|
||||||
|
for _, row := range sheet.Values {
|
||||||
|
if len(row) >= 6 {
|
||||||
|
result = append(result, row)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue