Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ feat: Implement basic Group Functionality #5934

Open
wants to merge 17 commits into
base: main
Choose a base branch
from

Conversation

rubentalstra
Copy link
Collaborator

@rubentalstra rubentalstra commented Feb 18, 2025

Summary

This pull request includes significant changes to the group management and OpenID strategy, as well as updates to the client-side model specifications handling. The most important changes include the introduction of group management methods, enhancements to OpenID strategy for group handling, and updates to the client-side model specifications to respect user group permissions.

Group Management Enhancements:

  • api/models/Group.js: Added the Group model definition using Mongoose.
  • api/models/groupMethods.js: Implemented methods for creating, updating, finding, and deleting groups, including checks for user assignments and overriding deletions.
  • config/assign-group.js: Created a script to assign a group to a user via CLI with necessary validations and error handling.
  • config/create-group.js: Added a script to create a new group with options for local or OpenID group types.

OpenID Strategy Enhancements:

Client-Side Model Specifications:

Additional Changes:

Change Type

  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

Testing

Test Configuration:

Checklist

  • My code adheres to this project's style guidelines
  • I have performed a self-review of my own code
  • I have commented in any complex areas of my code
  • I have made pertinent documentation changes
  • My changes do not introduce new warnings
  • I have written tests demonstrating that my changes are effective or that my feature works
  • Local unit tests pass with my changes
  • Any changes dependent on mine have been merged and published in downstream modules.
  • A pull request for updating the documentation has been submitted.

@rubentalstra rubentalstra added the ✨ enhancement New feature or request label Feb 18, 2025
@rubentalstra rubentalstra self-assigned this Feb 18, 2025
@maxesse
Copy link
Contributor

maxesse commented Feb 21, 2025

Hi @rubentalstra here's the group-based modelspecs filtering feature I developed on my fork: https://github.com/maxesse/LibreChat/tree/feat/group-based-modelspecs-access

@rubentalstra
Copy link
Collaborator Author

rubentalstra commented Feb 22, 2025

Screenshot 2025-02-22 at 11 50 45
Screenshot 2025-02-22 at 11 50 59
Screenshot 2025-02-22 at 12 38 03

@rubentalstra rubentalstra changed the title WIP ✨ feat: Implement Group Management with Create and Assign Functionality ✨ feat: Implement Group Management with Create and Assign Functionality Feb 22, 2025
@rubentalstra rubentalstra linked an issue Feb 22, 2025 that may be closed by this pull request
1 task
@rubentalstra rubentalstra changed the title ✨ feat: Implement Group Management with Create and Assign Functionality ✨ feat: Implement basic Group Functionality Feb 22, 2025
@rubentalstra rubentalstra marked this pull request as ready for review February 22, 2025 13:52
@rubentalstra
Copy link
Collaborator Author

Updated to use the new data-schemas package ✅

@rubentalstra rubentalstra added this to the v0.7.8 milestone Mar 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants