MCPcopy Create free account
hub / github.com/TheThingsNetwork/lorawan-stack / CurrentUser

Method CurrentUser

pkg/account/user.go:43–69  ·  view source on GitHub ↗
(w http.ResponseWriter, r *http.Request)

Source from the content-addressed store, hash-verified

41}
42
43func (s *server) CurrentUser(w http.ResponseWriter, r *http.Request) {
44 r, session, err := s.session.Get(w, r)
45 if err != nil {
46 webhandlers.Error(w, r, err)
47 return
48 }
49 r, user, err := s.session.GetUser(w, r)
50 if err != nil {
51 webhandlers.Error(w, r, err)
52 return
53 }
54 safeUser := user.PublicSafe()
55 userJSON, err := jsonpb.TTN().Marshal(safeUser)
56 if err != nil {
57 webhandlers.Error(w, r, err)
58 return
59 }
60 webhandlers.JSON(w, r, struct {
61 User json.RawMessage `json:"user"`
62 LoggedInAt *time.Time `json:"logged_in_at"`
63 SessionId string `json:"session_id"`
64 }{
65 User: userJSON,
66 LoggedInAt: ttnpb.StdTime(session.CreatedAt),
67 SessionId: session.SessionId,
68 })
69}
70
71var (
72 errMissingUserID = errors.DefineInvalidArgument("missing_user_id", "missing user_id")

Callers

nothing calls this directly

Calls 8

ErrorFunction · 0.92
TTNFunction · 0.92
JSONFunction · 0.92
StdTimeFunction · 0.92
GetMethod · 0.65
GetUserMethod · 0.65
MarshalMethod · 0.65
PublicSafeMethod · 0.45

Tested by

no test coverage detected