* progress * progress * all in one * frontend * small nits * go job test * go.sum is optional * add golang-go to backend test image Co-authored-by: sqwishy <somebody@froghat.ca>
50 lines
1.1 KiB
Rust
50 lines
1.1 KiB
Rust
/*
|
|
* Author: Ruben Fiszel
|
|
* Copyright: Windmill Labs, Inc 2022
|
|
* This file and its contents are licensed under the AGPLv3 License.
|
|
* Please see the included NOTICE for copyright information and
|
|
* LICENSE-AGPL for a copy of the license.
|
|
*/
|
|
|
|
use serde::Serialize;
|
|
|
|
#[derive(Serialize, Debug, PartialEq)]
|
|
pub struct MainArgSignature {
|
|
pub star_args: bool,
|
|
pub star_kwargs: bool,
|
|
pub args: Vec<Arg>,
|
|
}
|
|
|
|
#[derive(Serialize, Clone, Debug, PartialEq)]
|
|
#[serde(rename_all(serialize = "lowercase"))]
|
|
pub struct ObjectProperty {
|
|
pub key: String,
|
|
pub typ: Box<Typ>,
|
|
}
|
|
|
|
#[derive(Serialize, Clone, Debug, PartialEq)]
|
|
#[serde(rename_all(serialize = "lowercase"))]
|
|
pub enum Typ {
|
|
Str(Option<Vec<String>>),
|
|
Int,
|
|
Float,
|
|
Bool,
|
|
List(Box<Typ>),
|
|
Bytes,
|
|
Datetime,
|
|
Resource(String),
|
|
Email,
|
|
Sql,
|
|
Object(Vec<ObjectProperty>),
|
|
Unknown,
|
|
}
|
|
|
|
#[derive(Serialize, Clone, Debug, PartialEq)]
|
|
pub struct Arg {
|
|
pub name: String,
|
|
pub otyp: Option<String>,
|
|
pub typ: Typ,
|
|
pub default: Option<serde_json::Value>,
|
|
pub has_default: bool,
|
|
}
|