1
1
from __future__ import annotations
2
2
3
+ from typing import Literal
4
+
3
5
from rest_framework import serializers , status
4
6
from rest_framework .request import Request
5
7
from rest_framework .response import Response
@@ -57,9 +59,11 @@ def _get_member(
57
59
self ,
58
60
request : Request ,
59
61
organization : Organization ,
60
- member_id : int | str ,
62
+ member_id : int | Literal [ "me" ] ,
61
63
invite_status : InviteStatus | None = None ,
62
64
) -> OrganizationMember :
65
+ if member_id == "me" : # not supported for invites!
66
+ raise OrganizationMember .DoesNotExist ()
63
67
try :
64
68
return OrganizationMember .objects .get_member_invite_query (member_id ).get (
65
69
organization = organization
@@ -130,7 +134,7 @@ def put(
130
134
if "approve" in request .data :
131
135
allowed_roles = get_allowed_org_roles (request , organization )
132
136
133
- serializer = ApproveInviteRequestSerializer (
137
+ approve_serializer = ApproveInviteRequestSerializer (
134
138
data = request .data ,
135
139
context = {
136
140
"request" : request ,
@@ -140,10 +144,10 @@ def put(
140
144
},
141
145
)
142
146
143
- if not serializer .is_valid ():
144
- return Response (serializer .errors , status = status .HTTP_400_BAD_REQUEST )
147
+ if not approve_serializer .is_valid ():
148
+ return Response (approve_serializer .errors , status = status .HTTP_400_BAD_REQUEST )
145
149
146
- result = serializer .validated_data
150
+ result = approve_serializer .validated_data
147
151
148
152
if result .get ("approve" ) and not member .invite_approved :
149
153
api_key = get_api_key_for_audit_log (request )
0 commit comments