Files

23 lines
492 B
Go

package service
import (
"context"
"lunar-tear/server/internal/store"
"google.golang.org/grpc/metadata"
)
func CurrentUserId(ctx context.Context, users store.UserRepository, sessions store.SessionRepository) int64 {
if md, ok := metadata.FromIncomingContext(ctx); ok {
if vals := md.Get("x-apb-session-key"); len(vals) > 0 {
if userId, err := sessions.ResolveUserId(vals[0]); err == nil {
return userId
}
}
}
defaultId, _ := users.DefaultUserId()
return defaultId
}