Public Access
initial-commit
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package charybdis.core;
|
||||
|
||||
import "core/common.proto";
|
||||
|
||||
// GroupMetadata represents identifying information for a group entity
|
||||
// A group represents a team or organizational unit
|
||||
message GroupMetadata {
|
||||
// Required: The group name (e.g., "team-a", "engineering")
|
||||
string name = 1;
|
||||
|
||||
// Optional: Namespace for organizational grouping (default: "default")
|
||||
string namespace = 2;
|
||||
|
||||
// Optional: Human-readable description of the group
|
||||
string description = 3;
|
||||
|
||||
// Optional: Labels for categorization and filtering
|
||||
// Key-value pairs (e.g., "department": "engineering", "cost-center": "1234")
|
||||
map<string, string> labels = 4;
|
||||
|
||||
// Optional: Tags for additional classification
|
||||
repeated string tags = 5;
|
||||
|
||||
// Optional: Links to external resources (e.g., team page, Slack channel)
|
||||
repeated Link links = 6;
|
||||
}
|
||||
|
||||
// GroupSpec represents configuration for a group entity
|
||||
message GroupSpec {
|
||||
// Required: Type of group
|
||||
// Standard types: "team", "business-unit", "product-area", "root", "department"
|
||||
string type = 1;
|
||||
|
||||
// Optional: Group profile information
|
||||
GroupProfile profile = 2;
|
||||
|
||||
// Optional: Parent group for hierarchy (references a Group entity)
|
||||
// Leave empty for root-level groups
|
||||
string parent = 3;
|
||||
|
||||
// Optional: Child groups in the hierarchy (references Group entities)
|
||||
repeated string children = 4;
|
||||
|
||||
// Optional: Direct members of this group (references User entities)
|
||||
repeated string members = 5;
|
||||
}
|
||||
|
||||
// GroupProfile contains detailed profile information
|
||||
message GroupProfile {
|
||||
// Display name (e.g., "Engineering Team")
|
||||
string display_name = 1;
|
||||
|
||||
// Group email address
|
||||
string email = 2;
|
||||
|
||||
// Group picture/logo URL
|
||||
string picture = 3;
|
||||
}
|
||||
Reference in New Issue
Block a user