1use serde::{Deserialize, Serialize};
2
3use crate::Timestamp;
4
5#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
8pub struct NewCliLogin {
9 pub machine: String,
12}
13
14#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
18pub struct StartedCliLogin {
19 pub approve_url: String,
20 pub code: String,
23 pub collect_token: String,
24 pub expires_at: Timestamp,
25}
26
27#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
30#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
31#[cfg_attr(feature = "typescript", ts(export_to = "controller-api.ts"))]
32pub struct CliLogin {
33 pub machine: String,
34 pub code: String,
35 pub created_at: Timestamp,
36 pub expires_at: Timestamp,
37 pub approved: bool,
40}
41
42#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
44pub struct CollectCliLogin {
45 pub collect_token: String,
46}