| 47 | |
| 48 | |
| 49 | class Tool(AppModelMixin): |
| 50 | id = models.UUIDField(primary_key=True, max_length=128, default=uuid.uuid7, editable=False, verbose_name="主键id") |
| 51 | user = models.ForeignKey(User, on_delete=models.SET_NULL, db_constraint=False, blank=True, null=True) |
| 52 | name = models.CharField(max_length=64, verbose_name="工具名称", db_index=True) |
| 53 | desc = models.CharField(max_length=128, verbose_name="描述") |
| 54 | code = models.CharField(max_length=102400, verbose_name="python代码") |
| 55 | input_field_list = models.JSONField(verbose_name="输入字段列表", default=list) |
| 56 | init_field_list = models.JSONField(verbose_name="启动字段列表", default=list) |
| 57 | icon = models.CharField(max_length=256, verbose_name="工具库icon", default="") |
| 58 | is_active = models.BooleanField(default=True, db_index=True) |
| 59 | scope = models.CharField(max_length=20, verbose_name='可用范围', choices=ToolScope.choices, |
| 60 | default=ToolScope.WORKSPACE, db_index=True) |
| 61 | tool_type = models.CharField(max_length=20, verbose_name='工具类型', choices=ToolType.choices, |
| 62 | default=ToolType.CUSTOM, db_index=True) |
| 63 | template_id = models.CharField(max_length=128, verbose_name="模版id", null=True, default=None, db_index=True) |
| 64 | folder = models.ForeignKey(ToolFolder, on_delete=models.DO_NOTHING, verbose_name="文件夹id", default='default') |
| 65 | workspace_id = models.CharField(max_length=64, verbose_name="工作空间id", default="default", db_index=True) |
| 66 | init_params = models.CharField(max_length=102400, verbose_name="初始化参数", null=True) |
| 67 | label = models.CharField(max_length=128, verbose_name="标签", null=True, db_index=True) |
| 68 | version = models.CharField(max_length=64, verbose_name="版本号", null=True, default=None) |
| 69 | |
| 70 | class Meta: |
| 71 | db_table = "tool" |
| 72 | |
| 73 | |
| 74 | class ToolRecord(AppModelMixin): |