Skip to content

Commit 6b5ee12

Browse files
Ken LippoldKen Lippold
authored andcommitted
Refactored etl app API
1 parent 9db966d commit 6b5ee12

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+4613
-4275
lines changed

api/urls.py

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@
1919
datastream_router,
2020
)
2121
from etl.views import (
22+
job_router,
2223
orchestration_system_router,
23-
data_source_router,
24-
data_archive_router,
24+
task_router,
25+
task_run_router
2526
)
2627

2728

@@ -48,9 +49,22 @@
4849
api.add_router("processing-levels", processing_level_router)
4950
api.add_router("result-qualifiers", result_qualifier_router)
5051

51-
api.add_router("orchestration-systems", orchestration_system_router)
52-
api.add_router("data-sources", data_source_router)
53-
api.add_router("data-archives", data_archive_router)
52+
etl_api = NinjaAPI(
53+
title="HydroServer ETL API",
54+
version=__version__,
55+
urls_namespace="etl",
56+
docs_decorator=ensure_csrf_cookie,
57+
renderer=ORJSONRenderer(),
58+
throttle=[
59+
AnonRateThrottle("20/s"),
60+
AuthRateThrottle("20/s"),
61+
],
62+
)
63+
64+
etl_api.add_router("jobs", job_router)
65+
etl_api.add_router("tasks", task_router)
66+
etl_api.add_router("tasks", task_run_router)
67+
etl_api.add_router("orchestration-systems", orchestration_system_router)
5468

5569
st_api_1_1 = SensorThingsAPI(
5670
title="HydroServer SensorThings API",
@@ -67,5 +81,6 @@
6781

6882
urlpatterns = [
6983
path("data/", api.urls),
84+
path("etl/", etl_api.urls),
7085
path("sensorthings/v1.1/", st_api_1_1.urls),
7186
]

etl/admin.py

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,35 @@
11
from django.contrib import admin
2-
from etl.models import OrchestrationSystem, DataSource, DataArchive
2+
from etl.models import OrchestrationSystem, Job, Task, TaskMapping, TaskMappingPath, TaskRun
33

44

55
class OrchestrationSystemAdmin(admin.ModelAdmin):
66
list_display = ("id", "name", "orchestration_system_type", "workspace__name")
77

8-
def delete_queryset(self, request, queryset):
9-
OrchestrationSystem.delete_contents(filter_arg=queryset, filter_suffix="in")
10-
queryset.delete()
118

9+
class JobAdmin(admin.ModelAdmin):
10+
list_display = ("id", "name", "job_type", "workspace__name")
1211

13-
class DataSourceAdmin(admin.ModelAdmin):
14-
list_display = ("id", "name", "orchestration_system__name", "workspace__name")
1512

16-
def delete_queryset(self, request, queryset):
17-
DataSource.delete_contents(filter_arg=queryset, filter_suffix="in")
18-
queryset.delete()
13+
class TaskAdmin(admin.ModelAdmin):
14+
list_display = ("id", "name", "job__name", "orchestration_system__name", "job__workspace__name")
1915

2016

21-
class DataArchiveAdmin(admin.ModelAdmin):
22-
list_display = ("id", "name", "orchestration_system__name", "workspace__name")
17+
class TaskMappingAdmin(admin.ModelAdmin):
18+
list_display = ("id", "task__name", "source_identifier", "task__job__name", "task__job__workspace__name")
2319

24-
def delete_queryset(self, request, queryset):
25-
DataArchive.delete_contents(filter_arg=queryset, filter_suffix="in")
26-
queryset.delete()
20+
21+
class TaskMappingPathAdmin(admin.ModelAdmin):
22+
list_display = ("id", "task_mapping__task__name", "target_identifier", "task_mapping__task__job__name",
23+
"task_mapping__task__job__workspace__name")
24+
25+
26+
class TaskRunAdmin(admin.ModelAdmin):
27+
list_display = ("id", "status", "started_at", "finished_at", "result")
2728

2829

2930
admin.site.register(OrchestrationSystem, OrchestrationSystemAdmin)
30-
admin.site.register(DataSource, DataSourceAdmin)
31-
admin.site.register(DataArchive, DataArchiveAdmin)
31+
admin.site.register(Job, JobAdmin)
32+
admin.site.register(Task, TaskAdmin)
33+
admin.site.register(TaskMapping, TaskMappingAdmin)
34+
admin.site.register(TaskMappingPath, TaskMappingPathAdmin)
35+
admin.site.register(TaskRun, TaskRunAdmin)

etl/fixtures/hydroshare_archival.yaml

Lines changed: 0 additions & 5 deletions
This file was deleted.

etl/management/__init__.py

Whitespace-only changes.

etl/management/commands/__init__.py

Whitespace-only changes.

etl/management/commands/load_etl_test_data.py

Lines changed: 0 additions & 33 deletions
This file was deleted.

0 commit comments

Comments
 (0)