User Properties
This table defines the structure of the user entity, including all properties and their descriptions.
🔹 Core Properties
Property | Type | Required | Description | Example |
---|---|---|---|---|
firstName | string | Yes | User's first name. Must be at least 1 character long. | "John" |
lastName | string | Yes | User's last name. Must be at least 1 character long. | "Doe" |
string | Yes | Email address used for authentication and communication. | "[email protected]" | |
role | enum | Yes | User's role that determines their permissions. | "creator" |
avatar | string | No | URL of the user's avatar image. Must be HTTPS. | "https://example.com/avatars/johndoe.jpg" |
organizationId | string | Yes | UUID of the organization this user belongs to. | "123e4567-e89b-12d3-a456-426614174000" |
userGroupId | string | No | UUID of the user group this user belongs to. | "123e4567-e89b-12d3-a456-426614174001" |
fullName | string | No | Full name of the user (read-only, auto-generated). | "John Doe" |
🎭 User Roles
Role | Description | Use Case |
---|---|---|
creator | Standard role for content creators | Regular users who create and manage content |
editor | Can edit and review content | Team leads and content managers |
admin | Full administrative access | Organization administrators |
root | System-level access (internal) | System administrators |
🧩 Example Entry
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]",
"role": "creator",
"avatar": "https://example.com/avatars/johndoe.jpg",
"organizationId": "123e4567-e89b-12d3-a456-426614174000",
"userGroupId": "123e4567-e89b-12d3-a456-426614174001",
"fullName": "John Doe",
"createdAt": "2025-05-22T10:30:00Z",
"updatedAt": "2025-05-22T10:30:00Z"
}
🔍 Interpretation
- Each user belongs to a specific organization (
organizationId
) - Users can optionally belong to a user group (
userGroupId
) - The
role
determines the user's permissions and access levels - The
fullName
is automatically generated fromfirstName
andlastName
- Email addresses are used as unique identifiers within an organization
- Avatar URLs must use HTTPS protocol for security
✅ Use Cases
- 👤 User Management: Create and manage user accounts
- 🔐 Access Control: Assign roles and permissions
- 👥 Team Organization: Group users by departments or functions
- 📧 Communication: Use email for notifications and auth
- 🖼️ Profile Customization: Allow users to set avatars
📘 Notes
- Email: Must be unique within an organization
- Roles: Default role is 'creator' if not specified
- Avatar: Must use HTTPS protocol, optional field
- Names: Both first and last names are required
- Groups: Users can belong to one group at a time
- Organizations: Users are always scoped to an organization
- Full Name: Automatically generated, read-only field