后端:ModelConfig.is_default + migration;get_default_model 优先 is_default 否则回落最早 active(零回归); adminpanel providers CRUD(api_key write-only 不回传)+ models CRUD(?provider/capability 筛)+ set-default(同 capability 清旧); IsPlatformAdmin + 审计。 前端:adminApi providers/models/setDefault;Admin 模型供应商页(供应商表+模型表+启停+定价+设默认+供应商/模型弹窗)。 测试:adminpanel 51 单测过(api_key 隐藏+入库/CRUD/set-default 改 get_default_model); apps.ai 仍仅 3 个进场前既有失败(零回归);无头 e2e _admin-p8.mjs 5 断言过 + 0 console error (用一次性禁用 provider+model capability=export,无副作用,跑完删);tsc+build 绿。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
59 lines
2.7 KiB
Python
59 lines
2.7 KiB
Python
from django.urls import path
|
|
|
|
from .views import (
|
|
admin_asset_reviews,
|
|
admin_asset_reviews_poll,
|
|
admin_asset_reviews_submit,
|
|
admin_invitations,
|
|
admin_ledger_adjust,
|
|
admin_ledgers,
|
|
admin_model_detail,
|
|
admin_model_set_default,
|
|
admin_models,
|
|
admin_provider_detail,
|
|
admin_providers,
|
|
admin_quota_policies,
|
|
admin_quota_policy_detail,
|
|
admin_task_detail,
|
|
admin_task_retry,
|
|
admin_tasks,
|
|
admin_quality_word_detail,
|
|
admin_quality_words,
|
|
admin_revoke_invitation,
|
|
admin_team_detail,
|
|
admin_team_toggle,
|
|
admin_teams,
|
|
admin_user_reset_password,
|
|
admin_user_toggle,
|
|
admin_users,
|
|
)
|
|
|
|
|
|
urlpatterns = [
|
|
path("invitations/", admin_invitations, name="admin-invitations"),
|
|
path("invitations/<uuid:invite_id>/revoke/", admin_revoke_invitation, name="admin-invitation-revoke"),
|
|
path("teams/", admin_teams, name="admin-teams"),
|
|
path("teams/<uuid:team_id>/", admin_team_detail, name="admin-team-detail"),
|
|
path("teams/<uuid:team_id>/toggle/", admin_team_toggle, name="admin-team-toggle"),
|
|
path("users/", admin_users, name="admin-users"),
|
|
path("users/<uuid:user_id>/toggle/", admin_user_toggle, name="admin-user-toggle"),
|
|
path("users/<uuid:user_id>/reset-password/", admin_user_reset_password, name="admin-user-reset-password"),
|
|
path("quality-words/", admin_quality_words, name="admin-quality-words"),
|
|
path("quality-words/<uuid:word_id>/", admin_quality_word_detail, name="admin-quality-word-detail"),
|
|
path("asset-reviews/", admin_asset_reviews, name="admin-asset-reviews"),
|
|
path("asset-reviews/submit/", admin_asset_reviews_submit, name="admin-asset-reviews-submit"),
|
|
path("asset-reviews/poll/", admin_asset_reviews_poll, name="admin-asset-reviews-poll"),
|
|
path("tasks/", admin_tasks, name="admin-tasks"),
|
|
path("tasks/<uuid:task_id>/", admin_task_detail, name="admin-task-detail"),
|
|
path("tasks/<uuid:task_id>/retry/", admin_task_retry, name="admin-task-retry"),
|
|
path("ledgers/", admin_ledgers, name="admin-ledgers"),
|
|
path("ledgers/adjust/", admin_ledger_adjust, name="admin-ledger-adjust"),
|
|
path("quota-policies/", admin_quota_policies, name="admin-quota-policies"),
|
|
path("quota-policies/<uuid:policy_id>/", admin_quota_policy_detail, name="admin-quota-policy-detail"),
|
|
path("providers/", admin_providers, name="admin-providers"),
|
|
path("providers/<uuid:provider_id>/", admin_provider_detail, name="admin-provider-detail"),
|
|
path("models/", admin_models, name="admin-models"),
|
|
path("models/<uuid:model_id>/", admin_model_detail, name="admin-model-detail"),
|
|
path("models/<uuid:model_id>/set-default/", admin_model_set_default, name="admin-model-set-default"),
|
|
]
|