package entity import ( "gateway/internal/model/permission/domain/enum" "go.mongodb.org/mongo-driver/v2/bson" ) // RoleMapping links an external identity-provider group/role to an // internal tenant Role. SyncFromX flows look up via // (TenantID, ExternalSource, ExternalKey) to translate provider claims // into Role assignments. // // InternalRoleKey is denormalized for audit/query convenience. type RoleMapping struct { ID bson.ObjectID `bson:"_id,omitempty"` TenantID string `bson:"tenant_id"` ExternalSource enum.RoleSource `bson:"external_source"` ExternalKey string `bson:"external_key"` InternalRoleID string `bson:"internal_role_id"` InternalRoleKey string `bson:"internal_role_key"` CreateAt int64 `bson:"create_at"` UpdateAt int64 `bson:"update_at"` } // CollectionName returns the MongoDB collection for external→internal // role mappings. func (RoleMapping) CollectionName() string { return "role_mappings" }