Skip to content
Clone

refactor(issues): remove issue_tracked_time types (inlined)

zhenyi committed
parent fad22ea commit f4366dd Browse files

1 file changed

+0 −44

Deleted lib/issues/features/issue_tracked_time/types.rs
@@ -1,44 +0,0 @@
1use db::issue::tracked_time as tt_entity;
2use serde::{Deserialize, Serialize};
3use time::OffsetDateTime;
4use time::format_description::well_known::Rfc3339;
5use utoipa::{IntoParams, ToSchema};
6use uuid::Uuid;
7
8fn fmt_ts(ts: OffsetDateTime) -> String {
9 ts.format(&Rfc3339).unwrap_or_default()
10}
11
12#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
13pub struct TrackedTimeView {
14 pub id: Uuid,
15 pub issue_id: Uuid,
16 pub user_id: Uuid,
17 pub seconds: i64,
18 pub created_at: String,
19}
20
21impl From<tt_entity::Model> for TrackedTimeView {
22 fn from(m: tt_entity::Model) -> Self {
23 Self {
24 id: m.id,
25 issue_id: m.issue_id,
26 user_id: m.user_id,
27 seconds: m.seconds,
28 created_at: fmt_ts(m.created_at),
29 }
30 }
31}
32
33#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
34pub struct TrackedTimePage {
35 pub items: Vec<TrackedTimeView>,
36 pub total: i64,
37}
38
39#[derive(Debug, Clone, Serialize, Deserialize, ToSchema, IntoParams)]
40pub struct ListTrackedTimeQuery {
41 pub user_id: Option<Uuid>,
42 pub limit: Option<u64>,
43 pub offset: Option<u64>,
44}