46 lines
1.2 KiB
Python
46 lines
1.2 KiB
Python
import json
|
|
import uuid
|
|
|
|
from SWSCloudCore import models
|
|
|
|
|
|
class ControllerTasks:
|
|
"""
|
|
|
|
"""
|
|
def __init__(self, user_id):
|
|
self.user_id = user_id
|
|
|
|
def get(self):
|
|
tasks = {
|
|
"total": models.Tasks.select().where(models.Tasks.user == self.user_id).count(),
|
|
"items": []
|
|
}
|
|
|
|
if tasks['total'] > 0:
|
|
tasks_list = models.Tasks.select().where(models.Tasks.user == self.user_id).execute()
|
|
for i in tasks_list:
|
|
tasks['items'].append({
|
|
"id": str(i.id),
|
|
"created": str(i.created),
|
|
"plain": i.plain,
|
|
"details": json.loads(i.plain)
|
|
})
|
|
return tasks
|
|
|
|
def create(self, datacenter_id, server_id, task, status, **args):
|
|
task_id = uuid.uuid4()
|
|
plain = dict()
|
|
for arg in args:
|
|
plain[arg] = str(args[arg])
|
|
|
|
models.Tasks.create(
|
|
id=task_id,
|
|
datacenter=datacenter_id,
|
|
server=server_id,
|
|
task=task,
|
|
status=status,
|
|
user=self.user_id,
|
|
plain=json.dumps(plain)
|
|
)
|
|
return True
|