Crate this

Crate this 

Source
Expand description

§This-RS Framework

A generic entity and relationship management framework for building RESTful APIs in Rust.

§Features

  • Generic Entity System: Define entities without modifying core framework code
  • Flexible Relationships: Support multiple link types between same entities
  • Bidirectional Navigation: Query relationships from both directions
  • Auto-Pluralization: Intelligent plural forms (company → companies)
  • Configuration-Based: Define relationships via YAML configuration
  • Multi-tenant Support: Built-in tenant isolation
  • Type-Safe: Leverage Rust’s type system for compile-time guarantees

§Quick Start

use this::prelude::*;

#[derive(Debug, Clone, Serialize, Deserialize)]
struct User {
    id: Uuid,
    tenant_id: Uuid,
    name: String,
    email: String,
}

impl_data_entity!(User, "user", ["name", "email"]);

Modules§

config
Configuration loading and management
core
Core module containing fundamental traits and types for the framework
entities
Entity-specific code and macros
links
Link management module
prelude
Re-exports of commonly used types and traits
server
Server module for building HTTP servers with auto-registered routes

Macros§

impl_data_entity
Implement the Data trait for an entity