Files
2026-07-13 12:31:34 +08:00

85 lines
2.0 KiB
Python

# -*- coding: utf-8 -*-
"""
deploy_webhook_model.py
"""
from __future__ import print_function, unicode_literals, absolute_import, division
import json
from datetime import datetime
from peewee import CharField, IntegerField, DateTimeField, AutoField
from playhouse.shortcuts import model_to_dict
from domain_admin.enums.deploy_status_enum import DeployStatusEnum
from domain_admin.enums.object_enum import ObjectEnum
from domain_admin.model.base_model import BaseModel
from domain_admin.utils import datetime_util
class DeployWebhookModel(BaseModel):
"""
api方式部署证书配置表
@since v1.6.52
"""
id = AutoField(primary_key=True)
user_id = IntegerField(default=0)
# 证书ID
object_id = IntegerField(default=0)
# 证书类型
object_type = IntegerField(default=ObjectEnum.Certificate)
# 部署url
url = CharField(default=None, null=True)
# 头部
header_raw = CharField(default=None, null=True)
# 部署状态
status = IntegerField(default=DeployStatusEnum.PENDING, null=False)
# 数据版本号
version = IntegerField(default=0, null=False)
# 创建时间
create_time = DateTimeField(default=datetime.now)
# 更新时间
update_time = DateTimeField(default=datetime.now)
class Meta:
table_name = 'tb_deploy_webhook'
@property
def deploy_webhook_id(self):
return self.id
@property
def create_time_label(self):
return datetime_util.time_for_human(self.create_time)
@property
def update_time_label(self):
return datetime_util.time_for_human(self.update_time)
@property
def headers(self):
if self.header_raw:
return json.loads(self.header_raw)
else:
return {}
def to_dict(self):
data = model_to_dict(
model=self,
extra_attrs=[
'deploy_webhook_id',
'create_time_label',
'update_time_label',
'headers',
]
)
return data