feat: add granular import/export permissions for workspace items (#19242)

* feat: add granular import/export permissions for workspace items (#55)

Co-authored-by: Claude <noreply@anthropic.com>

* Fix permissions toggles not saving in EditGroupModal (#58)

Co-authored-by: Claude <noreply@anthropic.com>

* Fix permissions toggles not saving in EditGroupModal (#59)

Co-authored-by: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Classic298andClaude authored and GitHub committed 2025-11-17 18:25:23 -05:00
1 parent 0ed174f6a1
commit b4bc71d1bd
13 files changed
+242 -95

No files matched your search

@@ -11,7 +11,13 @@
models: false,
knowledge: false,
prompts: false,
tools: false
tools: false,
models_import: false,
models_export: false,
prompts_import: false,
prompts_export: false,
tools_import: false,
tools_export: false
},
sharing: {
public_models: false,
@@ -97,6 +103,23 @@
</div>
</div>
{/if}
{#if permissions.workspace.models}
<div class="ml-4 flex flex-col gap-1 mt-1">
<div class="flex w-full justify-between my-1">
<div class="self-center text-xs">
{$i18n.t('Import Models')}
</div>
<Switch bind:state={permissions.workspace.models_import} />
</div>
<div class="flex w-full justify-between my-1">
<div class="self-center text-xs">
{$i18n.t('Export Models')}
</div>
<Switch bind:state={permissions.workspace.models_export} />
</div>
</div>
{/if}
</div>
<div class="flex flex-col w-full">
@@ -129,6 +152,23 @@
</div>
</div>
{/if}
{#if permissions.workspace.prompts}
<div class="ml-4 flex flex-col gap-1 mt-1">
<div class="flex w-full justify-between my-1">
<div class="self-center text-xs">
{$i18n.t('Import Prompts')}
</div>
<Switch bind:state={permissions.workspace.prompts_import} />
</div>
<div class="flex w-full justify-between my-1">
<div class="self-center text-xs">
{$i18n.t('Export Prompts')}
</div>
<Switch bind:state={permissions.workspace.prompts_export} />
</div>
</div>
{/if}
</div>
<div class="flex flex-col w-full">
@@ -151,6 +191,23 @@
</div>
</div>
{/if}
{#if permissions.workspace.tools}
<div class="ml-4 flex flex-col gap-1 mt-1">
<div class="flex w-full justify-between my-1">
<div class="self-center text-xs">
{$i18n.t('Import Tools')}
</div>
<Switch bind:state={permissions.workspace.tools_import} />
</div>
<div class="flex w-full justify-between my-1">
<div class="self-center text-xs">
{$i18n.t('Export Tools')}
</div>
<Switch bind:state={permissions.workspace.tools_export} />
</div>
</div>
{/if}
</div>
</div>