From 4a1c4c83de3cc2acd94cb3d8702f674dacce8643 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=89=91=E5=AD=90=E4=BB=99=E6=9C=BA?= Date: Wed, 29 Dec 2021 17:35:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=BA=9F=E5=BC=83=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sysom_api/apps/job/__init__.py | 0 sysom_api/apps/job/admin.py | 3 --- sysom_api/apps/job/apps.py | 13 ------------ sysom_api/apps/job/models.py | 29 -------------------------- sysom_api/apps/job/seriaizer.py | 37 --------------------------------- sysom_api/apps/job/tests.py | 3 --- sysom_api/apps/job/urls.py | 19 ----------------- sysom_api/apps/job/views.py | 25 ---------------------- 8 files changed, 129 deletions(-) delete mode 100644 sysom_api/apps/job/__init__.py delete mode 100644 sysom_api/apps/job/admin.py delete mode 100644 sysom_api/apps/job/apps.py delete mode 100644 sysom_api/apps/job/models.py delete mode 100644 sysom_api/apps/job/seriaizer.py delete mode 100644 sysom_api/apps/job/tests.py delete mode 100644 sysom_api/apps/job/urls.py delete mode 100644 sysom_api/apps/job/views.py diff --git a/sysom_api/apps/job/__init__.py b/sysom_api/apps/job/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/sysom_api/apps/job/admin.py b/sysom_api/apps/job/admin.py deleted file mode 100644 index 8c38f3f3..00000000 --- a/sysom_api/apps/job/admin.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.contrib import admin - -# Register your models here. diff --git a/sysom_api/apps/job/apps.py b/sysom_api/apps/job/apps.py deleted file mode 100644 index 5e2f8771..00000000 --- a/sysom_api/apps/job/apps.py +++ /dev/null @@ -1,13 +0,0 @@ -import logging -from django.apps import AppConfig - - -logger = logging.getLogger(__name__) - - -class JobConfig(AppConfig): - default_auto_field = 'django.db.models.BigAutoField' - name = 'apps.job' - - def ready(self): - logger.info(">>> Job module loading success") diff --git a/sysom_api/apps/job/models.py b/sysom_api/apps/job/models.py deleted file mode 100644 index 1935812e..00000000 --- a/sysom_api/apps/job/models.py +++ /dev/null @@ -1,29 +0,0 @@ -from django.db import models - -from lib import BaseModel, uuid_8 -from apps.accounts.models import User -from apps.host.models import HostModel -from django.contrib.auth.models import AbstractUser - - -class JobModel(BaseModel): - JOB_STATUS_CHOICES = ( - ('Ready', 'Ready'), - ('Running', 'Running'), - ('Success', 'Success'), - ('Fail', 'Fail'), - ) - instance_id = models.CharField(max_length=64, default=uuid_8, verbose_name="任务实例ID") - status = models.CharField(max_length=32, choices=JOB_STATUS_CHOICES, default='Ready', verbose_name="任务状态") - command = models.TextField(verbose_name="shell文本") - job_result = models.TextField(default="", verbose_name="shell结果") - src_instance = models.CharField(max_length=128, default="") - dest_instance = models.CharField(max_length=128, default="") - host_by = models.ForeignKey(to=HostModel, on_delete=models.CASCADE, related_name="host_jobs") - created_by = models.ForeignKey(to=User, on_delete=models.CASCADE, related_name="user_jobs") - - def __str__(self): - return f"Job: {self.instance_id}" - - class Meta: - db_table = 'sys_job' diff --git a/sysom_api/apps/job/seriaizer.py b/sysom_api/apps/job/seriaizer.py deleted file mode 100644 index b6aa126e..00000000 --- a/sysom_api/apps/job/seriaizer.py +++ /dev/null @@ -1,37 +0,0 @@ -# -*- encoding: utf-8 -*- -""" -@File : seriaizer.py -@Time : 2021/11/22 17:41 -@Author : DM -@Email : smmic@isoftstone.com -@Software: PyCharm -""" -from rest_framework import serializers -from apps.job.models import JobModel - - -class JobListSerializer(serializers.ModelSerializer): - job_result = serializers.SerializerMethodField() - src_instance = serializers.SerializerMethodField() - dest_instance = serializers.SerializerMethodField() - - class Meta: - model = JobModel - exclude = ('deleted_at', ) - - def get_job_result(self, attr: JobModel): - return attr.job_result or '暂无' - - def get_src_instance(self, attr: JobModel): - return attr.src_instance or '暂无' - - def get_dest_instance(self, attr: JobModel): - return attr.dest_instance or '暂无' - - -class JobSerializer(serializers.ModelSerializer): - - class Meta: - model = JobModel - fields = ('instance_id', 'command', 'status', 'job_result') - diff --git a/sysom_api/apps/job/tests.py b/sysom_api/apps/job/tests.py deleted file mode 100644 index 7ce503c2..00000000 --- a/sysom_api/apps/job/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/sysom_api/apps/job/urls.py b/sysom_api/apps/job/urls.py deleted file mode 100644 index 82e2448a..00000000 --- a/sysom_api/apps/job/urls.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- encoding: utf-8 -*- -""" -@File : urls.py -@Time : 2021/11/22 10:38 -@Author : DM -@Email : smmic@isoftstone.com -@Software: PyCharm -""" -from django.urls import path, include -from rest_framework.routers import DefaultRouter -from apps.job import views - -router = DefaultRouter() - -router.register('jobs', views.JobAPIView) - -urlpatterns = [ - path('api/v1/', include(router.urls)), -] diff --git a/sysom_api/apps/job/views.py b/sysom_api/apps/job/views.py deleted file mode 100644 index 6d33b278..00000000 --- a/sysom_api/apps/job/views.py +++ /dev/null @@ -1,25 +0,0 @@ -from rest_framework.viewsets import GenericViewSet -from rest_framework import mixins - -from apps.accounts.authentication import Authentication -from apps.job import models, seriaizer -from lib import success - - -class JobAPIView(GenericViewSet, mixins.ListModelMixin, mixins.RetrieveModelMixin): - queryset = models.JobModel.objects.all() - serializer_class = seriaizer.JobListSerializer - authentication_classes = [Authentication] - - def get_queryset(self): - queryset = self.queryset - queryset = queryset.filter(created_by=self.request.user) - queryset = queryset.filter(deleted_at=None) - return queryset - - def get_object(self): - pass - - def retrieve(self, request, *args, **kwargs): - response = super().retrieve(request, *args, **kwargs) - return success(result=response.data) -- Gitee