Skip to content

Commit 8cc6cf4

Browse files
committed
Add summoner note view.
1 parent 8ba2dc1 commit 8cc6cf4

2 files changed

Lines changed: 30 additions & 0 deletions

File tree

player/urlsapi.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
path('login/', player_views.login_action),
5050
path('logout/', player_views.logout_action),
5151
path('is_suspicious/', player_views.is_suspicious_account),
52+
path("summoner-note/", player_views.save_summoner_note),
5253
]
5354

5455
urlpatterns = format_suffix_patterns(urlpatterns)

player/viewsapi.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
FavoriteSerializer, CommentSerializer,
4949
ReputationSerializer, UserSerializer,
5050
NameChangeSerializer,
51+
SummonerNoteSerializer,
5152
)
5253

5354
import random
@@ -57,6 +58,34 @@
5758
logger = logging.getLogger(__name__)
5859

5960

61+
@api_view(["POST"])
62+
@require_login
63+
def save_summoner_note(request, format=None):
64+
data = {}
65+
status_code = 200
66+
summoner_id = request.data.get('summoner_id')
67+
note = request.data.get('note', '')
68+
if len(note) > 10000:
69+
return Response({'message': 'Note is too long'}, status=400)
70+
71+
if not summoner_id:
72+
return Response({'message': 'summoner_id is required'}, status=400)
73+
74+
summoner = get_object_or_404(Summoner, id=summoner_id)
75+
76+
obj, _ = SummonerNote.objects.update_or_create(
77+
user=request.user,
78+
summoner=summoner,
79+
defaults={'note': note}
80+
)
81+
82+
data = {
83+
'status': 'success',
84+
'data': SummonerNoteSerializer(obj).data
85+
}
86+
return Response(data, status=status_code)
87+
88+
6089
def get_by_puuid(puuid, region='na'):
6190
query = Summoner.objects.filter(puuid=puuid)
6291
if summoner := query.first():

0 commit comments

Comments
 (0)