magnetico-web/config/routes.yaml

120 lines
2.7 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/{code}
controller: App\Controller\UserController::register
requirements:
method: GET
inviteCode: \w{32}
user_reset_request:
path: /auth/reset/request
controller: App\Controller\UserController::requestReset
user_reset:
path: /auth/reset/{code}
controller: App\Controller\UserController::reset
user_auth_login:
path: /auth/login
controller: App\Controller\SecurityController::login
user_auth_logout:
path: /auth/logout
user_account:
path: /account
controller: App\Controller\AccountController::account
requirements:
method: GET
user_account_password_change:
path: /account/password
controller: App\Controller\AccountController::changePassword
requirements:
method: POST
user_account_token_create:
path: /profile/api/token/create
controller: App\Controller\AccountController::addApiToken
requirements:
method: GET
user_account_token_revoke:
path: /profile/api/token/revoke/{key}
controller: App\Controller\AccountController::revokeApiToken
requirements:
method: GET
# 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+'
api_v1_rss_last:
path: /api/v1/feed/rss/last
controller: App\Api\V1\Controller\RssController::last
defaults:
_format: xml
requirements:
method: GET
_format: xml