MCPcopy Create free account
hub / github.com/Dispatcharr/Dispatcharr / me

Method me

apps/accounts/api_views.py:245–267  ·  view source on GitHub ↗
(self, request)

Source from the content-addressed store, hash-verified

243 )
244 @action(detail=False, methods=["get", "patch"], url_path="me")
245 def me(self, request):
246 user = request.user
247 if request.method == "PATCH":
248 ALLOWED_FIELDS = {"custom_properties", "first_name", "last_name", "email", "password"}
249 disallowed = set(request.data.keys()) - ALLOWED_FIELDS
250
251 for key in disallowed:
252 request.data.pop(key, None)
253
254 # Strip admin-managed keys from custom_properties so users cannot
255 # set their own XC credentials or network rules via this endpoint.
256 ADMIN_ONLY_PROPS = {"xc_password", "allowed_networks"}
257 cp = request.data.get("custom_properties")
258 if isinstance(cp, dict):
259 for key in ADMIN_ONLY_PROPS:
260 cp.pop(key, None)
261
262 serializer = UserSerializer(user, data=request.data, partial=True)
263 serializer.is_valid(raise_exception=True)
264 serializer.save()
265 return Response(serializer.data)
266 serializer = UserSerializer(user)
267 return Response(serializer.data)
268
269
270# 🔹 3) Group Management APIs

Callers

nothing calls this directly

Calls 4

UserSerializerClass · 0.85
keysMethod · 0.80
getMethod · 0.45
saveMethod · 0.45

Tested by

no test coverage detected