risingwave_frontend/user/
mod.rs1use risingwave_common::id::{ObjectId, SchemaId};
16use user_catalog::UserCatalog;
17
18pub(crate) mod user_authentication;
19pub(crate) mod user_catalog;
20pub(crate) mod user_manager;
21pub mod user_privilege;
22pub(crate) mod user_service;
23
24pub use risingwave_common::id::UserId;
25pub type UserInfoVersion = u64;
26
27pub fn has_access_to_object(
29 current_user: &UserCatalog,
30 obj_id: impl Into<ObjectId>,
31 owner_id: UserId,
32) -> bool {
33 let obj_id = obj_id.into();
34 owner_id == current_user.id || current_user.check_object_visibility(obj_id)
35}
36
37pub fn has_schema_usage_privilege(
38 current_user: &UserCatalog,
39 schema_id: impl Into<SchemaId>,
40 owner_id: UserId,
41) -> bool {
42 let schema_id = schema_id.into();
43 current_user.id == owner_id || current_user.has_schema_usage_privilege(schema_id)
44}