Oublie fichier

mathis
Mathis MOULIN 2 weeks ago
parent d0bdb9c067
commit b7e08bb775

@ -51,9 +51,11 @@ document.addEventListener('DOMContentLoaded', () => {
const id1 = selectedCards[0].dataset.id; const id1 = selectedCards[0].dataset.id;
const id2 = selectedCards[1].dataset.id; const id2 = selectedCards[1].dataset.id;
const idUser = document.getElementById('user-data').dataset.userId;
if (type === 'reproduction') { if (type === 'reproduction') {
try { try {
const response = await fetch(`/emojis/fusion/${encodeURIComponent(id1)}/${encodeURIComponent(id2)}`, { const response = await fetch(`/emojis/fusion/${encodeURIComponent(idUser)}/${encodeURIComponent(id1)}/${encodeURIComponent(id2)}`, {
method: 'GET', method: 'GET',
headers: { headers: {
'Accept': 'application/json' 'Accept': 'application/json'

@ -13,6 +13,8 @@ use Symfony\Contracts\HttpClient\HttpClientInterface;
use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
use App\Repository\EmojiRepository; use App\Repository\EmojiRepository;
use App\Entity\UserEmojis;
use App\Repository\UserRepository;
#[Route('/emojis', name: 'app_emoji_')] #[Route('/emojis', name: 'app_emoji_')]
class EmojiController extends AbstractController class EmojiController extends AbstractController
@ -20,12 +22,15 @@ class EmojiController extends AbstractController
private RarityRepository $rarityRepository; private RarityRepository $rarityRepository;
private HttpClientInterface $httpClient; private HttpClientInterface $httpClient;
private EmojiService $emojiService; private EmojiService $emojiService;
private UserRepository $userRepository;
public function __construct(RarityRepository $rarityRepository, HttpClientInterface $httpClient, EmojiService $emojiService) public function __construct(RarityRepository $rarityRepository, HttpClientInterface $httpClient, EmojiService $emojiService,
UserRepository $userRepository)
{ {
$this->rarityRepository = $rarityRepository; $this->rarityRepository = $rarityRepository;
$this->httpClient = $httpClient; $this->httpClient = $httpClient;
$this->emojiService = $emojiService; $this->emojiService = $emojiService;
$this->userRepository = $userRepository;
} }
#[Route('/', name: 'emojis')] #[Route('/', name: 'emojis')]
@ -96,8 +101,15 @@ class EmojiController extends AbstractController
return sprintf('%s%s_%s?size=%d', $baseUrl, $encodedEmoji1, $encodedEmoji2, $size); return sprintf('%s%s_%s?size=%d', $baseUrl, $encodedEmoji1, $encodedEmoji2, $size);
} }
#[Route('/fusion/{emoji1_id}/{emoji2_id}', name: 'fusion', methods: ['GET'], requirements: ['emoji1_id' => '\d+', 'emoji2_id' => '\d+'])] #[Route('/fusion/{userId}/{emoji1_id}/{emoji2_id}', name: 'fusion', methods: ['GET'], requirements: ['userId' => '\d+', 'emoji1_id' => '\d+', 'emoji2_id' => '\d+'])]
public function reproduceEmoji(int $emoji1_id, int $emoji2_id, EntityManagerInterface $entityManager, EmojiRepository $emojiRepository): JsonResponse { public function reproduceEmoji(int $userId, int $emoji1_id, int $emoji2_id, EntityManagerInterface $entityManager, EmojiRepository $emojiRepository): JsonResponse {
$user = $this->userRepository->findOneBy(['id' => $userId]);
if (!$user) {
return new JsonResponse(['error' => 'User not found'], 404);
}
$emoji1 = $emojiRepository->find($emoji1_id); $emoji1 = $emojiRepository->find($emoji1_id);
$emoji2 = $emojiRepository->find($emoji2_id); $emoji2 = $emojiRepository->find($emoji2_id);
@ -171,6 +183,13 @@ class EmojiController extends AbstractController
$child->setParent2($emoji2); $child->setParent2($emoji2);
$entityManager->persist($child); $entityManager->persist($child);
$userEmoji = new UserEmojis();
$userEmoji->setUser($user);
$userEmoji->setEmoji($child);
$entityManager->persist($userEmoji);
$entityManager->flush(); $entityManager->flush();
return new JsonResponse([ return new JsonResponse([

@ -14,6 +14,8 @@
<button type="submit" class="btn btn-logout">🚪 Se déconnecter</button> <button type="submit" class="btn btn-logout">🚪 Se déconnecter</button>
</form> </form>
</div> </div>
<div id="user-data" data-user-id="{{ user.id }}"></div>
{% endif %} {% endif %}
<h1>🧬 Ma collection de créatures 🐾</h1> <h1>🧬 Ma collection de créatures 🐾</h1>
@ -173,5 +175,5 @@
{% endblock %} {% endblock %}
{% block javascripts %} {% block javascripts %}
<script src="{{ asset('js/home.js?v=1.2') }}"></script> <script src="{{ asset('js/home.js?v=1.4') }}"></script>
{% endblock %} {% endblock %}
Loading…
Cancel
Save