Public Access
initial-commit
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package charybdis.core;
|
||||
|
||||
import "core/common.proto";
|
||||
|
||||
// UserMetadata represents identifying information for a user entity
|
||||
// A user represents a person in the organization
|
||||
message UserMetadata {
|
||||
// Required: The username (e.g., "jdoe", "john.doe")
|
||||
string name = 1;
|
||||
|
||||
// Optional: Namespace for organizational grouping (default: "default")
|
||||
string namespace = 2;
|
||||
|
||||
// Optional: Full name or description
|
||||
string description = 3;
|
||||
|
||||
// Optional: Labels for categorization and filtering
|
||||
// Key-value pairs (e.g., "department": "engineering", "location": "SF")
|
||||
map<string, string> labels = 4;
|
||||
|
||||
// Optional: Tags for additional classification
|
||||
repeated string tags = 5;
|
||||
|
||||
// Optional: Links to external resources (e.g., GitHub profile, LinkedIn)
|
||||
repeated Link links = 6;
|
||||
}
|
||||
|
||||
// UserSpec represents configuration for a user entity
|
||||
message UserSpec {
|
||||
// Optional: User profile information
|
||||
UserProfile profile = 1;
|
||||
|
||||
// Optional: Groups this user is a member of (references Group entities)
|
||||
repeated string member_of = 2;
|
||||
}
|
||||
|
||||
// UserProfile contains detailed profile information
|
||||
message UserProfile {
|
||||
// Display name (e.g., "John Doe")
|
||||
string display_name = 1;
|
||||
|
||||
// Email address
|
||||
string email = 2;
|
||||
|
||||
// Avatar/picture URL
|
||||
string picture = 3;
|
||||
}
|
||||
Reference in New Issue
Block a user