mirror of https://github.com/openspug/spug
				
				
				
			A api update
							parent
							
								
									9d9470557e
								
							
						
					
					
						commit
						39662bbdf6
					
				|  | @ -0,0 +1,23 @@ | ||||||
|  | from django.db import models | ||||||
|  | from libs import ModelMixin, human_time | ||||||
|  | from apps.account.models import User | ||||||
|  | from apps.app.models import App | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class DeployRequest(models.Model, ModelMixin): | ||||||
|  |     app = models.ForeignKey(App, on_delete=models.CASCADE) | ||||||
|  |     name = models.CharField(max_length=50) | ||||||
|  |     extra1 = models.TextField() | ||||||
|  |     extra2 = models.TextField() | ||||||
|  |     host_ids = models.TextField() | ||||||
|  |     desc = models.CharField(max_length=255, null=True) | ||||||
|  | 
 | ||||||
|  |     created_at = models.CharField(max_length=20, default=human_time) | ||||||
|  |     created_by = models.ForeignKey(User, models.PROTECT, related_name='+') | ||||||
|  | 
 | ||||||
|  |     def __repr__(self): | ||||||
|  |         return f'<DeployRequest app_id={self.app_id} name={self.name}>' | ||||||
|  | 
 | ||||||
|  |     class Meta: | ||||||
|  |         db_table = 'deploy_requests' | ||||||
|  |         ordering = ('-id',) | ||||||
|  | @ -0,0 +1,26 @@ | ||||||
|  | from django.views.generic import View | ||||||
|  | from libs import json_response, JsonParser, Argument | ||||||
|  | from apps.deploy.models import DeployRequest | ||||||
|  | import json | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class RequestView(View): | ||||||
|  |     def get(self, request): | ||||||
|  |         requests = DeployRequest.objects.all() | ||||||
|  |         return json_response(requests) | ||||||
|  | 
 | ||||||
|  |     def post(self, request): | ||||||
|  |         form, error = JsonParser( | ||||||
|  |             Argument('name', help='请输申请标题'), | ||||||
|  |             Argument('extra1', help='缺少必要参数'), | ||||||
|  |             Argument('extra2', help='缺少必要参数'), | ||||||
|  |             Argument('host_ids', type=list, filter=lambda x: len(x), help='请选择要部署的主机'), | ||||||
|  |             Argument('desc', required=False), | ||||||
|  |         ).parse(request.body) | ||||||
|  |         if error is None: | ||||||
|  |             form.host_ids = json.dumps(form.host_ids) | ||||||
|  |             DeployRequest.objects.create(**form) | ||||||
|  |         return json_response(error=error) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
		Loading…
	
		Reference in New Issue
	
	 雷二猛
						雷二猛