magnetico-web/config/routes.yaml

84 lines
1.9 KiB
YAML

# Basic Front-End
index:
path: /
controller: App\Controller\MainController::index
torrents_search:
path: /torrents
controller: App\Controller\TorrentController::searchTorrent
requirements:
method: GET
torrents_show:
path: /torrents/{id}
controller: App\Controller\TorrentController::showTorrent
requirements:
method: GET
id: '\d+'
# Mainly for Telegram bot
magnet_redirect:
path: /magnet/{infoHash}
controller: App\Controller\MagnetRedirectController::redirect
requirements:
method: GET
# SHA-1 hash
infoHash: '[0-9a-fA-F]{40}'
user_register:
path: /register/{inviteCode}
controller: App\Controller\UserController::register
requirements:
method: GET
inviteCode: \w{32}
user_account_invites:
path: /account/invites
controller: App\Controller\AccountController::invites
requirements:
method: GET
user_login:
path: /login
controller: App\Controller\SecurityController::login
user_logout:
path: /logout
# API
api_v1_login:
path: /api/v1/login
controller: App\Api\V1\Controller\SecurityController::login
defaults:
_format: json
requirements:
method: POST
_format: json
api_v1_logout:
path: /api/v1/logout
controller: App\Api\V1\Controller\SecurityController::logout
defaults:
_format: json
requirements:
method: GET
_format: json
api_v1_torrents:
path: /api/v1/torrents
controller: App\Api\V1\Controller\TorrentController::search
defaults:
_format: json
requirements:
method: GET
_format: json
api_v1_torrents_show:
path: /api/v1/torrents/{id}
controller: App\Api\V1\Controller\TorrentController::show
defaults:
_format: json
requirements:
method: GET
_format: json
id: '\d+'