Skip to content

Commit cd4c197

Browse files
committed
feat: configured adapter configs for rest and cron
1 parent b15e87e commit cd4c197

2 files changed

Lines changed: 40 additions & 5 deletions

File tree

adapter/cron/src/main.rs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ use base::traits::{IdentifiableFlow, LoadConfig, Server};
55
use chrono::{DateTime, Datelike, Timelike, Utc};
66
use cron::Schedule;
77
use std::str::FromStr;
8-
use tucana::shared::ValidationFlow;
98
use tucana::shared::value::Kind;
9+
use tucana::shared::{RuntimeFeature, Translation, ValidationFlow};
1010

1111
#[derive(Default)]
1212
struct Cron {}
@@ -24,7 +24,19 @@ impl LoadConfig for CronConfig {
2424
async fn main() {
2525
let server = Cron::default();
2626
let runner = ServerRunner::new(server).await.unwrap();
27-
runner.serve().await.unwrap();
27+
28+
let featues = vec![RuntimeFeature {
29+
name: vec![Translation {
30+
code: "en-US".to_string(),
31+
content: "Cron Adapter".to_string(),
32+
}],
33+
description: vec![Translation {
34+
code: "en-US".to_string(),
35+
content: "A Cron-Adapter is a time-based scheduler that runs commands or scripts automatically at specified times or intervals.".to_string(),
36+
}],
37+
}];
38+
39+
runner.serve(featues, vec![]).await.unwrap();
2840
}
2941

3042
struct Time {

adapter/rest/src/main.rs

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ use std::net::SocketAddr;
2121
use std::sync::Arc;
2222
use tokio::net::TcpListener;
2323
use tonic::async_trait;
24-
use tucana::shared::value::Kind::StructValue;
25-
use tucana::shared::{ListValue, value::Kind};
24+
use tucana::shared::{AdapterConfiguration, RuntimeFeature, value::Kind};
2625
use tucana::shared::{Struct, ValidationFlow, Value};
26+
use tucana::shared::{Translation, value::Kind::StructValue};
2727

2828
mod config;
2929
mod route;
@@ -39,7 +39,30 @@ async fn main() {
3939
Err(err) => panic!("Failed to create server runner: {:?}", err),
4040
};
4141
log::info!("Successfully created runner for http service");
42-
match runner.serve().await {
42+
43+
let addr = runner.get_server_config().port;
44+
let host = runner.get_server_config().host.clone();
45+
46+
let featues = vec![RuntimeFeature {
47+
name: vec![Translation {
48+
code: "en-US".to_string(),
49+
content: "Rest Adapter".to_string(),
50+
}],
51+
description: vec![Translation {
52+
code: "en-US".to_string(),
53+
content: "A Rest-Adapter is a server that exposes resources through HTTP URLs (endpoints). Clients use methods like GET, POST, PUT, and DELETE to retrieve or modify data, typically exchanged as JSON.".to_string(),
54+
}],
55+
}];
56+
57+
let configs = vec![AdapterConfiguration {
58+
data: Some(tucana::shared::adapter_configuration::Data::Endpoint(
59+
format!(
60+
r"{}:{}/${{project_slug}}/${{flow_setting_identifier}}",
61+
host, addr
62+
),
63+
)),
64+
}];
65+
match runner.serve(featues, configs).await {
4366
Ok(_) => (),
4467
Err(err) => panic!("Failed to start server runner: {:?}", err),
4568
};

0 commit comments

Comments
 (0)