Files
zeekayandHanzo Dev 841ea1c0da no hogs: products and insights
716 files rewritten, 30 renamed, same family mapping as the frontend pass.

Held back, and each for a reason rather than by oversight:

  db_table values          insights_hogfunction, insights_hogflow,
                           insights_hogfunctiontemplate, hogflow_templates.
                           Renaming a table is ALTER TABLE, so it ships as a
                           migration with the raw SQL in nodejs that names it.
  hog_invocation_results   a Datastore table with Kafka engine tables on it
  products/review_hog      the module path is the Django app path; moving it
                           moves app_label and every migration is recorded under
                           (app_label, name). That is the same history break as
                           renaming a migration file, one level up.
  */migrations/*           five files, untouched
  whogho                   an integration vendor

Checked: 395 of 397 changed Python files compile. The two that do not —
insightsql/database/database.py and temporal/schedule.py — fail identically at
origin/main under the same interpreter, because they use `type X = ...` and
`except*`, which need the 3.13 this repo pins and not the 3.9 doing the check.
Running the check against the original is what told those apart from a real
break.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-09 09:16:43 -07:00

73 lines
4.5 KiB
Python

"""URL configuration for Conversations widget and external API."""
from django.urls import path, re_path
from .email_events import email_inbound_handler
from .email_settings import (
EmailConnectView,
EmailDisconnectView,
EmailSendTestView,
EmailSetDefaultView,
EmailStatusView,
EmailVerifyDomainView,
)
from .external import ExternalTicketView
from .github_setup import (
GithubConnectView,
GithubCreateIssueView,
GithubDisconnectView,
GithubReposView,
GithubSelectReposView,
GithubStatusView,
)
from .restore import WidgetRestoreRedeemView, WidgetRestoreRequestView
from .slack_channels import SlackChannelsView
from .slack_events import support_event_handler
from .slack_interactivity import support_interactivity_handler
from .slack_oauth import SupportSlackAuthorizeView, SupportSlackDisconnectView, support_slack_oauth_callback
from .teams_channels import TeamsChannelsView, TeamsInstallAppView, TeamsSelectChannelView, TeamsTeamsView
from .teams_events import teams_event_handler
from .teams_oauth import TeamsAuthorizeView, TeamsDisconnectView, teams_oauth_callback
from .widget import WidgetMarkReadView, WidgetMessagesView, WidgetMessageView, WidgetTicketsView
urlpatterns = [
path("v1/widget/message", WidgetMessageView.as_view(), name="widget-message-v1"),
path("v1/widget/messages/<uuid:ticket_id>", WidgetMessagesView.as_view(), name="widget-messages-v1"),
path("v1/widget/messages/<uuid:ticket_id>/read", WidgetMarkReadView.as_view(), name="widget-mark-read-v1"),
path("v1/widget/tickets", WidgetTicketsView.as_view(), name="widget-tickets-v1"),
path("v1/widget/restore/request", WidgetRestoreRequestView.as_view(), name="widget-restore-request-v1"),
path("v1/widget/restore", WidgetRestoreRedeemView.as_view(), name="widget-restore-v1"),
# Support Slack app
re_path(r"^v1/slack/events/?$", support_event_handler, name="support-slack-events"),
re_path(r"^v1/slack/interactivity/?$", support_interactivity_handler, name="support-slack-interactivity"),
re_path(r"^v1/slack/authorize/?$", SupportSlackAuthorizeView.as_view(), name="support-slack-authorize"),
re_path(r"^v1/slack/callback/?$", support_slack_oauth_callback, name="support-slack-callback"),
re_path(r"^v1/slack/disconnect/?$", SupportSlackDisconnectView.as_view(), name="support-slack-disconnect"),
re_path(r"^v1/slack/channels/?$", SlackChannelsView.as_view(), name="slack-channels"),
# Support Teams app
re_path(r"^v1/teams/events/?$", teams_event_handler, name="support-teams-events"),
re_path(r"^v1/teams/authorize/?$", TeamsAuthorizeView.as_view(), name="support-teams-authorize"),
re_path(r"^v1/teams/callback/?$", teams_oauth_callback, name="support-teams-callback"),
re_path(r"^v1/teams/disconnect/?$", TeamsDisconnectView.as_view(), name="support-teams-disconnect"),
re_path(r"^v1/teams/teams/?$", TeamsTeamsView.as_view(), name="teams-teams"),
re_path(r"^v1/teams/channels/?$", TeamsChannelsView.as_view(), name="teams-channels"),
re_path(r"^v1/teams/install/?$", TeamsInstallAppView.as_view(), name="teams-install"),
re_path(r"^v1/teams/select-channel/?$", TeamsSelectChannelView.as_view(), name="teams-select-channel"),
# Email channel
re_path(r"^v1/email/inbound/?$", email_inbound_handler, name="email-inbound"),
re_path(r"^v1/email/status/?$", EmailStatusView.as_view(), name="email-status"),
re_path(r"^v1/email/connect/?$", EmailConnectView.as_view(), name="email-connect"),
re_path(r"^v1/email/disconnect/?$", EmailDisconnectView.as_view(), name="email-disconnect"),
re_path(r"^v1/email/set-default/?$", EmailSetDefaultView.as_view(), name="email-set-default"),
re_path(r"^v1/email/verify-domain/?$", EmailVerifyDomainView.as_view(), name="email-verify-domain"),
re_path(r"^v1/email/send-test/?$", EmailSendTestView.as_view(), name="email-send-test"),
# GitHub Issues channel
re_path(r"^v1/github/status/?$", GithubStatusView.as_view(), name="github-status"),
re_path(r"^v1/github/connect/?$", GithubConnectView.as_view(), name="github-connect"),
re_path(r"^v1/github/disconnect/?$", GithubDisconnectView.as_view(), name="github-disconnect"),
re_path(r"^v1/github/repos/?$", GithubReposView.as_view(), name="github-repos"),
re_path(r"^v1/github/select-repos/?$", GithubSelectReposView.as_view(), name="github-select-repos"),
re_path(r"^v1/github/create-issue/?$", GithubCreateIssueView.as_view(), name="github-create-issue"),
path("external/ticket/<uuid:ticket_id>", ExternalTicketView.as_view(), name="external-ticket"),
]