Skip to content

Add a public profile API for external integrations#397

Merged
michaelnpsp merged 2 commits intomichaelnpsp:mainfrom
Nnoggie:public-profile-api
Apr 8, 2026
Merged

Add a public profile API for external integrations#397
michaelnpsp merged 2 commits intomichaelnpsp:mainfrom
Nnoggie:public-profile-api

Conversation

@Nnoggie
Copy link
Copy Markdown
Contributor

@Nnoggie Nnoggie commented Apr 8, 2026

Summary

  • add a small public Grid2ProfileAPI for external consumers that need profile export/import access
  • expose the minimal Grid2 profile helpers needed for exporting a specific profile, decoding profile strings, and importing into an explicit profile key
  • keep the old Grid2 import/export flow intact while avoiding external integrations hooking directly into locals/internal implementation details

Context

This is used by the WagoUI project from Method:
https://github.com/methodgg/wago-creator-ui

The previous WagoUI-side implementation had to hook into Grid2 internals to support profile export/import. This change gives external consumers a much cleaner integration point and keeps the addon-owned behavior inside Grid2.

Notes

  • export supports explicit profile keys instead of only the currently active profile
  • import supports importing into an explicit target profile key
  • importing into the currently active profile now properly overwrites it instead of no-oping through AceDB's same-profile guard

@michaelnpsp michaelnpsp merged commit a2acfc6 into michaelnpsp:main Apr 8, 2026
@michaelnpsp
Copy link
Copy Markdown
Owner

michaelnpsp commented Apr 8, 2026

Just a question, the Grid2Options addon is not loaded by default, but the API added is assuming the options addon is loaded, is this correct ? Or should i add a check to load Grid2Options addon to avoid crashes in the API ?

@Nnoggie
Copy link
Copy Markdown
Contributor Author

Nnoggie commented Apr 9, 2026

We are handling this on WagoUI side for now by loading the AddOn on demand when needed. I'm not sure if a separate solution is needed, I personally think the current solution is fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants