integrationos_domain/domain/microservice/
mod.rs1pub mod region;
2
3use bson::oid::ObjectId;
4use bson::DateTime;
5use serde::{Deserialize, Serialize};
6
7#[derive(Debug, Clone, Deserialize, Serialize)]
8#[serde(rename_all = "camelCase")]
9pub struct MicroService {
10 #[serde(rename = "_id")]
11 pub id: ObjectId,
12 pub name: String,
13 pub class: String,
14 pub r#type: String,
15 pub tags: Vec<String>,
16 pub host: String,
17 pub region: String,
18 #[serde(rename = "__microservice__")]
20 pub microservice: MicroServiceMicroService,
21 #[serde(rename = "__buildableTtl__")]
22 pub buildable_ttl: DateTime,
23 pub buildable_id: String,
24 pub author: MicroServiceAuthor,
25 #[serde(rename = "__global")]
26 pub global: bool,
27 pub frontend: MicroServiceFrontend,
28}
29
30#[derive(Debug, Clone, Deserialize, Serialize)]
31#[serde(rename_all = "camelCase")]
32pub struct MicroServiceMicroService {
33 #[serde(rename = "__global")]
34 pub global: bool,
35 pub url: String,
36 pub r#type: String,
37 pub version: String,
38 pub buildable_package: MicroServiceMicroServiceBuildablePackage,
40 pub instance: MicroServiceMicroServiceInstance,
42}
43
44#[derive(Debug, Clone, Deserialize, Serialize)]
45pub struct MicroServiceMicroServiceBuildablePackage {
46 pub name: String,
47}
48
49#[derive(Debug, Clone, Deserialize, Serialize)]
50#[serde(rename_all = "camelCase")]
51pub struct MicroServiceMicroServiceInstance {
52 pub instance_id: String,
53 pub url: String,
54}
55
56#[derive(Debug, Clone, Deserialize, Serialize)]
57#[serde(rename_all = "camelCase")]
58pub struct MicroServiceAuthor {
59 #[serde(rename = "_id")]
60 pub id: ObjectId,
61 pub first_name: String,
62}
63
64#[derive(Debug, Clone, Deserialize, Serialize)]
65#[serde(rename_all = "camelCase")]
66pub struct MicroServiceFrontend {
67 pub show_details: bool,
68}