(c echo.Context)
| 323 | } |
| 324 | |
| 325 | func getCurrentUser(c echo.Context) (*common.User, error) { |
| 326 | logger := handler.NewLogger().Named("getCurrentUser") |
| 327 | logger.Info("getCurrentUser") |
| 328 | key := "current_user" |
| 329 | currentUser := c.Get(key) |
| 330 | if currentUser != nil { |
| 331 | if user, ok := currentUser.(*common.User); ok { |
| 332 | return user, nil |
| 333 | } |
| 334 | } |
| 335 | storeManager, err := common.NewStoreManager([]string{handler.ConsulAddr}, logger) |
| 336 | if err != nil { |
| 337 | return nil, err |
| 338 | } |
| 339 | user, exist, err := storeManager.GetUser(GetUserName(c)) |
| 340 | if err != nil { |
| 341 | return nil, err |
| 342 | } else if !exist { |
| 343 | return nil, fmt.Errorf("current user is not exist") |
| 344 | } |
| 345 | |
| 346 | c.Set(key, user) |
| 347 | return user, nil |
| 348 | } |
| 349 | |
| 350 | func GetUserName(c echo.Context) (string, string) { |
| 351 | user := c.Get("user").(*jwt.Token) |
no test coverage detected