package entity import ( "gateway/internal/model/permission/domain/enum" "go.mongodb.org/mongo-driver/v2/bson" ) // Role is a tenant-scoped role definition. Key is immutable and uniquely // identifies the role within a tenant; DisplayName may be edited freely. // // is_system roles are seeded when a tenant is created (`tenant_owner`, // `tenant_admin`, `member_manager`, `member`, `viewer`); the `tenant_owner` // role cannot be deleted. type Role struct { ID bson.ObjectID `bson:"_id,omitempty"` TenantID string `bson:"tenant_id"` Key string `bson:"key"` DisplayName string `bson:"display_name"` CreatorUID string `bson:"creator_uid,omitempty"` Status enum.Status `bson:"status"` IsSystem bool `bson:"is_system"` CreateAt int64 `bson:"create_at"` UpdateAt int64 `bson:"update_at"` } // CollectionName returns the MongoDB collection for roles. func (Role) CollectionName() string { return "roles" }