Expand description
Cufflink SDK — Build CRUD microservices in a few lines of code.
§Example
ⓘ
use cufflink::prelude::*;
#[derive(Table, Serialize, Deserialize, Clone)]
#[table(name = "todos", auth_required, permission_area = "todos")]
pub struct Todo {
#[key] pub id: Uuid,
pub title: String,
pub completed: bool,
#[timestamp] pub created_at: DateTime<Utc>,
#[timestamp] pub updated_at: DateTime<Utc>,
}
cufflink::service! {
name: "todo-service",
tables: [Todo],
authorization: [
areas: [("todos", ["create", "view", "edit", "delete"])],
default_roles: [
("admin", "Full access", ["todos:*"]),
("viewer", "Read-only", ["todos:view"]),
],
],
}Modules§
- manifest
- Re-export manifest types so proc macro generated code can reference them
- prelude
- Prelude — import this in your service for all common types and derive macros
Macros§
- service
- Re-export the service! macro at crate root Service definition macro — generates a main() function with manifest emission support.