🛒 feat: Implement Marketplace Permissions Management UI

- Added MarketplaceAdminSettings component for managing marketplace permissions.
- Updated roles.js to include marketplace permissions in the API.
- Refactored interface.js to streamline marketplace permissions handling.
- Enhanced Marketplace component to integrate admin settings.
- Updated localization files to include new marketplace-related keys.
- Added new API endpoint for updating marketplace permissions in data-service.
This commit is contained in:
Danny Avila 2025-08-10 19:01:10 -04:00
parent a434d28579
commit d07c2b3475
No known key found for this signature in database
GPG key ID: BF31EEB2C5CA0956
10 changed files with 297 additions and 29 deletions

View file

@ -4,6 +4,7 @@ import {
dataService,
promptPermissionsSchema,
memoryPermissionsSchema,
marketplacePermissionsSchema,
peoplePickerPermissionsSchema,
} from 'librechat-data-provider';
import type {
@ -169,3 +170,39 @@ export const useUpdatePeoplePickerPermissionsMutation = (
},
);
};
export const useUpdateMarketplacePermissionsMutation = (
options?: t.UpdateMarketplacePermOptions,
): UseMutationResult<
t.UpdatePermResponse,
t.TError | undefined,
t.UpdateMarketplacePermVars,
unknown
> => {
const queryClient = useQueryClient();
const { onMutate, onSuccess, onError } = options ?? {};
return useMutation(
(variables) => {
marketplacePermissionsSchema.partial().parse(variables.updates);
return dataService.updateMarketplacePermissions(variables);
},
{
onSuccess: (data, variables, context) => {
queryClient.invalidateQueries([QueryKeys.roles, variables.roleName]);
if (onSuccess) {
onSuccess(data, variables, context);
}
},
onError: (...args) => {
const error = args[0];
if (error != null) {
console.error('Failed to update marketplace permissions:', error);
}
if (onError) {
onError(...args);
}
},
onMutate,
},
);
};