Skip to content

Commit

Permalink
feat: Add pipeline ui fields to plugin config
Browse files Browse the repository at this point in the history
  • Loading branch information
tiina303 committed Nov 3, 2023
1 parent 4e0ad8b commit f00d83d
Show file tree
Hide file tree
Showing 5 changed files with 76 additions and 2 deletions.
2 changes: 1 addition & 1 deletion latest_migrations.manifest
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ contenttypes: 0002_remove_content_type_name
ee: 0015_add_verified_properties
otp_static: 0002_throttling
otp_totp: 0002_auto_20190420_0723
posthog: 0359_team_external_data_workspace_id
posthog: 0360_auto_20231103_1229
sessions: 0001_initial
social_django: 0010_uid_db_index
two_factor: 0007_auto_20201201_1019
4 changes: 4 additions & 0 deletions posthog/api/plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -503,6 +503,10 @@ class Meta:
"plugin_info",
"delivery_rate_24h",
"created_at",
"updated_at",
"name",
"description",
"deleted",
]
read_only_fields = [
"id",
Expand Down
40 changes: 39 additions & 1 deletion posthog/api/test/test_plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -935,6 +935,8 @@ def test_create_plugin_config(self, mock_get, mock_reload):
"enabled": True,
"order": 0,
"config": json.dumps({"bar": "moop"}),
"name": "name in ui",
"description": "description in ui",
},
format="multipart",
)
Expand All @@ -955,6 +957,10 @@ def test_create_plugin_config(self, mock_get, mock_reload):
"plugin_info": None,
"delivery_rate_24h": None,
"created_at": mock.ANY,
"updated_at": mock.ANY,
"name": "name in ui",
"description": "description in ui",
"deleted": False,
},
)
plugin_config = PluginConfig.objects.first()
Expand Down Expand Up @@ -993,6 +999,10 @@ def test_create_plugin_config(self, mock_get, mock_reload):
"plugin_info": None,
"delivery_rate_24h": None,
"created_at": mock.ANY,
"updated_at": mock.ANY,
"name": "name in ui",
"description": "description in ui",
"deleted": False,
},
)
self.client.delete(f"/api/plugin_config/{plugin_config_id}")
Expand Down Expand Up @@ -1309,6 +1319,10 @@ def test_create_plugin_config_with_secrets(self, mock_get, mock_reload):
"plugin_info": None,
"delivery_rate_24h": None,
"created_at": mock.ANY,
"updated_at": mock.ANY,
"name": None,
"description": None,
"deleted": False,
},
)

Expand All @@ -1334,6 +1348,10 @@ def test_create_plugin_config_with_secrets(self, mock_get, mock_reload):
"plugin_info": None,
"delivery_rate_24h": None,
"created_at": mock.ANY,
"updated_at": mock.ANY,
"name": None,
"description": None,
"deleted": False,
},
)

Expand Down Expand Up @@ -1361,6 +1379,10 @@ def test_create_plugin_config_with_secrets(self, mock_get, mock_reload):
"plugin_info": None,
"delivery_rate_24h": None,
"created_at": mock.ANY,
"updated_at": mock.ANY,
"name": None,
"description": None,
"deleted": False,
},
)
plugin_config = PluginConfig.objects.get(plugin=plugin_id)
Expand All @@ -1370,7 +1392,15 @@ def test_create_plugin_config_with_secrets(self, mock_get, mock_reload):
def test_plugin_config_list(self, mock_get, mock_reload):
plugin = Plugin.objects.create(organization=self.organization)
plugin_config1 = PluginConfig.objects.create(plugin=plugin, team=self.team, enabled=True, order=1)
plugin_config2 = PluginConfig.objects.create(plugin=plugin, team=self.team, enabled=True, order=2)
plugin_config2 = PluginConfig.objects.create(
plugin=plugin,
team=self.team,
enabled=True,
order=2,
name="ui name",
description="ui description",
deleted=True,
)

create_app_metric(
team_id=self.team.pk,
Expand All @@ -1397,6 +1427,10 @@ def test_plugin_config_list(self, mock_get, mock_reload):
"plugin_info": None,
"delivery_rate_24h": 0.5,
"created_at": mock.ANY,
"updated_at": mock.ANY,
"name": None,
"description": None,
"deleted": False,
},
{
"id": plugin_config2.pk,
Expand All @@ -1409,6 +1443,10 @@ def test_plugin_config_list(self, mock_get, mock_reload):
"plugin_info": None,
"delivery_rate_24h": None,
"created_at": mock.ANY,
"updated_at": mock.ANY,
"name": "ui name",
"description": "ui description",
"deleted": True,
},
],
)
Expand Down
27 changes: 27 additions & 0 deletions posthog/migrations/0360_add_plugin_config_ui_fields.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Generated by Django 3.2.19 on 2023-11-03 12:29

from django.db import migrations, models


class Migration(migrations.Migration):
dependencies = [
("posthog", "0359_team_external_data_workspace_id"),
]

operations = [
migrations.AddField(
model_name="pluginconfig",
name="deleted",
field=models.BooleanField(blank=True, default=False, null=True),
),
migrations.AddField(
model_name="pluginconfig",
name="description",
field=models.CharField(blank=True, max_length=400, null=True),
),
migrations.AddField(
model_name="pluginconfig",
name="name",
field=models.CharField(blank=True, max_length=400, null=True),
),
]
5 changes: 5 additions & 0 deletions posthog/models/plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,11 @@ class Meta:

created_at: models.DateTimeField = models.DateTimeField(auto_now_add=True)
updated_at: models.DateTimeField = models.DateTimeField(auto_now=True)
# Used in the frontend
name: models.CharField = models.CharField(max_length=400, null=True, blank=True)
description: models.CharField = models.CharField(max_length=400, null=True, blank=True)
# Used in the frontend to hide pluginConfgis that user deleted
deleted: models.BooleanField = models.BooleanField(default=False, null=True, blank=True)


class PluginAttachment(models.Model):
Expand Down

0 comments on commit f00d83d

Please sign in to comment.