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 id2 = selectedCards[1].dataset.id;
const idUser = document.getElementById('user-data').dataset.userId;
if (type === 'reproduction') {
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',
headers: {
'Accept': 'application/json'

@ -13,6 +13,8 @@ use Symfony\Contracts\HttpClient\HttpClientInterface;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpFoundation\Request;
use App\Repository\EmojiRepository;
use App\Entity\UserEmojis;
use App\Repository\UserRepository;
#[Route('/emojis', name: 'app_emoji_')]
class EmojiController extends AbstractController
@ -20,12 +22,15 @@ class EmojiController extends AbstractController
private RarityRepository $rarityRepository;
private HttpClientInterface $httpClient;
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->httpClient = $httpClient;
$this->emojiService = $emojiService;
$this->userRepository = $userRepository;
}
#[Route('/', name: 'emojis')]
@ -96,8 +101,15 @@ class EmojiController extends AbstractController
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+'])]
public function reproduceEmoji(int $emoji1_id, int $emoji2_id, EntityManagerInterface $entityManager, EmojiRepository $emojiRepository): JsonResponse {
#[Route('/fusion/{userId}/{emoji1_id}/{emoji2_id}', name: 'fusion', methods: ['GET'], requirements: ['userId' => '\d+', 'emoji1_id' => '\d+', 'emoji2_id' => '\d+'])]
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);
$emoji2 = $emojiRepository->find($emoji2_id);
@ -171,6 +183,13 @@ class EmojiController extends AbstractController
$child->setParent2($emoji2);
$entityManager->persist($child);
$userEmoji = new UserEmojis();
$userEmoji->setUser($user);
$userEmoji->setEmoji($child);
$entityManager->persist($userEmoji);
$entityManager->flush();
return new JsonResponse([

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