Skip to main content

Crate rustio_admin

Crate rustio_admin 

Source
Expand description

rustio-admin — Django Admin, but for Rust.

This crate is the public face of the framework. Phase 2 ships the HTTP / router / server / ORM / migrations / templates core; later phases populate auth and admin.

Re-exports§

pub use crate::admin::register_admin_routes;
pub use crate::admin::Admin;
pub use crate::admin::AdminField;
pub use crate::admin::AdminModel;
pub use crate::admin::BulkAction;
pub use crate::admin::BulkActionContext;
pub use crate::admin::BulkActionFailure;
pub use crate::admin::BulkActionResult;
pub use crate::admin::FieldType;
pub use crate::admin::FieldValidationError;
pub use crate::admin::Fieldset;
pub use crate::admin::Inline;
pub use crate::admin::ModelAdmin;
pub use crate::auth::Identity;
pub use crate::auth::Role;
pub use crate::error::Error;
pub use crate::error::Result;
pub use crate::http::FormData;
pub use crate::http::Request;
pub use crate::http::Response;
pub use crate::orm::Db;
pub use crate::orm::DbOptions;
pub use crate::orm::Model;
pub use crate::orm::Row;
pub use crate::orm::Value;
pub use crate::router::Next;
pub use crate::router::Router;
pub use crate::server::Server;
pub use crate::templates::embedded_template_names;
pub use crate::templates::embedded_template_source;
pub use chrono;
pub use rust_decimal;
pub use sqlx;
pub use uuid;

Modules§

admin
The admin panel — Django Admin, Rust-flavoured.
auth
Authentication & authorization.
background
Background tasks. A tiny runner that spawns one tokio task per recurring job. Kept simple on purpose — we don’t ship a cron DSL, just “run this every N seconds”.
email
Email delivery abstraction.
error
Unified error type. Every fallible path in the framework returns Result<T, Error>, and the HTTP layer knows how to turn an Error into a proper response.
http
The HTTP primitives. Request and Response are thin wrappers around hyper’s types that carry a typed context and a few conveniences.
middleware
Built-in middleware. Each piece is an async function with the signature async fn(Request, Next) -> Result<Response>. Drop any of them into Router::middleware(...) in whatever order you want.
migrations
Versioned SQL migrations for PostgreSQL. Transactional; the rustio_migrations tracking table records which versions have been applied.
orm
PostgreSQL-backed ORM. A thin shim over sqlx — Db, Model, Value, Row — and a handful of generic CRUD helpers. Hand-written impl Model is the contract; users keep writing SQL where it matters.
router
A small, opinionated router.
server
The HTTP server. Binds a TCP listener, runs each connection on its own Tokio task, and shuts down gracefully on Ctrl-C.
templates
Template rendering. Rust code passes typed context; this module owns everything about HTML generation.
view_layer
Adaptive View Layer.

Structs§

DateTime
ISO 8601 combined date and time with time zone.
Decimal
Decimal represents a 128 bit representation of a fixed-precision decimal number. The finite set of values of type Decimal are of the form m / 10e, where m is an integer such that -296 < m < 296, and e is an integer between 0 and 28 inclusive.
NaiveDate
ISO 8601 calendar date without timezone. Allows for every proleptic Gregorian date from Jan 1, 262145 BCE to Dec 31, 262143 CE. Also supports the conversion from ISO 8601 ordinal and week date.
NaiveTime
ISO 8601 time without timezone. Allows for the nanosecond precision and optional leap second representation.
Utc
The UTC time zone. This is the most efficient time zone when you don’t need the local time. It is also used as an offset (which is also a dummy type).
Uuid
A Universally Unique Identifier (UUID).

Derive Macros§

RustioAdmin