From 0c4c82284d045baa6b673d54427e0e516175e423 Mon Sep 17 00:00:00 2001 From: antoine redier Date: Wed, 13 Jul 2022 19:24:32 +0200 Subject: [PATCH] feat(api) adding pipelinee remote api --- .../artefact_store/artefact_store/settings.py | 1 + backend/artefact_store/artefact_store/urls.py | 3 ++- .../artefact_store/pipeline_manager/__init__.py | 0 .../artefact_store/pipeline_manager/admin.py | 3 +++ backend/artefact_store/pipeline_manager/apps.py | 6 ++++++ .../pipeline_manager/migrations/__init__.py | 0 .../artefact_store/pipeline_manager/models.py | 11 +++++++++++ .../pipeline_manager/serializers.py | 17 +++++++++++++++++ .../artefact_store/pipeline_manager/tests.py | 3 +++ backend/artefact_store/pipeline_manager/urls.py | 9 +++++++++ .../artefact_store/pipeline_manager/views.py | 13 +++++++++++++ sdk/python/jeyn/_version.py | 7 ------- 12 files changed, 65 insertions(+), 8 deletions(-) create mode 100644 backend/artefact_store/pipeline_manager/__init__.py create mode 100644 backend/artefact_store/pipeline_manager/admin.py create mode 100644 backend/artefact_store/pipeline_manager/apps.py create mode 100644 backend/artefact_store/pipeline_manager/migrations/__init__.py create mode 100644 backend/artefact_store/pipeline_manager/models.py create mode 100644 backend/artefact_store/pipeline_manager/serializers.py create mode 100644 backend/artefact_store/pipeline_manager/tests.py create mode 100644 backend/artefact_store/pipeline_manager/urls.py create mode 100644 backend/artefact_store/pipeline_manager/views.py diff --git a/backend/artefact_store/artefact_store/settings.py b/backend/artefact_store/artefact_store/settings.py index 43da3df..ddc6da2 100644 --- a/backend/artefact_store/artefact_store/settings.py +++ b/backend/artefact_store/artefact_store/settings.py @@ -32,6 +32,7 @@ INSTALLED_APPS = [ 'api.apps.ApiConfig', + 'pipeline_manager.apps.ApiConfig', 'rest_framework', 'django.contrib.admin', 'django.contrib.auth', diff --git a/backend/artefact_store/artefact_store/urls.py b/backend/artefact_store/artefact_store/urls.py index cf1606c..a8f003b 100644 --- a/backend/artefact_store/artefact_store/urls.py +++ b/backend/artefact_store/artefact_store/urls.py @@ -18,5 +18,6 @@ urlpatterns = [ path('admin/', admin.site.urls), - path('api/', include('api.urls')) + path('api/', include('api.urls')), + path('pipeline-manager/api/', include('pipeline_manager.urls')) ] diff --git a/backend/artefact_store/pipeline_manager/__init__.py b/backend/artefact_store/pipeline_manager/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/artefact_store/pipeline_manager/admin.py b/backend/artefact_store/pipeline_manager/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/backend/artefact_store/pipeline_manager/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/backend/artefact_store/pipeline_manager/apps.py b/backend/artefact_store/pipeline_manager/apps.py new file mode 100644 index 0000000..855f541 --- /dev/null +++ b/backend/artefact_store/pipeline_manager/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class PipelineManagerConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'pipeline_manager' diff --git a/backend/artefact_store/pipeline_manager/migrations/__init__.py b/backend/artefact_store/pipeline_manager/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/artefact_store/pipeline_manager/models.py b/backend/artefact_store/pipeline_manager/models.py new file mode 100644 index 0000000..a2b785c --- /dev/null +++ b/backend/artefact_store/pipeline_manager/models.py @@ -0,0 +1,11 @@ +from django.db import models + + +class PipelineDefinition(models.Model): + name = models.CharField(max_length=120) + + +class PipelineExecution(models.Model): + definition = models.ForeignKey(PipelineDefinition, on_delete=models.CASCADE) + start_time = models.DateTimeField() + end_time = models.DateTimeField() diff --git a/backend/artefact_store/pipeline_manager/serializers.py b/backend/artefact_store/pipeline_manager/serializers.py new file mode 100644 index 0000000..4426717 --- /dev/null +++ b/backend/artefact_store/pipeline_manager/serializers.py @@ -0,0 +1,17 @@ +from rest_framework import serializers + +from . import models + + +class PipelineDefinitionSerializer(serializers.ModelSerializer): + + class Meta: + models = models.PipelineDefinition + fields = ("name") + + +class PipelineExecutionSerializer(serializers.ModelSerializer): + + class Meta: + model = models.PipelineExecution + fields = ("definition", "start_time", "end_time") diff --git a/backend/artefact_store/pipeline_manager/tests.py b/backend/artefact_store/pipeline_manager/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/backend/artefact_store/pipeline_manager/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/backend/artefact_store/pipeline_manager/urls.py b/backend/artefact_store/pipeline_manager/urls.py new file mode 100644 index 0000000..cca1e1c --- /dev/null +++ b/backend/artefact_store/pipeline_manager/urls.py @@ -0,0 +1,9 @@ +from rest_framework import routers + +from . import views + + +router = routers.DefaultRouter() +router.register("pipeline-definition", viewset=views.PipelineDefinitionViewset) +router.register("pipeline-execution", viewset=views.PipelineExecutionViewset) +urlpatterns = router.urls \ No newline at end of file diff --git a/backend/artefact_store/pipeline_manager/views.py b/backend/artefact_store/pipeline_manager/views.py new file mode 100644 index 0000000..24a10f3 --- /dev/null +++ b/backend/artefact_store/pipeline_manager/views.py @@ -0,0 +1,13 @@ +from rest_framework import viewsets + +from . import serializers, models + + +class PipelineDefinitionViewset(viewsets.ModelViewSet): + serializer_class = serializers.PipelineDefinitionSerializer + queryset = models.PipelineDefinition.objects.all() + + +class PipelineExecutionViewset(viewsets.ModelViewSet): + serializer_class = serializers.PipelineExecutionSerializer + queryset = models.PipelineExecution.objects.all() \ No newline at end of file diff --git a/sdk/python/jeyn/_version.py b/sdk/python/jeyn/_version.py index 16bc76d..4a2c93e 100644 --- a/sdk/python/jeyn/_version.py +++ b/sdk/python/jeyn/_version.py @@ -83,10 +83,3 @@ def update_minor(self) -> "Version": def update_patch(self) -> "Version": return Version(self.major, self.minor, self.patch + 1) - - -if __name__ == "__main__": - foo = Version(0, 1, 0) - print(foo) - bar = Version(0, 2, 0) - print(foo.is_compatible(bar))