Skip to content

Add verified column and badge for dashAI plugins#692

Open
Irozuku wants to merge 4 commits into
developfrom
feat/filter-dashai-plugins
Open

Add verified column and badge for dashAI plugins#692
Irozuku wants to merge 4 commits into
developfrom
feat/filter-dashai-plugins

Conversation

@Irozuku

@Irozuku Irozuku commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

Plugins published by the official dashAI PyPI account (dashai.nocode) now show a Verified badge in the plugins UI. PyPI exposes no uploader account field through its API, so verification is derived from package author metadata: a plugin is verified when its author_email contains dashaisoftware@gmail.com or its author is DashAI team. This lets users distinguish official plugins from third party dashai-* packages.

image

Type of Change

Check all that apply like this [x]:

  • Backend change
  • Frontend change
  • CI / Workflow change
  • Build / Packaging change
  • Bug fix
  • Documentation

Changes (by file)

  • DashAI/back/dependencies/database/models.py: add verified boolean column to the Plugin model (server_default "0").
  • DashAI/alembic/versions/e2a9c4f1b8d3_add_verified_column_to_plugin.py: migration adding the verified column (revises 3db684f4090a).
  • DashAI/back/plugins/utils.py: add _is_verified_author() helper and compute verified from author metadata in get_plugin_by_name_from_pypi.
  • DashAI/back/api/api_v1/schemas/plugin_params.py: add verified: bool = False to PluginParams.
  • DashAI/back/dependencies/database/utils.py: persist verified on plugin create, update, and upgrade.
  • DashAI/front/src/types/plugin.ts: add verified: boolean to IPlugin.
  • DashAI/front/src/pages/plugins/components/PluginsCard.jsx: render a verified badge (tooltip) in grid and list views.
  • DashAI/front/src/pages/plugins/components/PluginsDetails.jsx: render a verified badge beside the title.
  • DashAI/front/src/utils/i18n/locales/{en,es,pt,de,zh}/plugins.json: add label.verified string.
  • tests/back/plugins/test_plugin_utils.py: parametrized test for _is_verified_author + updated output assertions.

Testing

  • To verify in app: trigger POST /api/v1/plugins/index to refresh from PyPI, then confirm official dashAI plugins show the badge.

Notes

  • verified is recomputed only on the plugins index refresh (POST /plugins/index). Existing DB rows default to false until refreshed.
  • Verification relies on self-declared PyPI metadata (PyPI has no uploader-account API), so it is a best-effort signal, not a cryptographic guarantee. Matching constants live in DashAI/back/plugins/utils.py (_VERIFIED_AUTHOR_EMAIL, _VERIFIED_AUTHOR_NAME).

@Irozuku Irozuku added front Frontend work back Backend work labels Jun 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

back Backend work front Frontend work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant