Files
calculate_negative_points/internal/api/requests/users/current.go
Eugene Howe b0957bfa49
Some checks failed
Docker Build and Publish / publish (push) Failing after 1m33s
webapp
2026-02-17 09:47:30 -05:00

32 lines
763 B
Go

package users
import (
"context"
"go/types"
"clintonambulance.com/calculate_negative_points/internal/api/middleware"
internal_types "clintonambulance.com/calculate_negative_points/internal/types"
"github.com/coreos/go-oidc/v3/oidc"
"github.com/samber/lo"
"github.com/swaggest/usecase"
)
func GetCurrentUser() usecase.Interactor {
u := usecase.NewInteractor(func(ctx context.Context, input types.Nil, output *internal_types.UiUserResponse) error {
ctxId := ctx.Value("user").(*oidc.IDToken)
ctxUser := ctx.Value("claims").(middleware.Claims)
if lo.IsNotEmpty(ctxId.Issuer) {
output.Item = internal_types.UiUser{
Name: ctxUser.Name,
}
}
return nil
})
u.SetDescription("Retrieve the current user")
u.SetTags("Users")
return u
}