big overhaul of REST API, split into auth, core, and cli methods

This commit is contained in:
Nick Sweeting 2024-04-25 03:56:22 -07:00
parent e5aba0dc2e
commit 75153252dc
No known key found for this signature in database
20 changed files with 790 additions and 265 deletions

View file

@ -20,6 +20,7 @@ from core.models import Snapshot, ArchiveResult, Tag
from core.forms import AddLinkForm
from core.mixins import SearchResultsAdminMixin
from api.models import APIToken
from index.html import snapshot_icons
from logging_util import printable_filesize
@ -100,6 +101,7 @@ class ArchiveBoxAdmin(admin.AdminSite):
archivebox_admin = ArchiveBoxAdmin()
archivebox_admin.register(get_user_model())
archivebox_admin.register(APIToken)
archivebox_admin.disable_action('delete_selected')
class ArchiveResultInline(admin.TabularInline):

View file

@ -1,3 +1,5 @@
__package__ = 'archivebox.core'
from django.apps import AppConfig

View file

@ -1,5 +1,8 @@
__package__ = 'archivebox.core'
import os
from django.conf import settings
from ..config import (
LDAP
)

View file

@ -1,4 +1,4 @@
from .admin import archivebox_admin
__package__ = 'archivebox.core'
from django.urls import path, include
from django.views import static
@ -6,14 +6,9 @@ from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.conf import settings
from django.views.generic.base import RedirectView
from core.views import HomepageView, SnapshotView, PublicIndexView, AddView, HealthCheckView
from .admin import archivebox_admin
from .views import HomepageView, SnapshotView, PublicIndexView, AddView, HealthCheckView
from ninja import NinjaAPI
from api.auth import GlobalAuth
api = NinjaAPI(auth=GlobalAuth())
api.add_router("/auth/", "api.auth.router")
api.add_router("/archive/", "api.archive.router")
# GLOBAL_CONTEXT doesn't work as-is, disabled for now: https://github.com/ArchiveBox/ArchiveBox/discussions/1306
# from config import VERSION, VERSIONS_AVAILABLE, CAN_UPGRADE
@ -43,10 +38,10 @@ urlpatterns = [
path('accounts/', include('django.contrib.auth.urls')),
path('admin/', archivebox_admin.urls),
path("api/", api.urls),
path("api/", include('api.urls')),
path('health/', HealthCheckView.as_view(), name='healthcheck'),
path('error/', lambda _: 1/0),
path('error/', lambda *_: 1/0),
# path('jet_api/', include('jet_django.urls')), Enable to use https://www.jetadmin.io/integrations/django