Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony][ApiPlatform] Serializacja pól dla poszczególnych ról użytkownika
ciastek1001
post 24.09.2021, 09:54:36
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 29.04.2019

Ostrzeżenie: (0%)
-----


Witam
Testuje sobie ApiPlatform z Symfony 5.
Mam kilka ról i wiele encji użytkownika. Oprócz ról użytkownicy mogą robić wiecej ze swoimi postami np. edytować itd.
Rolami i dostępami radziłem sobie przez tworzenie klas Voter. W apiPlatform przez andotacje moge wybrane właściwości z encji pogrupować na te które chce serializować. W dokumentacji ApiPlatform https://api-platform.com/docs/core/serialization/ jest wytłumaczone jak działają grupy. Wymyśliłem sobie podział na takie grupy:
admin:read, admin:write, user:read,user:write , owner:..... i tak dalej. Rodzi to jednak pewien problem.
Załóżmy że do encji post dodaje grupy admin:read, do powiązanej relacją encji user też dodaje grupe admin:read, do encji user_groups powiązanej z userem też dodam w kilku własciwościach grupe admin:read.
W tym przypadku gdy chce pobrać post nastąpi serializacja obiektu post + serializacja obiektu user a jesli user to też serializacja powiazanej encji user_groups. Wieć jeśli powiazań jest bardzo dużo to jedno zapytanie wiąże się z pobraniem baaardzo wielu innych niepotrzebnych rzeczy. I to wszystko dlatego, ponieważ dałem grupe która identycznie się nazywa.
Czy w ogole takie grupowanie na role jest prawidłowe ? Może trzeba dla każdej encji napisać klasy DTO i tam sprawdzać czy Voter przepuszcza, tylko czy to nie zbytni nadmiar kodu ? Jak to powinno poprawnie wyglądać?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 01:44