feat(permissions): add workspace.skills_import and workspace.skills_export permissions (#25921)

This commit is contained in:
G30
2026-06-29 01:36:27 -05:00
committed by GitHub
parent da0fd0da0d
commit 677e164f29
7 changed files with 42 additions and 8 deletions
@@ -174,7 +174,22 @@
<Switch bind:state={permissions.workspace.skills} />
</Tooltip>
{#if defaultPermissions?.workspace?.skills && !permissions.workspace.skills}
{#if permissions.workspace.skills}
<div class="ml-2 flex flex-col gap-2 pt-0.5 pb-1">
<div class="flex w-full justify-between">
<div class="self-center text-xs">
{$i18n.t('Import Skills')}
</div>
<Switch bind:state={permissions.workspace.skills_import} />
</div>
<div class="flex w-full justify-between">
<div class="self-center text-xs">
{$i18n.t('Export Skills')}
</div>
<Switch bind:state={permissions.workspace.skills_export} />
</div>
</div>
{:else if defaultPermissions?.workspace?.skills}
<div class="pb-0.5">
<div class="text-xs text-gray-500">
{$i18n.t('This is a default user permission and will remain enabled.')}
+2 -2
View File
@@ -263,7 +263,7 @@
}}
/>
{#if $user?.role === 'admin' || $user?.permissions?.workspace?.skills}
{#if $user?.role === 'admin' || $user?.permissions?.workspace?.skills_import}
<button
class="flex text-xs items-center space-x-1 px-3 py-1.5 rounded-xl bg-gray-50 hover:bg-gray-100 dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-gray-200 transition"
on:click={() => {
@@ -276,7 +276,7 @@
</button>
{/if}
{#if total && ($user?.role === 'admin' || $user?.permissions?.workspace?.skills)}
{#if total && ($user?.role === 'admin' || $user?.permissions?.workspace?.skills_export)}
<button
class="flex text-xs items-center space-x-1 px-3 py-1.5 rounded-xl bg-gray-50 hover:bg-gray-100 dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-gray-200 transition"
on:click={async () => {
@@ -69,7 +69,7 @@
<div class="flex items-center">{$i18n.t('Clone')}</div>
</button>
{#if $user?.role === 'admin' || $user?.permissions?.workspace?.skills}
{#if $user?.role === 'admin' || $user?.permissions?.workspace?.skills_export}
<button
class="select-none flex gap-2 items-center px-3 py-1.5 text-sm cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-xl w-full"
on:click={() => {
+3 -1
View File
@@ -10,7 +10,9 @@ export const DEFAULT_PERMISSIONS = {
prompts_import: false,
prompts_export: false,
tools_import: false,
tools_export: false
tools_export: false,
skills_import: false,
skills_export: false
},
sharing: {
models: false,