skootrs_model/
lib.rs

1//
2// Copyright 2023 The Skootrs Authors.
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8//     http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15
16//! This is where all the models for the Skootrs project are defined. The models are just the data
17//! representing the abstractions around a project like its repository, source code, and facets.
18//!
19//! The models here need to be (de)serializable, i.e. implementing `serde::Serialize` and `serde::Deserialize`
20//! so that they can be easily used in RPC calls and other places where data needs to be sent over the wire.
21//! For example the REST API that is in the `skootrs-rest` crate. Currently for the sake of simplicity we don'T
22//! use much in the way of generics and trait objects because of issues with (de)serialization.
23//!
24//! All the models besides those that fall under `/skootrs` are considered external. In most cases they are
25//! code generated. The models in `/skootrs` are the core models for the Skootrs project and defined for the
26//! purpose of the project.
27/// CD Events models.
28pub mod cd_events;
29/// Security Insights models.
30pub mod security_insights;
31/// Skootrs specific models.
32pub mod skootrs;