fisk/app/urls.py

304 lines
9.1 KiB
Python

"""app URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/4.0/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.contrib.auth.views import LogoutView
from django.urls import include, path
from django.views.generic import TemplateView
from two_factor.urls import urlpatterns as tf_urls
from core.views import (
accounts,
assets,
base,
callbacks,
hooks,
limits,
notifications,
positions,
profit,
risk,
signals,
strategies,
trades,
)
from core.views.stripe_callbacks import Callback
urlpatterns = [
path("__debug__/", include("debug_toolbar.urls")),
path("", base.Home.as_view(), name="home"),
path("callback", Callback.as_view(), name="callback"),
path("billing/", base.Billing.as_view(), name="billing"),
path("order/<str:plan_name>/", base.Order.as_view(), name="order"),
path(
"cancel_subscription/<str:plan_name>/",
base.Cancel.as_view(),
name="cancel_subscription",
),
path(
"success/", TemplateView.as_view(template_name="success.html"), name="success"
),
path("cancel/", TemplateView.as_view(template_name="cancel.html"), name="cancel"),
path("portal", base.Portal.as_view(), name="portal"),
path("sapp/", admin.site.urls),
# 2FA login urls
path("", include(tf_urls)),
path("accounts/signup/", base.Signup.as_view(), name="signup"),
path("accounts/logout/", LogoutView.as_view(), name="logout"),
path("hooks/<str:type>/", hooks.HookList.as_view(), name="hooks"),
path("hooks/<str:type>/create/", hooks.HookCreate.as_view(), name="hook_create"),
path(
"hooks/<str:type>/update/<str:pk>/",
hooks.HookUpdate.as_view(),
name="hook_update",
),
path(
"hooks/<str:type>/delete/<str:pk>/",
hooks.HookDelete.as_view(),
name="hook_delete",
),
path(
f"{settings.HOOK_PATH}/<str:hook_name>/", hooks.HookAPI.as_view(), name="hook"
),
path(
f"{settings.ASSET_PATH}/<str:webhook_id>/",
assets.AssetRestrictionAPI.as_view(),
name="asset",
),
path("signals/<str:type>/", signals.SignalList.as_view(), name="signals"),
path(
"signals/<str:type>/create/",
signals.SignalCreate.as_view(),
name="signal_create",
),
path(
"signals/<str:type>/update/<str:pk>/",
signals.SignalUpdate.as_view(),
name="signal_update",
),
path(
"signals/<str:type>/delete/<str:pk>/",
signals.SignalDelete.as_view(),
name="signal_delete",
),
path(
"callbacks/<str:type>/<str:object_type>/<str:object_id>/",
callbacks.Callbacks.as_view(),
name="callbacks",
),
path("callbacks/<str:type>/", callbacks.Callbacks.as_view(), name="callbacks"),
path("accounts/<str:type>/", accounts.AccountList.as_view(), name="accounts"),
path(
"accounts/<str:type>/create/",
accounts.AccountCreate.as_view(),
name="account_create",
),
path(
"accounts/<str:type>/info/<str:pk>/",
accounts.AccountInfo.as_view(),
name="account_info",
),
path(
"accounts/<str:type>/update/<str:pk>/",
accounts.AccountUpdate.as_view(),
name="account_update",
),
path(
"accounts/<str:type>/delete/<str:pk>/",
accounts.AccountDelete.as_view(),
name="account_delete",
),
path("trades/<str:type>/", trades.TradeList.as_view(), name="trades"),
path(
"trades/<str:type>/create/", trades.TradeCreate.as_view(), name="trade_create"
),
path(
"trades/<str:type>/update/<str:pk>/",
trades.TradeUpdate.as_view(),
name="trade_update",
),
path(
"trades/<str:type>/view/<str:account_id>/<str:trade_id>/",
trades.TradeAction.as_view(),
name="trade_action",
),
path(
"trades/<str:type>/delete/<str:pk>/",
trades.TradeDelete.as_view(),
name="trade_delete",
),
path(
"trades/action/delete_all/",
trades.TradeDeleteAll.as_view(),
name="trade_delete_all",
),
path("profit/<str:type>/", profit.Profit.as_view(), name="profit"),
path("positions/<str:type>/", positions.Positions.as_view(), name="positions"),
path(
"positions/<str:type>/<str:account_id>/",
positions.Positions.as_view(),
name="positions",
),
path(
"positions/close/<str:account_id>/<str:side>/<str:symbol>/",
positions.PositionAction.as_view(),
name="position_action",
),
path(
"positions/<str:type>/<str:account_id>/<str:symbol>/",
positions.PositionAction.as_view(),
name="position_action",
),
path(
"strategies/<str:type>/", strategies.StrategyList.as_view(), name="strategies"
),
path(
"strategies/<str:type>/create/",
strategies.StrategyCreate.as_view(),
name="strategy_create",
),
path(
"strategies/<str:type>/update/<str:pk>/",
strategies.StrategyUpdate.as_view(),
name="strategy_update",
),
path(
"strategies/<str:type>/delete/<str:pk>/",
strategies.StrategyDelete.as_view(),
name="strategy_delete",
),
path(
"trading_times/<str:type>/",
limits.TradingTimeList.as_view(),
name="tradingtimes",
),
path(
"trading_times/<str:type>/create/",
limits.TradingTimeCreate.as_view(),
name="tradingtime_create",
),
path(
"trading_times/<str:type>/update/<str:pk>/",
limits.TradingTimeUpdate.as_view(),
name="tradingtime_update",
),
path(
"trading_times/<str:type>/delete/<str:pk>/",
limits.TradingTimeDelete.as_view(),
name="tradingtime_delete",
),
path(
"trend_directions/<str:strategy_id>/flip/<str:symbol>/",
limits.TrendDirectionFlip.as_view(),
name="trenddirection_flip",
),
path(
"trend_directions/<str:strategy_id>/delete/<str:symbol>/",
limits.TrendDirectionDelete.as_view(),
name="trenddirection_delete",
),
path(
"trend_directions/<str:type>/view/<str:strategy_id>/",
limits.TrendDirectionList.as_view(),
name="trenddirections",
),
path(
"notifications/<str:type>/update/",
notifications.NotificationsUpdate.as_view(),
name="notifications_update",
),
# Risks
path(
"risk/<str:type>/",
risk.RiskList.as_view(),
name="risks",
),
path(
"risk/<str:type>/create/",
risk.RiskCreate.as_view(),
name="risk_create",
),
path(
"risk/<str:type>/update/<str:pk>/",
risk.RiskUpdate.as_view(),
name="risk_update",
),
path(
"risk/<str:type>/delete/<str:pk>/",
risk.RiskDelete.as_view(),
name="risk_delete",
),
# Asset Groups
path(
"group/<str:type>/",
assets.AssetGroupList.as_view(),
name="assetgroups",
),
path(
"group/<str:type>/create/",
assets.AssetGroupCreate.as_view(),
name="assetgroup_create",
),
path(
"group/<str:type>/update/<str:pk>/",
assets.AssetGroupUpdate.as_view(),
name="assetgroup_update",
),
path(
"group/<str:type>/delete/<str:pk>/",
assets.AssetGroupDelete.as_view(),
name="assetgroup_delete",
),
# Asset Restrictions
path(
"restriction/<str:type>/<str:group>/",
assets.AssetRestrictionList.as_view(),
name="assetrestrictions",
),
path(
"restriction/<str:type>/create/<str:group>/",
assets.AssetRestrictionCreate.as_view(),
name="assetrestriction_create",
),
path(
"restriction/<str:type>/update/<str:group>/<str:pk>/",
assets.AssetRestrictionUpdate.as_view(),
name="assetrestriction_update",
),
path(
"restriction/<str:type>/delete/<str:group>/<str:pk>/",
assets.AssetRestrictionDelete.as_view(),
name="assetrestriction_delete",
),
# Asset group filters
path(
"assetfilter/<str:group_id>/flip/<str:symbol>/",
assets.AssetFilterFlip.as_view(),
name="assetfilter_flip",
),
path(
"assetfilter/<str:group_id>/delete/<str:symbol>/",
assets.AssetFilterDelete.as_view(),
name="assetfilter_delete",
),
path(
"assetfilter/<str:type>/view/<str:group_id>/",
assets.AssetFilterList.as_view(),
name="assetfilters",
),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)