You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

195 lines
6.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,
base,
callbacks,
hooks,
limits,
positions,
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("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: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("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",
),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)