This commit is contained in:
Kenta420 2024-01-25 16:54:57 +07:00
parent 5cf0a8b761
commit 28cdbbc4f9
5 changed files with 84 additions and 1 deletions

View file

@ -52,7 +52,13 @@ func (o *oauthService) AuthURL(state string, stateMap map[string]string) string
o.nonce[state] = make(map[string]string)
}
return o.gConfig.AuthCodeURL(state, oauth2.SetAuthURLParam("hd", "forth.co.th"), oauth2.SetAuthURLParam("include_granted_scopes", "true"), oauth2.AccessTypeOffline)
authCodeOptions := []oauth2.AuthCodeOption{
// oauth2.SetAuthURLParam("hd", "forth.co.th"),
oauth2.SetAuthURLParam("include_granted_scopes", "true"),
oauth2.AccessTypeOffline,
}
return o.gConfig.AuthCodeURL(state, authCodeOptions...)
}
func (o *oauthService) GetState(state string) (map[string]string, bool) {

View file

@ -16,6 +16,7 @@ import (
type RecipeService interface {
GetRecipeDashboard(request *contracts.RecipeDashboardRequest) (contracts.RecipeDashboardResponse, error)
GetRecipeOverview(request *contracts.RecipeOverviewRequest) (contracts.RecipeOverviewResponse, error)
GetAllRecipe(request *contracts.GetAllRecipeRequest) (contracts.GetAllRecipeResponse, error)
GetRecipeDetail(request *contracts.RecipeDetailRequest) (contracts.RecipeDetailResponse, error)
GetRecipeDetailMat(request *contracts.RecipeDetailRequest) (contracts.RecipeDetailMatListResponse, error)
@ -299,6 +300,48 @@ func (rs *recipeService) GetRecipeOverview(request *contracts.RecipeOverviewRequ
return result, nil
}
func (rs *recipeService) GetAllRecipe(request *contracts.GetAllRecipeRequest) (contracts.GetAllRecipeResponse, error) {
countryID, err := rs.db.GetCountryIDByName(request.Country)
if err != nil {
return contracts.GetAllRecipeResponse{}, fmt.Errorf("country name: %s not found", request.Country)
}
recipe := rs.db.GetRecipe(countryID, request.Filename)
result := contracts.GetAllRecipeResponse{}
// Map to contracts.RecipeOverview
for _, v := range recipe.Recipe01 {
result.Result = append(result.Result, contracts.RecipeOverview{
ID: v.ID,
ProductCode: v.ProductCode,
Name: v.Name,
OtherName: v.OtherName,
Description: v.Description,
OtherDescription: v.OtherDescription,
LastUpdated: v.LastChange,
})
// submenu
if len(v.SubMenu) > 0 {
for _, sub := range v.SubMenu {
result.Result = append(result.Result, contracts.RecipeOverview{
ID: sub.ID,
ProductCode: sub.ProductCode,
Name: sub.Name,
OtherName: sub.OtherName,
Description: sub.Description,
OtherDescription: sub.OtherDescription,
LastUpdated: sub.LastChange,
})
}
}
}
return result, nil
}
func NewRecipeService(db *data.Data, taoLogger *logger.TaoLogger) RecipeService {
return &recipeService{
db: db,