2022-10-13 14:26:43 +00:00
|
|
|
"""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
|
2022-11-28 19:45:22 +00:00
|
|
|
from django.contrib.auth.views import LogoutView
|
2022-10-13 14:26:43 +00:00
|
|
|
from django.urls import include, path
|
|
|
|
from django.views.generic import TemplateView
|
2022-11-28 19:45:22 +00:00
|
|
|
from two_factor.urls import urlpatterns as tf_urls
|
2022-10-13 14:26:43 +00:00
|
|
|
|
2022-11-25 18:01:34 +00:00
|
|
|
from core.views import (
|
|
|
|
accounts,
|
2023-02-10 07:20:19 +00:00
|
|
|
assets,
|
2022-11-25 18:01:34 +00:00
|
|
|
base,
|
|
|
|
callbacks,
|
|
|
|
hooks,
|
|
|
|
limits,
|
2022-12-18 17:21:52 +00:00
|
|
|
notifications,
|
2023-02-15 18:33:38 +00:00
|
|
|
ordersettings,
|
2023-02-17 07:20:15 +00:00
|
|
|
policies,
|
2022-11-25 18:01:34 +00:00
|
|
|
positions,
|
2022-11-29 07:20:39 +00:00
|
|
|
profit,
|
2022-12-13 07:20:49 +00:00
|
|
|
risk,
|
2022-11-29 07:20:21 +00:00
|
|
|
signals,
|
2022-11-25 18:01:34 +00:00
|
|
|
strategies,
|
|
|
|
trades,
|
|
|
|
)
|
2022-10-15 20:51:47 +00:00
|
|
|
from core.views.stripe_callbacks import Callback
|
2022-10-13 14:26:43 +00:00
|
|
|
|
|
|
|
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"),
|
2022-10-15 20:51:47 +00:00
|
|
|
path("sapp/", admin.site.urls),
|
2022-11-28 19:45:22 +00:00
|
|
|
# 2FA login urls
|
|
|
|
path("", include(tf_urls)),
|
2022-10-13 14:26:43 +00:00
|
|
|
path("accounts/signup/", base.Signup.as_view(), name="signup"),
|
2022-11-28 19:45:22 +00:00
|
|
|
path("accounts/logout/", LogoutView.as_view(), name="logout"),
|
2022-10-29 11:43:13 +00:00
|
|
|
path("hooks/<str:type>/", hooks.HookList.as_view(), name="hooks"),
|
|
|
|
path("hooks/<str:type>/create/", hooks.HookCreate.as_view(), name="hook_create"),
|
2022-10-15 17:45:25 +00:00
|
|
|
path(
|
2022-10-29 11:43:13 +00:00
|
|
|
"hooks/<str:type>/update/<str:pk>/",
|
|
|
|
hooks.HookUpdate.as_view(),
|
|
|
|
name="hook_update",
|
2022-10-16 13:14:53 +00:00
|
|
|
),
|
|
|
|
path(
|
2022-10-29 11:43:13 +00:00
|
|
|
"hooks/<str:type>/delete/<str:pk>/",
|
|
|
|
hooks.HookDelete.as_view(),
|
|
|
|
name="hook_delete",
|
2022-10-15 20:51:47 +00:00
|
|
|
),
|
|
|
|
path(
|
|
|
|
f"{settings.HOOK_PATH}/<str:hook_name>/", hooks.HookAPI.as_view(), name="hook"
|
|
|
|
),
|
2023-02-10 22:04:01 +00:00
|
|
|
path(
|
|
|
|
f"{settings.ASSET_PATH}/<str:webhook_id>/",
|
2023-02-13 07:20:40 +00:00
|
|
|
assets.AssetGroupAPI.as_view(),
|
2023-02-10 22:04:01 +00:00
|
|
|
name="asset",
|
|
|
|
),
|
2022-11-29 07:20:21 +00:00
|
|
|
path("signals/<str:type>/", signals.SignalList.as_view(), name="signals"),
|
2022-10-15 20:51:47 +00:00
|
|
|
path(
|
2022-11-29 07:20:21 +00:00
|
|
|
"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>/",
|
2022-10-15 20:51:47 +00:00
|
|
|
callbacks.Callbacks.as_view(),
|
|
|
|
name="callbacks",
|
2022-10-15 17:45:25 +00:00
|
|
|
),
|
2022-10-15 20:51:47 +00:00
|
|
|
path("callbacks/<str:type>/", callbacks.Callbacks.as_view(), name="callbacks"),
|
2022-10-29 11:43:13 +00:00
|
|
|
path("accounts/<str:type>/", accounts.AccountList.as_view(), name="accounts"),
|
2022-10-17 17:56:16 +00:00
|
|
|
path(
|
2022-10-29 11:43:13 +00:00
|
|
|
"accounts/<str:type>/create/",
|
|
|
|
accounts.AccountCreate.as_view(),
|
|
|
|
name="account_create",
|
2022-10-17 17:56:16 +00:00
|
|
|
),
|
|
|
|
path(
|
2022-10-29 11:43:13 +00:00
|
|
|
"accounts/<str:type>/info/<str:pk>/",
|
2022-10-21 22:57:32 +00:00
|
|
|
accounts.AccountInfo.as_view(),
|
|
|
|
name="account_info",
|
|
|
|
),
|
2022-10-17 17:56:16 +00:00
|
|
|
path(
|
2022-10-29 11:43:13 +00:00
|
|
|
"accounts/<str:type>/update/<str:pk>/",
|
|
|
|
accounts.AccountUpdate.as_view(),
|
|
|
|
name="account_update",
|
2022-10-17 17:56:16 +00:00
|
|
|
),
|
|
|
|
path(
|
2022-10-29 11:43:13 +00:00
|
|
|
"accounts/<str:type>/delete/<str:pk>/",
|
|
|
|
accounts.AccountDelete.as_view(),
|
|
|
|
name="account_delete",
|
2022-10-17 17:56:16 +00:00
|
|
|
),
|
2022-10-29 11:43:13 +00:00
|
|
|
path("trades/<str:type>/", trades.TradeList.as_view(), name="trades"),
|
2022-10-17 17:56:16 +00:00
|
|
|
path(
|
2022-10-29 11:43:13 +00:00
|
|
|
"trades/<str:type>/create/", trades.TradeCreate.as_view(), name="trade_create"
|
2022-10-17 17:56:16 +00:00
|
|
|
),
|
|
|
|
path(
|
2022-10-29 11:43:13 +00:00
|
|
|
"trades/<str:type>/update/<str:pk>/",
|
|
|
|
trades.TradeUpdate.as_view(),
|
|
|
|
name="trade_update",
|
|
|
|
),
|
2022-11-29 07:20:39 +00:00
|
|
|
path(
|
2022-12-08 07:20:46 +00:00
|
|
|
"trades/<str:type>/view/<str:account_id>/<str:trade_id>/",
|
2022-11-29 07:20:39 +00:00
|
|
|
trades.TradeAction.as_view(),
|
|
|
|
name="trade_action",
|
|
|
|
),
|
2022-10-29 11:43:13 +00:00
|
|
|
path(
|
|
|
|
"trades/<str:type>/delete/<str:pk>/",
|
|
|
|
trades.TradeDelete.as_view(),
|
|
|
|
name="trade_delete",
|
2022-10-17 17:56:16 +00:00
|
|
|
),
|
2022-10-30 10:57:41 +00:00
|
|
|
path(
|
|
|
|
"trades/action/delete_all/",
|
|
|
|
trades.TradeDeleteAll.as_view(),
|
|
|
|
name="trade_delete_all",
|
|
|
|
),
|
2022-11-29 07:20:39 +00:00
|
|
|
path("profit/<str:type>/", profit.Profit.as_view(), name="profit"),
|
2022-10-17 06:20:30 +00:00
|
|
|
path("positions/<str:type>/", positions.Positions.as_view(), name="positions"),
|
|
|
|
path(
|
|
|
|
"positions/<str:type>/<str:account_id>/",
|
|
|
|
positions.Positions.as_view(),
|
|
|
|
name="positions",
|
|
|
|
),
|
2022-12-02 07:20:37 +00:00
|
|
|
path(
|
|
|
|
"positions/close/<str:account_id>/<str:side>/<str:symbol>/",
|
|
|
|
positions.PositionAction.as_view(),
|
|
|
|
name="position_action",
|
|
|
|
),
|
2022-10-27 17:08:40 +00:00
|
|
|
path(
|
2022-11-02 18:25:34 +00:00
|
|
|
"positions/<str:type>/<str:account_id>/<str:symbol>/",
|
2022-10-27 17:08:40 +00:00
|
|
|
positions.PositionAction.as_view(),
|
|
|
|
name="position_action",
|
|
|
|
),
|
2022-10-29 11:43:13 +00:00
|
|
|
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",
|
2022-10-27 17:08:40 +00:00
|
|
|
),
|
2022-11-25 18:01:34 +00:00
|
|
|
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",
|
|
|
|
),
|
2022-12-18 15:10:28 +00:00
|
|
|
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",
|
|
|
|
),
|
2022-12-18 17:21:52 +00:00
|
|
|
path(
|
|
|
|
"notifications/<str:type>/update/",
|
|
|
|
notifications.NotificationsUpdate.as_view(),
|
|
|
|
name="notifications_update",
|
|
|
|
),
|
2023-02-10 07:20:19 +00:00
|
|
|
# Risks
|
2022-12-13 07:20:49 +00:00
|
|
|
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",
|
|
|
|
),
|
2023-02-10 07:20:19 +00:00
|
|
|
# Asset Groups
|
|
|
|
path(
|
2023-02-10 14:33:17 +00:00
|
|
|
"group/<str:type>/",
|
2023-02-10 07:20:19 +00:00
|
|
|
assets.AssetGroupList.as_view(),
|
|
|
|
name="assetgroups",
|
|
|
|
),
|
|
|
|
path(
|
2023-02-10 14:33:17 +00:00
|
|
|
"group/<str:type>/create/",
|
2023-02-10 07:20:19 +00:00
|
|
|
assets.AssetGroupCreate.as_view(),
|
|
|
|
name="assetgroup_create",
|
|
|
|
),
|
|
|
|
path(
|
2023-02-10 14:33:17 +00:00
|
|
|
"group/<str:type>/update/<str:pk>/",
|
2023-02-10 07:20:19 +00:00
|
|
|
assets.AssetGroupUpdate.as_view(),
|
|
|
|
name="assetgroup_update",
|
|
|
|
),
|
|
|
|
path(
|
2023-02-10 14:33:17 +00:00
|
|
|
"group/<str:type>/delete/<str:pk>/",
|
2023-02-10 07:20:19 +00:00
|
|
|
assets.AssetGroupDelete.as_view(),
|
|
|
|
name="assetgroup_delete",
|
|
|
|
),
|
2023-02-13 20:45:23 +00:00
|
|
|
# Asset Rules
|
|
|
|
path(
|
|
|
|
"assetrule/<str:type>/<str:group>/",
|
|
|
|
assets.AssetRuleList.as_view(),
|
|
|
|
name="assetrules",
|
|
|
|
),
|
|
|
|
path(
|
|
|
|
"assetrule/<str:type>/create/<str:group>/",
|
|
|
|
assets.AssetRuleCreate.as_view(),
|
|
|
|
name="assetrule_create",
|
|
|
|
),
|
|
|
|
path(
|
|
|
|
"assetrule/<str:type>/update/<str:group>/<str:pk>/",
|
|
|
|
assets.AssetRuleUpdate.as_view(),
|
|
|
|
name="assetrule_update",
|
|
|
|
),
|
|
|
|
path(
|
|
|
|
"assetrule/<str:type>/delete/<str:group>/<str:pk>/",
|
|
|
|
assets.AssetRuleDelete.as_view(),
|
|
|
|
name="assetrule_delete",
|
2023-02-11 18:46:26 +00:00
|
|
|
),
|
2023-02-15 18:33:38 +00:00
|
|
|
# Order Settings
|
|
|
|
path(
|
|
|
|
"ordersettings/<str:type>/",
|
|
|
|
ordersettings.OrderSettingsList.as_view(),
|
|
|
|
name="ordersettings",
|
|
|
|
),
|
|
|
|
path(
|
|
|
|
"ordersettings/<str:type>/create/",
|
|
|
|
ordersettings.OrderSettingsCreate.as_view(),
|
|
|
|
name="ordersettings_create",
|
|
|
|
),
|
|
|
|
path(
|
|
|
|
"ordersettings/<str:type>/update/<str:pk>/",
|
|
|
|
ordersettings.OrderSettingsUpdate.as_view(),
|
|
|
|
name="ordersettings_update",
|
|
|
|
),
|
|
|
|
path(
|
|
|
|
"ordersettings/<str:type>/delete/<str:pk>/",
|
|
|
|
ordersettings.OrderSettingsDelete.as_view(),
|
|
|
|
name="ordersettings_delete",
|
|
|
|
),
|
2023-02-17 07:20:15 +00:00
|
|
|
# Active Management Policies
|
|
|
|
path(
|
|
|
|
"ams/<str:type>/",
|
|
|
|
policies.ActiveManagementPolicyList.as_view(),
|
|
|
|
name="ams",
|
|
|
|
),
|
|
|
|
path(
|
|
|
|
"ams/<str:type>/create/",
|
|
|
|
policies.ActiveManagementPolicyCreate.as_view(),
|
|
|
|
name="ams_create",
|
|
|
|
),
|
|
|
|
path(
|
|
|
|
"ams/<str:type>/update/<str:pk>/",
|
|
|
|
policies.ActiveManagementPolicyUpdate.as_view(),
|
|
|
|
name="ams_update",
|
|
|
|
),
|
|
|
|
path(
|
|
|
|
"ams/<str:type>/delete/<str:pk>/",
|
|
|
|
policies.ActiveManagementPolicyDelete.as_view(),
|
|
|
|
name="ams_delete",
|
|
|
|
),
|
2022-10-13 14:26:43 +00:00
|
|
|
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
|