Skip to main content

Crate legalis_api

Crate legalis_api 

Source
Expand description

Legalis-API: REST/GraphQL API server for Legalis-RS.

This crate provides a web API for interacting with the Legalis-RS framework:

  • CRUD operations for statutes
  • Verification endpoints
  • Simulation endpoints
  • Registry queries
  • OpenAPI 3.0 documentation
  • Authentication and authorization (RBAC + ReBAC)

Modules§

ai_suggestions
AI-powered statute suggestion module.
anomaly
Anomaly detection for API usage patterns.
async_jobs
Async job management for long-running operations.
audit
Audit logging for tracking all mutations and important operations.
auth
Authentication and authorization module for Legalis API.
cache
Response caching and ETag support with in-memory and Redis backends.
changelog
Changelog Generation
collaborative
Collaborative editing support with operational transformation.
config
Configuration management for the API server.
contract_test
API contract testing utilities.
cqrs
CQRS (Command Query Responsibility Segregation) implementation
edge_cache
Edge caching support for CDN-friendly responses.
event_replay
Event Replay implementation
event_schema
Event Schema Registry implementation
event_sourcing
Event Sourcing implementation for Legalis API
event_streaming
Event Streaming implementation for Kafka and NATS
field_selection
Field selection support for REST API.
gateway
API Gateway features.
graphql
GraphQL API for Legalis-RS.
grpc
gRPC service implementation for Legalis API.
live_queries
Live queries (Subscriptions 2.0) for GraphQL.
load_test
Load testing utilities for API performance testing.
logging
Structured logging middleware for API requests.
mocking
Request Mocking implementation
multitenancy
Multi-tenancy support for Legalis API.
oauth2_provider
OAuth2/OIDC authentication provider support.
observability
Observability coordinator integrating all monitoring features.
openapi
OpenAPI documentation module.
persisted_queries
Persisted queries for GraphQL.
playground
API Playground improvements
presence
Presence awareness for tracking user activity.
query_batch
Automatic query batching for GraphQL.
query_cost
Query cost analysis for GraphQL.
rate_limit
Rate limiting middleware for API endpoints.
rebac
Relationship-Based Access Control (ReBAC) module.
sampling
Request sampling for high-volume endpoints.
schema_stitching
Schema stitching for microservices.
sdk_generator
SDK Generator Module
sdk_notifications
SDK Auto-Update Notifications
security
Security testing helpers and OWASP checks.
slo
Service Level Objective (SLO) and Service Level Indicator (SLI) tracking.
telemetry
OpenTelemetry distributed tracing support.
test_utils
API Testing Utilities
versioning
API versioning support.
websocket
WebSocket support for real-time updates.

Macros§

impl_field_selectable
Macro to help implement field selection for structs.

Structs§

ApiKeyListResponse
API key list response.
ApiKeyResponse
API key response (with the actual key value shown only once).
ApiKeyRotationResponse
API key rotation response.
ApiResponse
Success response wrapper.
AppState
Application state.
AsyncVerifyStartResponse
Async verification start response.
BatchCreateStatutesRequest
Batch statute create request.
BatchCreateStatutesResponse
Batch statute create response.
BatchDeleteStatutesRequest
Batch statute delete request.
BatchDeleteStatutesResponse
Batch statute delete response.
BatchVerifyRequest
Batch verification request - verifies multiple groups of statutes independently.
BatchVerifyResponse
Batch verification response.
BatchVerifyResult
Result for a single verification job in a batch.
ComparisonDifferences
Differences between two statutes.
ComparisonMatrixEntry
Entry in the comparison matrix.
ComplexityResponse
Complexity analysis response.
ComplianceCheckRequest
Compliance check request.
ComplianceCheckResponse
Compliance check response.
ConflictDetectionRequest
Conflict detection request.
ConflictDetectionResponse
Conflict detection response.
ConflictInfo
Information about a detected conflict.
CreateApiKeyRequest
API key creation request.
CreateStatuteRequest
Create statute request.
CreateVersionRequest
Create new version of statute request.
DetailedVerifyResponse
Detailed verification report response.
JobStatusResponse
Job status response.
ListSavedSimulationsQuery
List saved simulations query.
ResponseMeta
Response metadata.
SaveSimulationRequest
Save simulation request.
SavedSimulation
Saved simulation result.
ServerConfig
Server configuration.
SimulationComparisonRequest
Simulation comparison request.
SimulationComparisonResponse
Simulation comparison response.
SimulationDifferences
Differences between two simulation scenarios.
SimulationRequest
Simulation request.
SimulationResponse
Simulation response.
SimulationScenarioResult
Results for a single simulation scenario.
StatuteComparisonMatrixRequest
Statute comparison matrix request.
StatuteComparisonMatrixResponse
Statute comparison matrix response.
StatuteComparisonRequest
Statute comparison request.
StatuteComparisonResponse
Statute comparison response.
StatuteListResponse
Statute list response.
StatutePermissionEntry
Statute permission entry.
StatutePermissionRequest
Statute permission update request.
StatutePermissionsResponse
Statute permission list response.
StatuteSearchQuery
Search/filter parameters for statutes.
StatuteSummary
Statute summary for list views.
StatuteVersionInfo
Information about a statute version.
StatuteVersionListResponse
Statute version list response.
VerificationJobResult
Verification job result.
VerifyJob
A single verification job within a batch.
VerifyRequest
Verification request.
VerifyResponse
Verification response.
VisualizationResponse
Visualization response.
VizQuery
Visualization request query parameters.
WhatIfRequest
What-if analysis request.
WhatIfResponse
What-if analysis response.

Enums§

ApiError
API errors.
VizFormat
Visualization format options.

Functions§

create_router
Creates the API router.