- Php 8.0 or higher
- MySQL 5 or higher
- Jobatator to manage queue/jobs
- Redis or a Redis compatible server like KeyValuer
- Clone this repo
- Run
composer install - Use
.env.exampleto create your own.env - Start the api with
php -S 127.0.0.1:8000 -t public
Recommended environment variables values:
- In development:
SENTRY_ENABLE=0because you don't want to float sentry andAPP_DEBUG=1to get the nice pretty whoops guard web interface to debug. - In production: 'SENTRY_ENABLE=1' to get log to sentry and
APP_DEBUG=0to hide details of exception, but still if APP_DEBUG is false you will get some kind of details in JSON when the server fail
This project use phinx as a database migration/seed manager.
Migrate the database up to the latest version: vendor/bin/phinx migrate
Run a seed/fixture: vendor/bin/phinx seed:run -s GameSeeder
To get a webhook event if you are in local, you want to use Stripe CLI
Use: stripe listen --forward-to localhost:8000/stripe/execute --events checkout.session.completed
| Route | Type | Auth | Params | Description |
|---|---|---|---|---|
| / | GET | No | Affiche les infos générales sur l'api : env, version... | |
| /ping | GET | No | Pong ! | |
| /newsletter/subscribe | POST | No | email |
Inscrire une adresse mail |
| /newsletter/event | GET | No | Vérification si la route existe bien apr Mailchimp | |
| /newsletter/event | POST | No | Route appelée par Mailchimp, envoi un webhook Discord. |
| Route | Type | Auth | Params | Description |
|---|---|---|---|---|
| /graphql | POST | Yes (Bearer) | yourBearerToken |
To see all schema with all descriptions, you can check here.
This is a schema generated automatically by graphql-markdown (here).
Script command (add to your package.json) :
node ./src/index.js --header \"Authorization=Bearer yourToken\" https://api.retrobox.tech/graphql > schema.md- Be sure that you are well connected with your stail.eu account
- Press
F12, go to theConsoletab - Write this function in the prompt
getToken() - Then it will return your unique Bearer token
| Route | Type | Auth | Params | Description |
|---|---|---|---|---|
| /stripe/execute | POST | Yes | token items shipping_country shipping_method |
Appelée par le front avec un token Stripe |
| /stripe/create | POST | Yes | token items shipping_country shipping_method |
Créer la session de paiement |
| /paypal/get-url | POST | Yes | items shipping_country shipping_method |
Récuperer l'url fin de paiement |
| /paypal/execute | GET | No | items shipping_country shipping_method |
Appelée par le front une fois redirigé par Paypal |
| Route | Type | Auth | Params | Description |
|---|---|---|---|---|
| /paysafecard/capture_payments | POST | No | Appelée par PSC | |
| /paysafecard/success | GET | No | Redirection de l'utilisateur en cas de paiement réussi | |
| /paysafecard/failure | GET | No | Redirection de l'utilisateur en cas de d'un échec | |
| /paysafecard/get_url | GET | No | Récuperer l'url fin de paiement |
| Route | Type | Auth | Params | Description |
|---|---|---|---|---|
| /info | GET | Yes | Récuperer les infos de l'user connecté actuellement | |
| /login | GET | No | Avoir l'url de stail.eu | |
| /register | GET | No | Avoir l'url de stail.eu | |
| /login-desktop | GET | No | Lien pour lier l'app desktop | |
| /login-desktop | POST | Yes | token |
Appelée par le front pour lier avec le compte |
| /execute | GET/POST | Yes | code |
Executer une connexion stail.eu |
| Route | Type | Auth | Params | Description |
|---|---|---|---|---|
| [/] | GET | Yes | Renvoi les infos user, les commandes et les consoles | |
| /upload | POST | Yes | file |
Upload d'un rom (WIP) |
| /delete | GET | Yes | Supprimer son compte |
| Route | Type | Auth | Params | Description |
|---|---|---|---|---|
| /storage-prices | GET | No | Avoir les différents prix d'une console | |
| /shipping-prices | GET | No | Avoir les prix des FDP en fonction du poids et du contry code | |
| /{locale}/categories | GET | No | Avoir les catégories en fonction des locales | |
| /{locale}/item/{slug} | GET | No | Avoir les nom des objets en fonction des locales | |
| /cache/shop/generate | GET | No | Regenerer le cache du shop |
| Route | Type | Auth | Params | Description |
|---|---|---|---|---|
| /console/verify | POST | No | console_id console_token |
Appelée par la console pour initialiser l'overlay |
| /downloads | GET | No | Renvoyer les liens pour telechager l'app desktop | |
| /docs/{locale}/{slug} | GET | No | /deprecated\ Retourne le markdown en fonction de la locales | |
| /websocket/connexions | GET | is-admin | Retourne les différentes connexions ouvertes sur le serveur web-socket | |
| /countries/{locale} | GET | No | Retourne la liste de tous les pays dans la locale spécifiée | |
| /health | GET | No | Voir l'état des connexions avec les services externes (MySQL, Redis, Web-Socket, Jobatator) | |
| /test-send-email-event | GET | No | Envoyer un email de test | |
| /dangerously-truncate-table | GET | No | Fonctionne seulement dans l'env "test" |