Easy_solution/docs/Organization.md

36 lines
1.7 KiB
Markdown

# Intro
Each organization are a collection of users and projects.
Users will be able to have multiple organizations and different roles in each of them. For example, a user can be an
admin in one organization and a member in another organization.
Each organization will have a unique slug that will consist of 4 lowercase letters and this slug will be used for the
database name of each project contained in an organization.
## Projects
Each project will have a unique name. Each project will be associated with an organization and will have a unique slug
that will come from the organization. The project will have a JSON field that will contain the different applications it has access to
## Organization Management
The organization management will have different features, such as creating an organization, inviting users to an organization,
managing the roles of users in an organization(admin or not), and deleting an organization.
### CRUD Operations
- **Create Organization**: Super Admin
- **Read Organization**: Super Admin, Admin and admin of the organization
- **Update Organization**: Super Admin, Admin
- **Delete Organization**: Super Admin
### User Management
- **Invite User**: Super Admin, Admin and admin of the organization
- **Remove User**: Super Admin, Admin and admin of the organization
- **Change User Role**: Super Admin, Admin and admin of the organization
- **List Users**: Super Admin, Admin and admin of the organization
- **Accept Invitation**: User
- **Decline Invitation**: User
### Project Management
- **Create Project**: Super Admin
- **Read Project**: Super Admin, Admin and admin of the organization
- **Update Project**: Super Admin
- **Delete Project**: Super Admin