// AUTO-GENERATED by mizan — do not edit

#![allow(non_camel_case_types)]

use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct OrderOutput {
    pub id: i64,
    pub user_id: i64,
    pub total: i64,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EchoInput {
    pub text: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EchoOutput {
    pub message: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct FindUserInput {
    pub user_id: i64,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct FindUserOutput {
    pub user_id: i64,
    pub name: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RenameUserInput {
    pub user_id: i64,
    pub name: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RenameUserOutput {
    pub user_id: i64,
    pub name: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateProfileInput {
    pub user_id: i64,
    pub name: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpdateProfileOutput {
    pub ok: bool,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UserOrdersInput {
    pub user_id: i64,
}

pub type UserOrdersOutput = Vec<OrderOutput>;

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UserProfileInput {
    pub user_id: i64,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UserProfileOutput {
    pub user_id: i64,
    pub name: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WhoamiOutput {
    pub email: String,
    pub authenticated: bool,
}

