1 unstable release
0.1.0 | Apr 15, 2024 |
---|
#1531 in Data structures
Used in 4 crates
225KB
5.5K
SLoC
Skootrs-model
This module contains the various data structures used by the other Skootrs modules. This is also setup to make it easy to generate schemas from this code for the purposes of easily implementing Skootrs API compliant clients in other languages and systems.
Over time this will probably transform into more of an SDK.
lib.rs
:
This is where all the models for the Skootrs project are defined. The models are just the data representing the abstractions around a project like its repository, source code, and facets.
The models here need to be (de)serializable, i.e. implementing serde::Serialize
and serde::Deserialize
so that they can be easily used in RPC calls and other places where data needs to be sent over the wire.
For example the REST API that is in the skootrs-rest
crate. Currently for the sake of simplicity we don'T
use much in the way of generics and trait objects because of issues with (de)serialization.
All the models besides those that fall under /skootrs
are considered external. In most cases they are
code generated. The models in /skootrs
are the core models for the Skootrs project and defined for the
purpose of the project.
Dependencies
~9MB
~164K SLoC