zitadel/internal/api/info/info.go
Stefan Benz 48ae5d58ac
feat: add activity logs on user actions with authentication, resource… (#6748)
* feat: add activity logs on user actions with authentication, resourceAPI and sessionAPI

* feat: add activity logs on user actions with authentication, resourceAPI and sessionAPI

* feat: add activity logs on user actions with authentication, resourceAPI and sessionAPI

* feat: add activity logs on user actions with authentication, resourceAPI and sessionAPI

* feat: add activity logs on user actions with authentication, resourceAPI and sessionAPI

* fix: add unit tests to info package for context changes

* fix: add activity_interceptor.go suggestion

Co-authored-by: Tim Möhlmann <tim+github@zitadel.com>

* fix: refactoring and fixes through PR review

* fix: add auth service to lists of resourceAPIs

---------

Co-authored-by: Tim Möhlmann <tim+github@zitadel.com>
Co-authored-by: Fabi <fabienne@zitadel.com>
2023-10-25 12:09:15 +00:00

44 lines
811 B
Go

package info
import (
"context"
)
type activityInfoKey struct{}
type ActivityInfo struct {
Method string
Path string
RequestMethod string
}
func (a *ActivityInfo) IntoContext(ctx context.Context) context.Context {
return context.WithValue(ctx, activityInfoKey{}, a)
}
func ActivityInfoFromContext(ctx context.Context) *ActivityInfo {
m := ctx.Value(activityInfoKey{})
if m == nil {
return &ActivityInfo{}
}
ai, ok := m.(*ActivityInfo)
if !ok {
return &ActivityInfo{}
}
return ai
}
func (a *ActivityInfo) SetMethod(method string) *ActivityInfo {
a.Method = method
return a
}
func (a *ActivityInfo) SetPath(path string) *ActivityInfo {
a.Path = path
return a
}
func (a *ActivityInfo) SetRequestMethod(method string) *ActivityInfo {
a.RequestMethod = method
return a
}