Skip to main content

Crate rust_store_core

Crate rust_store_core 

Source
Expand description

rust-store 语言无关核心(Phase 1)

本 crate 只承载纯逻辑:GQL 解析、Aggregate Pipeline 构建、Projection 计算。 不持有 MongoDB 驱动,不做任何 IO —— 对应方案 A 中「core 产出 Command,Host 执行」的切分。

与现有 JS 实现(src/*.js)的显式差异(即 P0 契约):

  1. 权限上下文 ctx 由隐式 AsyncLocalStorage 改为显式入参;
  2. schema 注册表由模块级全局 _schemas 改为显式 Registry 实例。

Re-exports§

pub use error::CoreError;
pub use error::CoreResult;

Modules§

bson
BSON 跨 FFI 线格式契约
command
Command 序列契约(方案 A 的「core 产出指令、Host 执行」边界)
computes
计算列引擎(对应 JS src/computes.js)
datasource
数据源(DataSource)—— 多后端路由的纯逻辑
dialect
Mongo 方言 → 关系型 SQL 翻译层(纯逻辑,无 IO)
error
core 错误类型:FFI 边界的结构化错误(评测报告 rust m-3)。
federation
跨库联邦查询(Phase 5)
naming
命名归一与定向翻译(设计 §6)。唯一实现;core-node / core-py 仅透出。
permission
权限引擎(对应 JS src/permission.js)
pipeline
GQL 解析 + Aggregate Pipeline 构建器(对应 JS src/pipeline.js)
rbac
RBAC 动态策略引擎(core 层判决插件;静态白名单引擎见 crate::permission)
resource
资源纯语义:内容寻址路径 + 引用归一 + URL 模板组合。
schema
Schema 管理(对应 JS src/schema.js)
types
类型系统 —— 类型 → 零值映射(对应 JS src/types.js)